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

Для начала давайте сначала рассмотрим что такое парный валютный курс. Допустим мы имеем дело с валютной парой 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 лет.

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

© Habrahabr.ru