Получаем абсолютные курсы из парных кросс-курсов валют

в 16:53, , рубрики: data mining, wolfram cloud, wolfram mathematica, Абсолютный курс валют, валюты, математика, финансы, финансы в IT

Получаем абсолютные курсы из парных кросс-курсов валют - 1

Проект: “Абсолютный курс валют”

Введение

О проекте

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

Зачем это...?

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

Методика получения абсолютных курсов

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

$EUR/USD=frac{EUR}{USD}=frac{EUR/ABS}{USD/ABS}$

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

$ln(EUR/USD)=ln(frac{EUR/ABS}{USD/ABS})=ln(EUR/ABS)-ln(USD/ABS)$

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

$ln(X_{abs})times M_{pr}=ln(X_{par})$

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

$ln(X_{par}) times M_{obr}=ln(X_{obr})$

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

$X_{abs}=e^{ln(X_{par}) times M_{obr}}$

Нужно просто логарифмировать парные курсы, умножать их на обратную матрицу и применять экспоненту.

О проблеме

Выше было описано как получать абсолютные курсы из парных. Это делается при помощи линейного преобразования логарифмированных парных курсов и возврата через экспоненту.
Прямое линейное преобразование от абсолютных курсов к парным производится при помощи прямой матрицы. Получить ее весьма просто. Она состоит из нулей, единиц и минус единиц (“0” — нет связи пары и валюты, “+1” — валюта в числителе пары, “-1” — валюта в знаменателе пары). Ниже можно будет ее увидеть.
Наибольшую проблему представляет получение обратной матрицы (точнее необходимо использовать псевдообратное преобразование). С ее помощью можно перейти от парных курсов к абсолютным. Но получение этой матрицы нетривиально вследствии вырожденности матрицы прямого преобразования.
В предыдущей статье дается описание одного метода получения такой матрицы. В статье “Детали перехода от парных (относительных) валютных курсов к абсолютным. Работа над ошибками” раскрывается метод получения абсолютных курсов. В эксперименте мы воспользовались приемом перехода к линейно-независимым компонентам. Таким образом удалось избавится от вырожденности в псевдообратном преобразовании.

Метод настоящего эксперимента

В этой работе предлагается другой метод ухода от вырожденности в матрице прямого преобразования. В настоящее время используются парные курсы которые предоставляет РБЦ. Там 88 пар валют для экспорта. Для них существует следующая матрица прямого преобразования .

Получаем абсолютные курсы из парных кросс-курсов валют - 7

Белое в ней нули, синее -1 и красное это единицы. Но она вырожденная. Т.е. от нее не получится обратная матрица.
При проведении предыдущего эксперимента удалось заметить что диагонально подобная матрица имеет обратное преобразование. Соответственно было сделано предложение перейти к кросс-курсам и невырожденной матрице преобразования.
Весь расчет проводился в системе Wolfram Mathematica. Система позволяет получать кросс-курсы прямо внутри системы.

Детали эксперимента (малый пример)

Всего имеются 45 валют. Для наглядности сначала рассмотрим случай с малым количеством валют и валютных пар. Расчет доступен по ссылке в облаке Wolfram Cloud.

Список валют и валютных пар

Были отобраны следующие 10 валют: AUD, CAD, HKD, JPY, SEK, USD, CHF, EUR, CNY, CZK. Из них определили 9 валютных пар: AUD/CAD, CAD/HKD, HKD/JPY, JPY/SEK, SEK/USD, USD/CHF, CHF/EUR, EUR/CNY, CNY/CZK.

Матрица прямого преобразования

Матрица прямого преобразования имеет следующий вид.

Получаем абсолютные курсы из парных кросс-курсов валют - 8

Расцвеченный вариант выглядит так.

Получаем абсолютные курсы из парных кросс-курсов валют - 9

Размер матрицы — 10х9. Ранг матрицы — 9. Матрица невырожденная. Можно свободно искать обратную к ней.

Матрица обратного преобразования от парных курсов к абсолютным

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

Получаем абсолютные курсы из парных кросс-курсов валют - 10

В расцвеченном виде так.

Получаем абсолютные курсы из парных кросс-курсов валют - 11

Размер обратной матрицы — 9х10.

Проверка обратной матрицы

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

