Для начала давайте сначала рассмотрим что такое парный валютный курс. Допустим мы имеем дело с валютной парой EURUSD.

EURUSD=1,3

Парный курс выражает число долларов которые нужно отдать за один Евро. Т.е. если значение парного курса равно 1,3, то за один Евро необходимо отдавать 1,3 доллара.

EUR = 1,3 * USD

Значит парный валютный курс выражает отношение ценности одной валюты к другой.

парный\ валютный\ курс = \dfrac{ценность\ валюты_1}{ценность\ валюты_2}

Т.е. в нашем случае это выглядит так:

EURUSD=\dfrac{EUR}{USD}=1,3

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

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

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

\begin{align*}   \left\{     \begin{array}{rcl}       \dfrac{EUR}{USD}=EURUSD \\       \dfrac{USD}{CHF}=USDCHF \\       \vdots \\       \dfrac{USD}{RUB}=USDRUB \\     \end{array}   \right. \end{align*}

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

\begin{align*}   \left\{     \begin{array}{rcl}       ln(EUR) - ln(USD) = ln(EURUSD) \\       ln(USD) - ln(CHF) = ln(USDCHF) \\       \vdots \\       ln(USD) - ln(RUB) = ln(USDRUB) \\     \end{array}   \right. \end{align*}

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

\begin{align*}   \left\{     \begin{array}{rcl}       ln(EUR) = ln\_eur \\       ln(USD) = ln\_usd \\       ln(CHF) = ln\_chf \\       \vdots \\       ln(RUB) = ln\_rub \\     \end{array}   \right. \end{align*}

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

\begin{align*}   \left\{     \begin{array}{rcl}       EUR = exp(ln\_eur) \\       USD = exp(ln\_usd) \\       CHF = exp(ln\_chf) \\       \vdots \\       RUB = exp(ln\_rub) \\     \end{array}   \right. \end{align*}

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

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

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

Пиктограмма для синтетической валюты ABS
Пиктограмма для синтетической валюты ABS

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

Последние абсолютные валютные курсы
Последние абсолютные валютные курсы

На конец мая 2024 года один доллар равен 22.32 ABS, один евро равен 24.21 ABS, а один рубль равен 0.25 ABS. Полный список последних абсолютных курсов доступен по ссылке.

Оптимизированные валютные портфели

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

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

Доли валют в оптимизированных портфелях
Доли валют в оптимизированных портфелях

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

Статистики оптимизированных портфелей
Статистики оптимизированных портфелей

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

Графики истории оптимизированных портфелей
Графики истории оптимизированных портфелей

Изучив таблицы можно увидеть, что наилучший портфель рассчитанный на промежутке в три года включает в себя 21 валюту. Большую долю в портфеле составляют Сингапурский доллар (25%), Дирхам ОАЭ (11%), Саудовский риял (9%), Швейцарский франк (9%). Коэффициент Шарпа в годовом выражении составил 3,63. Годовая доходность составляет 5,67%. Годовая волатильность портфеля 1,52%. При этом коэффициент Шарпа для оптимального портфеля выше чем лучший в рейтинге валют, а волатильность портфеля лучше чем в рейтинге волатильности валют.

Заключение

В проекте из более чем 80-ти парных валютных курсов рассчитываются абсолютные валютные курсы для 45 мировых валют торгуемых на рынке FOREX. Вся историческая информация по валютным парам получается с помощью API сервиса Alpha Vantage. Весь расчет в автоматическом режиме ежедневно происходит в тетради на Kaggle. Все данные сохраняются в электронной многостраничной книге Google Speadsheet. Затем эти данные используются для отображения пользователю в виде таблиц и графиков на сайте и в блоге.

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

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

Комментарии (14)


  1. Cregennan
    02.06.2024 12:32
    +5

    Нет волшебной фразы "Не является инвестиционной рекомендацией")


  1. materiatura
    02.06.2024 12:32
    +4

    Значит парный валютный курс выражает отношение ценности одной валюты к другой.

    Голос с галёрки: Не значит. У валюты нет никакой "ценности", она сама - ценность. Соответственно валютный курс выражает отношение одной валюты к другой. И фсё.


  1. vadimr
    02.06.2024 12:32

    Ничего не понятно. По какому критерию оптимизируем?

    Кроме того, курс покупки отличается от курса продажи.


    1. eavprog Автор
      02.06.2024 12:32

      Оптимизация по коэффициенту Шарпа


      1. vadimr
        02.06.2024 12:32

        А зачем такая оптимизация нужна?Обычно критерий оптимизации задаётся в виде каких-то важных для пользователя величин, а не условного коэффициента.


  1. sunnybear
    02.06.2024 12:32

    Самое непонятное во всем: если у нас есть валюта, которая имеет максимум коэффициента, то наилучший портфель будет состоять на 100% из неё. Зачем тогда несколько валют в портфеле, если их набор будет точно не самым оптимальным.


    1. eavprog Автор
      02.06.2024 12:32

      С счастью еще в середине прошлого века было доказано обратное. Марковиц за это получил Нобелевскую премию.


      1. sunnybear
        02.06.2024 12:32

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


  1. PereslavlFoto
    02.06.2024 12:32

    Дорогой автор!

    Мы живём в России. Здесь правительство запретило класть валюту на счёт и запретило снимать валюту со счёта. Правительства соседних стран запретили туристам ввозить валюту в Россию. Как собрать правильный валютный портфель при таких условиях?

    Спасибо.


    1. czz
      02.06.2024 12:32

      Открыть счет в interactive brokers.

      Ну и не все читатели Хабра живут в России.


      1. PereslavlFoto
        02.06.2024 12:32
        +1

        То есть получать наличную валюту через Interactive Brockers?


        1. czz
          02.06.2024 12:32

          Зачем вам наличная валюта?


          1. PereslavlFoto
            02.06.2024 12:32
            +1

            Чтобы собрать валютный портфель.


            1. czz
              02.06.2024 12:32

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