С другой стороны, полученные разделенные сигналы имеют неизвестную природу, поэтому закономерно возникает вопрос о том, как использовать в дальнейшем эти выходные данные после слепого разделения источников. Более того, если начать использовать полученные компоненты для прогнозирования, то какие показатели выбрать в качестве целевого, чтобы подгонять параметры модели тоже не представляется очевидным.
Ответы на поставленные вопросы будут даны в
Главе 2.
2. Подгонка параметров модели
2.1 Целевая функция
Перед тем, как говорить о параметрах модели и их
подгонке необходимо определить цель, к которой стремиться во время
прогнозирования. В данном исследовании в таком качестве выступают две целевые
функции. Первая из их это доходность стратегии за определенный период, а вторая
- доля верно предсказанных направлений движения валютного курса. Заглядывая
вперед, стоит отметить, что вторая целевая функция показала себя лучше с точки
зрения подбора параметров.
2.2 Подбор независимых компонент
Первый вопрос, который необходимо решить, касательно независимых компонент для модели это то, сколько их необходимо для построения эффективного прогноза. Этот параметр (обозначался выше как ζ) можно подобрать лишь эмпирически, так, в дальнейшем речь будет идти о модели, где ζ=4. Это число было получено эмпирическим путем в ходе проведения исследования.
Следующий аспект, который стоит обсудить это то, использовать ли все компонента или же ограничиться только одним или несколькими из них. Для начала были испробованы алгоритмы, которые использовали в торговом правиле лишь одну компоненту, в целом ни один из параметров не выделился сравнительно бо́льшей эффективностью в дальнейшем прогнозировании, также было установлено, что эти независимые компоненты имеют приблизительно равный порядок величин.
Так было решено включить усложнение в алгоритм.
Теперь на каждом шаге происходило определение номера независимого фактора,
который на предыдущем временном отрезке максимизировал целевую функцию, и
независимый фактор с этим номером использовался в дальнейшем для
прогнозирования. Как было сказано ранее, целевая функция представляет собой
прибыль или процент угаданных направлений движения валютного курса. Для этого
усложнения введен новый параметр φ, отвечающий
за то, на каком временном отрезке считалась целевая функция. Ниже представлен
алгоритм, рассчитывающий независимые компоненты, но усложненный тем, что
введена целевая функция, и на каждом шале рассчитывается номер того компонента,
который показал максимальное значение этой целевой функции, в данном случае это
прибыль (все, уже встречающиеся, обозначения сохранены):
Для пояснения алгоритма необходимо описать те переменные, которые были введены только для этого алгоритма. Pri,j отвечает за приросты доходности за период с i-1 до i для алгоритма, использующего j-ый независимый фактор для прогнозирования. Profitj -прибыль от стратегии, использующей j-ую независимую компоненту разложения за предыдущие φ периодов. ut - реализованная доходность в период t. В переменную max записывается номер компонента, показавшего наилучший результат за предыдущий период. Для целевой функции в виде процента правильно предсказанных направлений движения курса алгоритм схож, поэтому он не приведен в данной работе.
Для сравнения различных подходов к определению
целевой функции был построен график, который отражает доходность от стратегий,
построенных на их основе:
Для данного графика Ω1 это доходность от стратегии, основывающейся на целевой функции, связанной с прибылью на предыдущем временном отрезке, а Ω2 - доходность от стратегии, которая максимизирует число верно предсказанных знаков изменения. И, как на прошлых графиках, Ut показывает доходность от пассивной стратегии.
Стоит отметить, что доходность от стратегии, в которой максимизируется число угаданных знаков, выше, следовательно, можно сделать вывод, что в данном случае этот показатель является более эффективным в рамках прогнозирования, и его следует выбрать в качестве целевого для дальнейших расчетов.
Возможен иной подход к тому, как использовать полученные независимые компоненты для прогнозирования. Альтернативным способом в данной работе будет построение регрессии на основе данных о значении независимых факторов и доходностей за предыдущие периоды, где доходности будут выступать в качестве зависимой переменной, а значения независимых компонентов будут независимыми переменными.
Перед тем, как проводить построение множественной регрессии необходимо посмотреть, возможно ли это сделать для существующих данных, а именно, были проверены на нормальность распределения данные о приростах валютного курса с помощью теста Шапиро-Уилка. Нулевая гипотеза для данного теста состоит в том, что «Анализируемая выборка из генеральной совокупности, имеющей нормальное распределение». Результат теста: p-value = 0.1742, следовательно, H0 не отвергается и можно считать, что приросты распределены нормально.
Для наглядности был построен график
Квантиль-Квантиль для распределения доходности, там оно сравнивается с
нормальным распределением.
Рисунок 7 - График Квантиль-Квантиль
Смотря на график, можно заметить, что распределения схожи (линия достаточно близка к прямой), и можно говорить о том, что эмпирическое распределение близко к нормальному, значит, на них можно построить множественную регрессию, коэффициенты которой будут пересчитываться для каждой точки наблюдения на основе предыдущих 200 наблюдений.
На графике для сравнения приведены результаты
моделей, основанной на построении регрессии по независимым компонентам(Ω1),
а
также модели на основе выбора номера независимого фактора на основе целевой
функции в виде доли правильно предсказанных движений валютного курса(Ω2),
которая
ранее уже была описана. Как можно увидеть из графика, стратегия, где
максимизировалось количество верно определенных направлений изменения валютного
курса, показывает лучший результат.
Рисунок
8 - Доходность стратегии на основе регрессии независимых факторов
Подводя итог данному разделу, необходимо отметить, что среди всех методов, которые были описаны выше, наибольшую эффективность показал алгоритм, опирающийся на целевую функцию, которая максимизирует количество правильно определенных знаков изменения валютного курса.
Подбор функции нелинейности
В данном разделе речь пойте о выборе функции нелинейности для алгоритма обучения. В рамках алгоритма проводится аналогия этой функции с функцией распределение, поэтому на нее накладываются следующие условия:
область значения [0;1];
монотонность.
Другим немаловажным ограничением является то, что функция должна быть обратима, это нужно для того, что бы максимальный объем информации переходил от неразделенных входных сигналов к выходным.
Поскольку выходные факторы имеют схожие значения
с теми, что идут на входе, поэтому логично предположить о том, что центры
распределений должны совпадать. Для этого можно сдвинуть график нелинейной
функции на значение, представляющее собой центр распределения. В данном случае
можно было взять медианное или среднее значение эмпирического распределения
доходности. Для текущей задачи разумнее взять именно медианное значение, так
как оно менее подвержено влиянию крайних, далеких от среднего, значений.
Расчетная медиана оказалась равной 0, это снимает необходимость изменять
нелинейность и облегчает задачу
Существует масса вариантов нелинейных функций,
удовлетворяющих условиям, заявленным выше, на графике ниже изображены графики
логистической функции и гиперболического тангенса, приведенного к нужной области
значений:
Применение иных форм нелинейности не привело к
значительному изменению в доходности от стратегии, поэтому была использована
нелинейность, выражающаяся логистической функцией.
2.4 Настройка процесса обучения
Этот раздел посвящен обсуждению процесса
обучения. Для алгоритма, использующегося в данной работе, применен метод
градиентного спуска. С одной стороны, данный метод позволяет продолжать процесс
обучения до тех пор, пока решение не будет настолько мало изменяться при
добавлении дополнительно итерации. Такой подход в данном случае не возможен,
так как при расчетах на определенном этапе возникают настолько большие числа,
что математически пакет Mathcad не в состоянии продолжить подгонку
коэффициентов модели.
Рисунок 10 - Увеличение количества
шагов обучения
Для того, чтобы понять, приближается ли алгоритм к какой-либо стационарной точке, был построен график доходностей стратегий, построенных на основе разделенных источников, полученных на 10-ом, 20-ом, 30-ом, 40-ом и 50-ом шаге обучения.
Как можно заметить из графика, то с увеличением числа шагов эффективность работы алгоритма увеличивается, более того, расстояние между графиками, отвечающими за бо́льшее число шагов, меньше, отсюда можно сделать вывод, что алгоритм все-таки стремится к стационарному решению. Для различных рядов данных максимальное количество итераций разнится, но для них всех можно реализовать 50-ую итерацию, она и применяется в дальнейшем.
Немаловажным фактором в процессе обучения, влияющим на результат, является параметр скорости обучения (η), он подбирался для каждой выборки отдельно эмпирическим путем. Данный параметр может быть зависим от порядкового номера итерации, но это усложнение не внесло заметных улучшений в рамках текущей задачи, поэтому не применяется.
Рассмотрев подробно те параметры, которые влияют
на результат инвестиционной стратегии, можно переходить к Главе 3, в которой
приводится сравнение построенных моделей для разных наборов данных.
3. Распространение модели на все данные
и анализ результатов, последние корректировки
Описав построение модели и то, как задаются ее
параметры, можно приступить к оценке ее эффективности на реальных данных. В
этой главе будут проанализированы графики доходности стратегий для разных
валютных пар. Таким образом, можно будет сделать вывод, для каких валют модель
работает лучше, а также понаблюдать, как меняется ее эффективность с течением
времени.
3.1 Сравнение доходности стратегии
для валютных пар
Для того чтобы сравнить работу модели на разных выборках данных, необходимо рассмотреть графики доходностей данных стратегий. Они представлены ниже. Красным цветом выделена стратегия, которая основана на методе обратной свертки вслепую, а синим - пассивная стратегия.
Для пар евро - доллар США и фунт стерлингов - доллар США использовались почасовые данные, а для валютной пары доллар США - Российский рубль - ежедневные за период с 2001 по 2015 гг.
В этом случае можно заметить, что характер
движения графика доходности меняется для каждого из представленных валютных
курсов в его середине, которая приходится на 2008 год для представленных рядов
данных. Логично предположить, что ценовой сигнал изменился и стал более
предсказуем для описанных в этом исследовании методов
Рисунок 11 - EUR
/USD доходность
Рисунок 12 - USD/RUB
доходность
Рисунок 13 - GBP/USD
доходность
Стоит отметить, что доходности стратегии выше всего для валютного курса GBP/USD, но это нельзя считать окончательным выводом о том, что на паре валют фунт стерлингов - доллар США алгоритм сработал лучше, так как он не учитывал присутствия разница между ценой покупки и продажи валюты. Поэтому необходимо учесть этот факт, так как подразумеваются достаточно частые сделки, и подобные небольшие изменения могут значительно повлиять на результат стратегии.
В разделе 3.2 будет описано то, как включить в
алгоритм то, что на самом деле сделки не заключаются по биржевым курсам, а
раздел 3.3 проверит гипотезу о том, действительно ли изменился характер
ценового сигнала после мирового финансового кризиса 2008 года.
3.2 Адаптация алгоритма под реалии
рынка
До этого момента в работе использовались данные о биржевых котировках валютного курса, по которым не совершаются сделки, поэтому, чтобы приблизить модель к реальности, необходимо каким-то образом это учитывать. Основываясь на данных о работе брокерских компаний, в среднем для курса евро к доллару США размер спреда составляет около 5×10-5, поэтому для расчета доходности стратегии была встроена эта величина. Таким образом, если, согласно торговой стратегии, изменялась позиция по валютной паре по сравнению с предыдущим периодом, то из полученной прибыли за эту сделку вычитался спред.
На графиках, построенных для каждого из валютных курсов, изображены: стратегия без учета спреда (Ω1), стратеги с учетом спреда(Ω2) и пассивная стратегия(U). Сразу заметно, что введение спреда значительно снизило доходность от стратегии.
Еще один стоящий внимания факт, что такая скорректированная
стратегия, также как и стратегия без учета спреда, меняет динамику примерно в
середине наблюдаемого периода, а именно в 2008 году, необходимо отметить, что
подобные эффекты наблюдаются для каждой валютной пары.
Рисунок 14 - Доходность EUR/USD
Более того, стоит обратить внимание на отличие
стратегии, построенной на основе данных о курсе российского рубля к доллару
США, он, даже без учета существования спреда показывает довольно плохие
результаты. Вероятно, что российский рубль, как объект прогнозирования, не
очень хорошо описывается данной моделью.
Рисунок 15 - Доходность GBP/USD
Рисунок 16 - Доходность USD/RUB
В следующем разделе будет показано, как повел бы себя алгоритм, если бы был запущен уже после кризиса, а также будет проверена гипотеза о том, что ценовой сигнал различен до и после мирового финансового кризиса.
Проверка гипотезы об изменении характера ценового сигнала после мирового финансового кризиса
Ценовой сигнал представляет собой временной ряд,
который, основываясь на предположении, изменяет свой характер в определенный
промежуток времени. Для проверки этого необходимо провести двухвыборочный
t-тест для сравнения двух выборок, одна из которых включает в себя данные до
2008 года, а другая - после. Он показал, что для каждой из выборок данные до и
после кризиса выбраны из разных генеральных совокупностей, то есть можно
говорить о том, что действительно произошло изменение характера ценового
сигнала.
Рисунок 17 - Доходность USD/RUB
после 2008 г.
После того, как была статистически проверено
изменение характера поведения валютных курсов, следует обратиться к тому, как
повела себя стратегия после 2008 года, так как, судя по предыдущим графикам,
отражающим доходности рассматриваемой стратегии, ее эффективность повышается
именно на второй части выборки. Ниже приведены графики доходности стратегии без
учета спреда, с учетом спреда и пассивной стратегии для периода с 2008 года.
Для удобства после графиков, в Таблице 1, приведены кумулятивные доходности на
конец периода для всех валютных пар.
Рисунок 18 - Доходность EUR/USD после 2008
г.
Рисунок 19 - Доходность GBP/USD после
2008 г.
Для валютных курсов EUR/USD и GBP/USD стратегия
с учетом спреда показывает, хоть и не на много, лучший результат, чем пассивная
стратегия, а для валютного курса доллара США к рублю наблюдается спад
доходности при введении спреда, а учитывая то, что для данной валютной пары он
обычно больше, чем для курса евро к доллару США, который использовался для всех
валютных пар для сохранения общности, можно говорить о том, что данный метод не
подходит для прогнозирования данного ряда данных.