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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Таблица 5.2, сравнение качества моделей на доходностях и на абсолютных величинах

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

После оценки качества моделей встал вопрос о составлении наиболее оптимальной торговой стратегии. Главный критерий успешности модели - это высокая прибыль, но не стоит забывать, что при одинаковой прибыли лучше та модель, которая имеет наименьший разброс, то есть, где меньше сделок и меньше возможная просадка. Были отдельно рассмотрены модели для торговли «вверх», то есть покупки валюты, и для торговли «вниз», то есть для ее продажи. Считается, что в любой момент мы располагаем достаточным капиталом для сделки как в одну, так и в другую сторону, а прибыль от сделки совпадает с величиной доходности в данный период для сделок покупки и противоположна величине доходности для сделок продажи.

В работе приведены две базовых концепции, которые задают торговое правило. Первая из них заключается в том, чтобы заключать сделку каждый раз, когда предсказание доходности не равно нулю. Если предсказание положительно, то необходимо покупать валюту, а если отрицательно - продавать. Это торговое правило легко интерпретируемо и не требует дополнительных расчетов - можно сразу посчитать и изобразить полученную прибыль как для стратегии торговли «вверх», так и для стратегии торговли «вниз». Сначала посмотрим на результаты всех торговых стратегий при торговле «вверх». Стратегия «купи и держи» в данном случае интерпретируется так: в самом начале периода покупается и больше не продается до конца периода. Каждый раз баланс меняется на ту величину, какой была доходность в тот период. Важно подчеркнуть, что полученное значение не равно реальной доходности за весь период, так как каждый раз доходности складываются, а не перемножаются величины вида , где - доходность в -тый период, что является точным выражением для подсчета прибыли, но поскольку все доходности являются бесконечно малыми величинами, то и отличием финального результата можно пренебречь. Вот как выглядят накопленные доходности в данном случае:

График 5.1, результаты торговли "вверх" по предсказаниям четырех различных моделей без порогов

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

Теперь посмотрим на такой же график при торговле «вниз»:

График 5.2, результаты торговли "вниз" по предсказаниям четырех различных моделей без порогов

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

Таблица 5.3, сравнение суммарной прибыли при торговле по предсказаниям четырех различных моделей

Модель

Прибыль при

торговле вверх

Прибыль при

торговле вниз

Суммарная прибыль

Базовая модель

(абсолютные величины)

Модель с SSA

(абсолютные величины)

Базовая модель

(доходности)

Модель с SSA

(доходности)

Далее описан второй подход, придуманный мной -- он заключается в оптимизации некоторого параметра на одной части выборки и оценке результатов на другой части. Для начала введем определение максимальной просадки: пусть мы имеем ряд, где каждый член отображает нашу прибыль в каждый из периодов и, соответственно, либо положителен, либо отрицателен, в зависимости от того, угадали мы направление торгов или нет. Рассмотрим всевозможные периоды внутри этого ряда, то есть, всевозможные такие подпоследовательности , где , где -- длина всего рассматриваемого периода. Из всех таких периодов выберем тот, где суммарная прибыль минимальна. Модуль величины этой прибыли и будем называть максимальной просадкой. Поскольку необходимо каким-то образом оптимизировать как прибыль алгоритма, так и его стабильность, была введена величина «рациональность» [стратегии], которая равна отношению прибыли к максимальной просадке в течение всего периода торгов. Дробь прямо пропорциональна суммарной прибыли -- это соответствует здравому смыслу. Обратная пропорциональность просадке объясняется так: чем больше величина возможной просадки, тем меньшим количеством денег, меньшей частью от начального капитала мы можем рисковать, совершая сделки. Теперь торговое правило составлено так, что не нужно совершать сделку каждый раз, когда предсказанное число не равно нулю: для торговли «вверх» есть определенный порог - положительное число, смысл которого в следующем: если модель предсказала прибыльность выше этого порога, значит она достаточно уверена в том, что доходность будет положительная, и можно совершать сделку. Если же значение положительно, но ниже порога, то оставляем все как есть. Цель моего разбиения в том, чтоб на одной части подобрать порог, который максимизирует показатель рациональности, а на второй посмотреть на получившуюся прибыль. Весь период был разбит на две равных части - по 1000 точек в каждой. Затем составлен список различных порогов от нуля до 0.0002 с шагом 10^-6. Перебором по порогам был выбран тот, при котором на данной выборке показатель рациональности наилучший. Затем на второй части выборки была симулирована торговая стратегия «вверх», при которой сделка заключается, если предсказание больше отобранного порога. Эта процедура была проделана для четырех вышеописанных моделей и получились следующие результаты:

График 5.3, результаты торговли "вверх" по предсказаниям четырех различных моделей с порогами

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

Вот что получается при аналогичном подборе порога для торговли «вниз» на первой части и торговли на второй:

График 5.4, результаты торговли "вниз" по предсказаниям четырех различных моделей с порогами

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

Таблица 5.4, сравнение рациональностей четырех различных торговых стратегий

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

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

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

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

Заключение

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

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

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

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

Список литературы

1.Aguiar-Conraria L., Soares M. J. Oil and the macroeconomy: using wavelets to analyze old issues //Empirical Economics. - 2011. - Т. 40. - №. 3. - С. 645-655

2.He K. et al. Multivariate EMD-based modeling and forecasting of crude oil price //Sustainability. - 2016. - Т. 8. - №. 4. - С. 387.

3.Golyandina N., Nekrutkin V., Zhigljavsky A. A. Analysis of time series structure: SSA and related techniques. - CRC press, 2001.

4.Gantmakher F. R. The theory of matrices. - American Mathematical Soc., 1959. - Т. 131.

5.Claessen D., Groth A. A beginner's guide to SSA //CERES, Ecole Normale Supйrieure: Paris, France. - 2002.”

6.Hassani H. Singular spectrum analysis: methodology and comparison. - 2007.

7.Vitanov N. K., Sakai K., Dimitrova Z. I. SSA, PCA, TDPSC, ACFA: Useful combination of methods for analysis of short and nonstationary time series //Chaos, Solitons & Fractals. - 2008. - Т. 37. - №. 1. - С. 187-202.

8.Alexandrov T. A method of trend extraction using singular spectrum analysis //arXiv preprint arXiv:0804.3367. - 2008.

9.Garashchuk G. Forecasting Euro-Dollar Exchange Rate Using its Decomposition into Coupled Stochastic Flows //Modern Econometric Tools and Applications. - 2017. (unpublished)

10.Wang J., Li X. A combined neural network model for commodity price forecasting with SSA //Soft Computing. - 2018. - Т. 22. - №. 16. - С. 5323-5333.