Получаем абсолютные курсы из парных кросс-курсов валют - 12

И в расцвеченном виде.

Получаем абсолютные курсы из парных кросс-курсов валют - 13

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

Проверка на реальных курсах

Теперь посмотрим результаты на реальных данных. Возьмем реальные котировки парных валютных кросс-курсов и рассчитаем для них абсолютные курсы.
Были взяты ежедневные кросс-курсы за 30 дней с 28.03.2019 по 27.04.2019.

Курсы валютных пар.

Вот матрица парных валютных курсов. Это столбцы парных валютных курсов для следующих пар AUD/CAD, CAD/HKD, HKD/JPY, JPY/SEK, SEK/USD, USD/CHF, CHF/EUR, EUR/CNY, CNY/CZK.

Получаем абсолютные курсы из парных кросс-курсов валют - 14

Вот график курса для одной из валютных пар.

Получаем абсолютные курсы из парных кросс-курсов валют - 15

Средние значения для парных курсов получились следующими.

Получаем абсолютные курсы из парных кросс-курсов валют - 16

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

Получаем абсолютные курсы из парных кросс-курсов валют - 17

Как можно видеть стандартные отклонения для каждой валютной пары находятся в пределах 0, 2% — 0, 9% от средних значений парных курсов .

Абсолютные курсы

Теперь вычисляем для парных абсолютные курсы (методика описана в разделе Методика получения абсолютных курсов). После вычислений получаем следующие ряды данных.
Это столбцы абсолютных курсов для следующих валют AUD, CAD, HKD, JPY, SEK, USD, CHF, EUR, CNY, CZK.

Получаем абсолютные курсы из парных кросс-курсов валют - 18

Приведем график абсолютного курса одной из валют.

Получаем абсолютные курсы из парных кросс-курсов валют - 19

Средние значения для абсолютных курсов следующие.

Получаем абсолютные курсы из парных кросс-курсов валют - 20

Оценим вариативность абсолютных валютных курсов.

Получаем абсолютные курсы из парных кросс-курсов валют - 21

Стандартные отклонения для абсолютных курсов каждой валюты находятся в пределах 0, 2% — 0, 7% от средних значений абсолютных курсов. И это согласуется с данными для валютных пар.

Результаты на всех валютах

Теперь рассмотрим результаты на всех имеющихся валютах. Исходник расчета доступен по ссылке.

Список валют и валютных пар

Полный перечень содержит следующие 45 валют: AUD, CAD, HKD, JPY, SEK, USD, CHF, EUR, CNY, CZK, GBP, ILS, NOK, NZD, RUB, SGD, ZAR, AED, ARS, BRL, CLP, COP, DKK, EGP, HUF, IDR, INR, ISK, KRW, KWD, KZT, MXN, MYR, PEN, PHP, PKR, PLN, QAR, RON, SAR, THB, TRY, TWD, UAH, VND. Для них выбраны следующие 44 валютные пары: AUD/CAD, CAD/HKD, HKD/JPY, JPY/SEK, SEK/USD, USD/CHF, CHF/EUR, EUR/CNY, CNY/CZK, CZK/GBP, GBP/ILS, ILS/NOK, NOK/NZD, NZD/RUB, RUB/SGD, SGD/ZAR, ZAR/AED, AED/ARS, ARS/BRL, BRL/CLP, CLP/COP, COP/DKK, DKK/EGP, EGP/HUF, HUF/IDR, IDR/INR, INR/ISK, ISK/KRW, KRW/KWD, KWD/KZT, KZT/MXN, MXN/MYR, MYR/PEN, PEN/PHP, PHP/PKR, PKR/PLN, PLN/QAR, QAR/RON, RON/SAR, SAR/THB, THB/TRY, TRY/TWD, TWD/UAH, UAH/VND.

Матрица прямого преобразования

Получили матрицу прямого преобразования размером 45 на 44. Ранг у нее равен 44.

Получаем абсолютные курсы из парных кросс-курсов валют - 22

Матрица обратного преобразования

Обратная матрица получилась в результате применения обратно псевдопреобразования. Размер матрицы 44 на 45.

Получаем абсолютные курсы из парных кросс-курсов валют - 23

Проверка обратной матрицы

