Детали перехода от парных (относительных) валютных курсов к абсолютным. Работа над ошибками

    image


    Введение


    Настоящая статья описывает результаты эксперимента проведенного в рамках проекта “Абсолютный курс валют”. Протокол эксперимента можно увидеть перейдя по ссылке.


    Проект “Абсолютный курс валют” занимается анализом парных валютных курсов, выделением из них абсолютных валютных курсов и их анализом. В рамках проекта получена методика преобразования от парных курсов к абсолютным валютным курсам. Для этого определена абсолютная валюта ABS. Курсы всех имеющихся валют выражаются в отношении к ABS.


    Детальное описание технологии приводится в статье “От валютных пар к абсолютным курсам валют”.


    На сегодняшний день уже вышли несколько статей по применению метода абсолютных валютных курсов. Привожу две последние.


    В статье “Исследование связанности мировых валют через корреляцию абсолютных курсов” описывается одно из применений технологии абсолютных валютных курсов. Дается формальный метод вычисления связи между различными валютами.


    В статье “Портфельный метод Марковица применительно к валютному рынку” дается описывается недоступная ранее технология оптимизации валютного портфеля.
    В далее описывается методика преобразования от парных (относительных) валютных курсов к абсолютным. Приводятся числовые параметры преобразования и методика их вычисления.


    В файле-источнике ежедневно в автоматическом режиме подгружаются парные валютные курсы и из них вычисляются абсолютные.


    Матрица преобразования была получена в 2017 году. Вычислялась она на реальных парных валютных курсах путем минимизации ошибки отклонения восстановленных парных курсов из абсолютных. С тех пор не проводился анализ ошибки на современных данных.


    Описанные ниже неожиданные результаты проверки заставили разработать новую методику получения матрицы преобразования. Кроме того была обнаружена ошибка обработки импортируемых котировок.


    Теоретические основания


    Для получения абсолютных валютных курсов необходимо проделать следующее преобразование. Для начала парные курсы логарифмируем. Далее умножаем их на матрицу обратного преобразования. В конце обратно возвращаем из логарифмической шкалы применением экспоненты.


    Для дальнейшего перехода к парным курсам необходимо абсолютные курсы прологарифмировать. Затем умножить на матрицу прямого преобразования. Завершаем как и ранее применением экспоненты.


    Более детально технология описана в статье “От валютных пар к абсолютным курсам отдельных валют” (только в этой статье 2018 года дается транспонированное представление матриц преобразования в отличии от представления настоящей статьи).


    Прямая матрица легко определяется. Строки в ней соответствуют валютам, а столбцы валютным парам. Матрица сильно разрежена и состоит из нулей, единиц и минус единиц.


    image


    Нули говорят об отсутствии такой пары и валюты. Единица соответствует валюте в числителе пары. Минус единица обозначает валюту в знаменателе пары.


    Обратная матрица преобразования от пар к абсолютным курсам не определена. Ее необходимо вычислять. Наиболее очевидный метод — это минимизировать ошибку восстановления парных курсов. Что и было сделано для вычисления этой матрицы в 2017 году. Приводим графическое представление этой матрицы.


    image


    Проверка точности существующей модели


    Для действующей матрицы были получены абсолютные и восстановленные парные валютные курсы. Были обнаружены резкие отличия между исходными и восстановленными парными курсами.


    image


    Далее был произведен расчет ошибок восстановления для всех пар.


    image


    Ошибка считалась как среднее относительных отклонений взятых по модулю. Как можно видеть на диаграмме ошибки по многим парам почти в два раза больше самих значений.


    Конечно такой уровень ошибки не позволяет считать модель состоятельной и требует пересчета.


    Псевдообратная матрица от прямой


    Первое что мы попробуем — это посчитаем просто обратную матрицу для матрицы прямого преобразования. Ввиду того что матрица у нас неквадратная придется использовать псевдообратное преобразование. Результат имеет следующий.


    image


    Очень похоже на то что мы получили ранее используя для оптимизации реальные парные курсы валют.


    Рассчитаем абсолютные курсы. Затем восстановим из абсолютных парные курсы. Диаграмма ошибок получилась следующая.


    image


    Ошибки тоже получились большие как и в оценке выше. Эта модель тоже не может нас устроить.


    Расчет обратной матрицы через линейно независимые компоненты


    Если детально проанализировать матрицу прямого преобразования, то можно обнаружить, что она имеет вырожденный вид (ранг матрицы меньше чем число строк-валют). Другими словами в прямой матрице есть линейно зависимые строки. И потому получить приемлемую обратную матрицу нам не получится.


    Для выхода из сложившейся ситуации было предложено следующее решение. При переходе от абсолютных курсов к парным необходимо сначала переходить к линейно-независимым компонентам. И уже потом переходить к парам. Матрицы перехода от абсолютных курсов к компонентам и от компонент к парным курсам будут невырожденными и можно будет получить обратные матрицы.


    Для поиска линейно-независимых компонент необходимо к матрице прямого преобразования присоединить единичную матрицу парных курсов. Таким образом мы получим две матрицы перехода от абсолютных курсов к парным и присоединенную матрицу перехода от парных к парным.


    image


    Теперь будем производить стандартные преобразования к ступенчатому виду верхней части этой совмещенной матрицы (на самом деле стандартные средства математического пакета Wolfram Mathematica приводят дальше к диагональному виду). В результате удалось получить следующую преобразованную матрицу.


    image


    Теперь в столбцах этой матрицы имеем линейно-независимые компоненты. Причем мы можем к ним перейти как от абсолютных курсов (верхняя часть матрицы) так и от парных курсов (нижняя часть совмещенной преобразованной матрицы).


    Выделим эти матрицы перехода к линейно-независимым компонентам. Вот матрица перехода к компонентам от абсолютных курсов.


    image


    Вот матрица перехода от парных курсов к линейно-независимым компонентам.


    image


    Переход от абсолютов к компонентам происходит через рассчитанную выше матрицу. Обратное преобразование от компонент к абсолютам делаем через обратную матрицу. Ввиду того что она будет невырожденной можно получить хорошую обратную матрицу. Будем получать как псевдообратную. Вот ее вид.


    image


    Теперь можно получить полную матрицу обратного преобразования от пар к абсолютам. Для этого умножим матрицу преобразования от пар к компонентам на обратную матрицу преобразования от компонент к абсолютам. Вид она имеет такой.


    image


    Хотя подобное мы уже видели выше, но все же матрица другая. Исследуем результаты которые она дает. Рассчитаем абсолютные курсы, а из них уже восстановим парные. Ошибка восстановления получилась следующая.


    image


    На всех парах кроме двух практически нулевые ошибки. Выясняем что с этими парами.
    Оказывается в двух валютных парах неверные данные принимаются. Для jpy/hkd и jpy/sek данные идут лотами по 10000 и 100 шт. Необходимо исправить и заново проверить.


    После исправлений входных парных курсов (избавления от лотов) и повторных вычислений абсолютных и восстановленных парных курсов смотрим ошибку восстановления.


    image


    Получили ошибку в пределах 0.3%. Вполне приемлемый уровень ошибки.


    Вот пример графика абсолютного курса.


    image


    Вот пример исходного и восстановленного парных валютных курсов.


    image


    Раз уж пересчитали новую матрицу обратного преобразования снова приводим данные по последним абсолютным курсам всех участвующих валют.


    image


    Можно увидеть самую дорогую валюту. Это кувейтский динар стоимостью почти 47 абсов. Самая маленькая абсолютная стоимость у вьетнамского донга — 0.003 абса.


    Выводы


    В результате проведенных исследований выяснили, что существующий метод расчета абсолютных курсов дает существенную погрешность. Кроме того обнаружена ошибка в исходных данных.


    Обратную матрицу преобразования от пар к абсолютам удалось получить лишь используя метод преобразования к меньшему количеству линейно-независимых компонент с невырожденной матрицей преобразования.


    Метод получения обратной матрицы преобразования не использовал данные парных курсов. И потому от них независим.


    Проверка преобразования на реальных курсах показала низкий уровень ошибки. Из чего был сделан вывод о применимости найденной матрицы обратного преобразования от парных валютных курсов к абсолютным.


    Метод не претендует на статус законченного и математически выверенного, но как приемлемое решение будет применяется для дальнейших исследований свой абсолютных валютных курсов.

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 38

      +7
      Тысяча объяснений «как», но ни одного слова про то, «что» и «зачем».
        0
        Боюсь вам придется потерпеть мой низкий уровень квалификации в оформлении результатов научных изысканий. Но надеюсь с вашей помощью я быстро поднаторею.

        В начале статьи есть ссылки на две предыдущие работы. В них дается описание двух применений технологии абсолютных курсов «исследование связанности мировых рынков...» и «формирование валютного портфеля».

        Дальнейшие применения этой технологии ищу и пробую. Думаю вы мне еще подскажете.
          0
          У вас ссылка на googledrive, а не на работу. Просто опубликуйте краткое описание. Желательно ещё, с объяснением, почему именно ваше определение наиболее подходящее.
            0
            Спасибо за подсказку. Ссылки действительно были битые. Поправил. Теперь должно работать.
              0
              Касательно краткого описания согласен. Но это уже в следующих работах.

              По поводу наиболее подходящего пока ответа нет. Предполагаю, что найденное решение должно давать наиболее стабильное основание. Предполагаю что значительно стабильнее чем любой финансовый инструмент. Но с доказательством такового пока еще далеко.

              Возможно подсказки направления куда копать подскажут здесь. На это я тоже надеюсь.
          –2
          А где же доказательство Великой Теоремы Ферма (ВТФ)? :(
            +2
            Всех волнует не текущий точный курс — а точный будущий КУРС.
            Предикшен лёрнинг, те предсказание будущих данных — сложная тема.
            Но раскрою немного инсайда.
            И да, PI = 1

            image

            image

              0
              Смысл тут может быть: сильное отклонение от абса какой-нибудь валюты говорит о том, что ее стоит покупать или продавать. А изменения произошли в силу какого-то политического события (или иного события), которое рано или поздно устаканится, а валюта откатится к абсу. Но на этом можно сыграть. Мне так видится.
                0
                Речь про арбитраж или что-то другое?
                  0
                  Косвенно, да. Извлечение прибыли из разницы в ценах. А Abs — как индикатор (вроде перекупленности или перепроданности).
                  0
                  Именно это хотел месяц назад проверять. Даже название придумал «Использование дисбаланса абсолютных курсов для принятия решения...». Только столкнулся с проблемой резких отличий между исходными парными курсами и восстановленными. Пришлось заново пересмотреть технологию получения матрицы преобразования от парных курсов к абсолютным.

                  Теперь можно задуматься о проверке дисбаланса в абсолютных курсах. Возможно это даст сигналы.

                  Только меня смущает получившаяся ошибка. Она малая на последних парах и больше в начале ряда пар. Это следствие перехода к линейно-независимым компонентам. Наверное придется делать что-то на подобие разворота главных компонент. Тогда есть шанс что ошибка распределится по всем парам и модель абсолютных курсов действительно примет центральное место.
                    0
                    Удачи Вам в поиске священного грааля! Единственное, события (как в нашей стране — политического характера) могут затянуться на длительный срок под давлением других политических сил. Можно не дождаться отмены действия сигнала. Эти сигналы будут носить характер лонгов. Есть смысл скрещивать с другими сигналами всяких там скользящих средних, пересечений и т.п.
                      0
                      Спасибо. Только я не делал эту теорию исключительно для российского рынка. Детального анализа абсолютных курсов тоже пока не делал. Все впереди.
                  –2
                  Зачем это здесь?
                    0
                    Для этого определена абсолютная валюта ABS. Курсы всех имеющихся валют выражаются в отношении к ABS.

                    Так это не абсолютный курс, а относительный относительно случайного тугрика (ABS).


                    В статье “Портфельный метод Марковица применительно к валютному рынку” дается описывается недоступная ранее технология оптимизации валютного портфеля.

                    Это чем она недоступная, если портфельная теория Марковица к валютным портфелям напрямую применяется без каких-либо проблем?

                      0
                      Попробуйте применить теорию Марковица к парным валютным курсам. Допустим у вас есть история парных валютных курсов usd_jpy, jpy_chf, eur_usd, usd_rub. Соответственно имеем ряд валют в нашем портфеле: usd, jpy, chf, eur, rub.

                      Внимание вопрос!!! Сколько единиц каждой валюты нужно приобрести чтобы через месяц быть в плюсе (разрешается применить теорию портфельного инвестирования Марковица)?

                      ================================

                      В сети можно найти пример применения теории Марковица к валютному портфелю. Но есть одно «НО». Все парные валютные курсы в знаменателе имели одну валюту — доллар. Т.е. курсы всех валют были выражены через доллар. Но кто вам сказал о стабильности самого доллара? Если посмотреть на абсолютный курс доллара, то можно видеть как он пляшет.

                      Кстати, именно невозможность применения теории Марковица несколько лет назад заставила меня придумывать этот метод перехода к абсолютным курсам.
                        0
                        Допустим у вас есть история парных валютных курсов usd_jpy, jpy_chf, eur_usd, usd_rub

                        Можно все пересчитать по кросскурсам и привести к виду x\usd.


                        Но кто вам сказал о стабильности самого доллара?

                        А зачем ему быть стабильным? Это для портфельной теории не требуется. Кроме того — вы, например, стоимость акций в портфеле в долларах меряете и никаких проблем не возникает.


                        И, к слову, чем ABS более стабилен чем USD?

                          0
                          Пока у меня нет доказательства этого утверждения. Формальное доказательство в планах. Но изначально искалось общее стабильное основание. Предполагалось что это основание будет значительно стабильнее чем любая из имеющихся валют.
                            0
                            Кстати, есть еще одно применение этой теории. Пока еще описывал, обязательно сделаю.

                            Теория Марковица позволит вам распределить средства в различных неденежных финансовых инструментах (акции, облигации, товары и т.д.), но она не подскажет когда вывести средства в деньги.

                            А теперь представьте что портфель — это ряд указанных выше неденежных финансовых инструментов и присоединенных к ним валют. В этом случае выразив все через абсолютные курсы есть возможность получать и такую рекомендацию (когда выводить средства в валюту).
                              0

                              Чем "деньги" отличаются от других "средств" непонятно.

                                0
                                Ликвидностью, если мне память не изменяет.
                                  0

                                  Это не единственное свойство денег. Акции тоже ликвидны.

                        0
                        а теперь преобразуем эту матрицу с помощью другой матрицы чтобы можно было преобразовать полученную матрицу с помощью вот этой матрицы.
                        простите, не удержался.
                          0
                          Уже писал выше. Придется вам потерпеть пока подросту.
                          0
                          Тема всемирного заговора и Ящеров не раскрыта.
                          ЗЫ — это из той же серии что и мысли о существовании некой «единой валюты»…
                            0
                            Очень уж хотелось найти универсальное единое основание. Оказалось что оно существует. И через него можно выразить стоимости всего…
                              0

                              Вот только вьетнамский донг на такой основание точно не тянет.

                            +1

                            Настораживает вид матрицы перехода от курсов к компонентам. Выглядит так, как будто вы просто приравняли ABS=VND, и теперь оцениваете мировую экономику во вьетнамских донгах. Тоже интересное исследование, но пафосного названия "абсолютный курс" такой подход не заслуживает.

                              –1
                              Согласен, что момент перехода к компонентам описал недостаточно четко.

                              После избавления от линейных зависимостей столбцах совмещенной матрицы в первых 44 столбцах остаются линейно-независимые компоненты.

                              В первых 45 строках содержится матрица перехода к компонентам от абсолютных курсов.

                              В оставшихся 88 строках находится матрица перехода перехода от парных курсов к этим же линейно-независимым компонентам.

                              Таким образом можно получить матричное уравнение:

                              X_abs * M_abs2comp = X_par * M_par2comp

                              Из него можно получить следующее решение:

                              X_abs = X_par * M_par2comp * (M_abs2comp^-1)

                              Именно это и позволяет нам получить матрицу преобразования от валютных пар к абсолютным курсам валют (конечно есть небольшая поправка — X_abs и X_par — это прологарифмированные исходные курсы).

                              Про «пафосность» согласен, но выбор такого наименования был не первым. Просто биржевого тикера «ABS» не обнаружил и решил быстрее застолбить его за этой синтетической валютой. Надеюсь приживется.
                                +1
                                После избавления от линейных зависимостей столбцах совмещенной матрицы в первых 44 столбцах остаются линейно-независимые компоненты...

                                … которыми у вас стали все валюты кроме VND, каждой валюте — своя компонента, а VND влияет на все курсы сразу. Причём "особой" валютой VND стала не из-за благодаря какому-то особо умному алгоритму, а просто потому что шла последней в списке. Ну нельзя же так делать!


                                По-хорошему, именно тут вы должны что-нибудь придумать, чтобы получить именно абсолютный курс, а не просто курс относительно вьетнамского донга. Например, потребовав минимальной средней корреляции между абсолютными курсами. Но тут МНК вас уже не спасёт...


                                По-простому, вы можете выбрать в качестве базовой валюты любую из мировых резервных (по возможности, SDR), и повторить расчёты исходя из этого.

                                  0
                                  Да. Я вижу эту особенность преобразования. Если посмотреть на ошибку восстановления, то можно видеть, что вначале ряда она значительно больше чем в конце. Это связано с особенностью устранения линейных зависимостей в столбцах совместной матрицы. Решение тоже есть. Нужно сделать что-то подобное развороту собственных векторов главных компонент.
                              0
                              Такое впечатление, что статьи стали появляться, которые обычно были в журналах ВАК. Интересно, научно, но для чего непонятно.
                                0
                                Боюсь на ВАК пока не потяну. Решил пока откатать на родном Хабре. Но если подскажете еще место для публикации такого материала буду благодарен.

                                Кстати еще публикую эти материалы на vc.ru. Только там аудитория менее подкованная чем здесь.
                                +1

                                Я полистал ваши статьи. Идея конечно интересная, но вы как-то слишком уж переусложнили расчеты. Вам не нужны логарифмы. Да и без матриц на самом деле можно обойтись.


                                Давайте обозначим V{x} ваш "абсолютный" курс валюты x. Тогда очевидно что V{ABS} = 1. А обычный курс любой пары валют можно записать как V{x}/V{y} = a{x}{y}. Например V{RUB}/V{USD} = 70.


                                Теперь для каждой валютной пары x-y можно записать уравнение V{x}/V{y} = a{x}{y}. Перепишем его по другому: V{x} — a{x}{y}V{y} = 0.


                                Если выписать эти уравнения для всех известных курсов, вы получите систему линейных уравнений относительно неизвестных V{}. Но решить вы ее не сможете потому что валютных пар сильно больше чем валют — уравнений больше чем неизвестных. Зато можно найти приближенное решение, например методом наименьших квадратов, достаточно сложить квадраты всех уравнений и минимизировать полученную функцию.


                                Таким образом вы получите нечто вроде абсолютного курса для каждой валюты. Но что потом делать с этими цифрами? Ведь нет никакой гарантии что на следующий день абсолютный курс не поменяется. Вы получите какие-то новые решения, но где гарантия что V{ABS1} = V{ABS2}?


                                Впрочем, получившиеся данные все равно можно попробовать использовать для арбитража. Наверное можно посмотреть какая из компонент целевой функции (той что вам надо минимизировать) вносит наибольший вклад в ошибку.

                                  0
                                  В лоб тут МНК не поможет, ибо матрица-то если и не вырожденная, то точно очень нехорошая. Все равно одну из валют нужно принять за ABS, то есть постулировать единичный абсолютный курс. Но получается всё равно проще чем у автора.
                                    0
                                    Ну о вырожденности тут говорить не приходится, потому что количество уравнений сильно больше количества неизвестных, т.е. матрица будет прямоугольной, а СЛАУ — переопределенной.
                                      0
                                      Посмотрите на систему, она однородна, т.е. умножение всех абсолютных курсов на одну и ту же величину не меняет решения. В частности, все нули — всегда решение системы. Боюсь, именно нулевое решение системы МНК и найдет.
                                        0

                                        Да, вы абсолютно правы. Об очевидном решении я и не подумал. Вся эта затея с абсолютными курсом получается ещё более глупой, чем мне казалось вначале.

                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                Самое читаемое