После умножения обратной матрицы на прямую получили единичную матрицу.

Получаем абсолютные курсы из парных кросс-курсов валют - 24

Проверка на реальных курсах

Подгрузили 44 парных валютных кросс-курса. Пример одного приводим на следующем графике.

Получаем абсолютные курсы из парных кросс-курсов валют - 25

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

AUD/CAD 0.951638
CAD/HKD 5.8662
HKD/JPY 14.2202
JPY/SEK 0.0834375
SEK/USD 0.107433
USD/CHF 1.00544
CHF/EUR 0.885125
EUR/CNY 7.54636
CNY/CZK 3.40522
CZK/GBP 0.0335481
GBP/ILS 4.69022
ILS/NOK 2.38106
NOK/NZD 0.173451
NZD/RUB 43.5338
RUB/SGD 0.0209621
SGD/ZAR 10.4641
ZAR/AED 0.259015
AED/ARS 11.7136
ARS/BRL 0.0907021
BRL/CLP 171.256
CLP/COP 4.72058
COP/DKK 0.00210715
DKK/EGP 2.60095
EGP/HUF 16.5291
HUF/IDR 49.5307
IDR/INR 0.00490364
INR/ISK 1.73912
ISK/KRW 9.44975
KRW/KWD 0.000266945
KWD/KZT 1248.05
KZT/MXN 0.050062
MXN/MYR 0.216251
MYR/PEN 0.803967
PEN/PHP 15.7631
PHP/PKR 2.71475
PKR/PLN 0.0269842
PLN/QAR 0.954411
QAR/RON 1.16298
RON/SAR 0.885697
SAR/THB 8.48908
THB/TRY 0.179564
TRY/TWD 5.39876
TWD/UAH 0.871089
UAH/VND 863.675

Для каждой валютной пары смотрим вариативность как и в эксперименте выше.

Получаем абсолютные курсы из парных кросс-курсов валют - 26

Стандартное отклонение для всех валютных пар находится в пределах от 0,2% до 2,5% от среднего значения.
После пересчета получаем абсолютные курсы. Вот график абсолютного курса одной из валют.

Получаем абсолютные курсы из парных кросс-курсов валют - 27

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

AUD 12.4626
CAD 13.096
HKD 2.23247
JPY 0.156996
SEK 1.88165
USD 17.5149
CHF 17.4213
EUR 19.6824
CNY 2.60821
CZK 0.765955
GBP 22.832
ILS 4.86814
NOK 2.04455
NZD 11.7884
RUB 0.270822
SGD 12.9197
ZAR 1.23485
AED 4.76765
ARS 0.407218
BRL 4.49018
CLP 0.0262207
COP 0.0055548
DKK 2.63619
EGP 1.01359
HUF 0.0613224
IDR 0.00123809
INR 0.25249
ISK 0.145194
KRW 0.0153652
KWD 57.5605
KZT 0.0461203
MXN 0.921362
MYR 4.26106
PEN 5.30007
PHP 0.336241
PKR 0.123862
PLN 4.59025
QAR 4.8096
RON 4.1356
SAR 4.66938
THB 0.550046
TRY 3.06473
TWD 0.567676
UAH 0.651731
VND 0.000754602

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

Получаем абсолютные курсы из парных кросс-курсов валют - 28

Стандартное отклонение всех абсолютных курсов находится в пределах от 0,2% до 2,5% от среднего значения. Что согласуется с данными валютных пар.

Выводы

Эксперимент с получением абсолютных курсов из парных кросс-курсов удался. Получен новый метод расчета абсолютных курсов. Метод работает и легко применим. Для дальнейших исследований достаточно легко получать абсолютные курсы.
Точность метода ограничена лишь точностью выдаваемых кросс-курсов.
К сожалению открытых источников кросс-курсов обнаружить в сети не получается. И соответственно не получится этот метод применить на сайте. Но при первичном сравнении абсолютных курсов с сайта и полученных в настоящем эксперименте различия были выявлены лишь в четвертом знаке после запятой. Детальное сравнение проведем в следующих работах.
Последнюю версию настоящей статьи в PDF формате можно скачать по ссылке.

Енин А.В.
Оренбург.
02.05.2019

Автор: Алексей Енин

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js