Содержание
1. Метод развертки вслепую. Основные понятия и построение модели для простейшего случая
.1 Метод слепого разделения источников. Вывод алгоритма обучения для метода максимальной энтропии
.2 Описание среды реализации применительно к модели
.3 Выявление изменяемых параметров в модели
. Подгонка параметров модели
.1 Целевая функция
.2 Подбор независимых компонент
.3 Подбор функции нелинейности
.4 Настройка процесса обучения
. Распространение модели на все данные и анализ результатов, последние корректировки
.1 Сравнение доходности стратегии для валютных пар
.2 Адаптация алгоритма под реалии рынка
.3 Проверка гипотезы об изменении характера ценового сигнала после мирового финансового кризиса
Заключение
Список
литературы
Введение
Прогнозирование валютного рынка является одной из наиболее распространенных исследовательских задач в финансовой сфере. Данная работа посвящена прогнозированию валютных курсов с помощью метода обратной свертки вслепую. Таким образом, объектом исследования служит сам валютный рынок и колебания курсов. Предметом исследования, в свою очередь, является выявление закономерностей на валютном рынке с помощью метода обратной свертки вслепую для получения возможности прогнозировать направление изменения валютных курсов.
Целью данной работы являются построение модели прогнозирования валютных курсов EUR/USD, GBP/USD и USD/RUB, оценка ее эффективности на различных временных отрезках и для разных валютных рынках. В качестве исследовательской гипотезы используется предположение о том, что на более развитых валютных рынках с большими объемами торговли модель должна показать лучшие результаты, более того, вероятно, на работе модели скажется мировой финансовый кризис 2008 года.
Для данного исследование один из важнейших аспектов являются методы, которые будут применяться для построения модели. Метод обратной свертки (развертки) вслепую, реализованный с помощью метода максимальной энтропии был предложен в работе. Более привычная сфера применения для подобных методов это обработка и разделение звуковых сигналов, в данной работе входными данными будут являться сигналы финансового рынка. Более того, данная работа подразумевает использование эконометрических тестов и построение множественной регрессии.
Актуальность исследования состоит в том, что в ней комбинируется объект прогнозирования в виде валютного рынка с методом обратной свертки вслепую, для того, чтобы проверить, насколько эффективно данный метод может справиться с поставленной задачей. С одной стороны, прогнозирование валютного курса является сугубо практической задачей, а с другой стороны, как это будет ясно из данного исследования, оно позволяет выделить значимые экономические события, такие как финансовые кризисы.
В работе также будут использованы эконометрические методы для оценки некоторых гипотез, важных для исследования.
Все исследование можно разделить на ряд задач, которые будут выполнены к концу работы:
.Описать теоретические основы модели обратной свертки вслепую, для того, чтобы получить возможность применить данный метод для валютных курсов.
. Далее необходимо адаптировать существующую стандартную модель к цели данного исследования.
. Построить модель для реальных данных и найти для нее пути улучшения, путем изменения некоторых параметров модели.
. Рассмотреть изменение качества прогнозирования при изменении параметров.
. Определить целевые параметры модели для оценки ее эффективности.
. Проверить гипотезу, поставленную в начале работы о том, что данная модель может вести себя по-разному на различных выборках. После чего, вероятно, еще раз изменить параметры модели.
. Суммировать полученные знания для того, чтобы выявить возможные закономерности в моделировании.
Работа включает в себя 3-ей главы. Первая посвящена теоретическим аспектам моделирования, в ней раскрывается понятие обратной свертки вслепую, главные преимущества данного метода и простейший способ его реализации. Глава 2 касается подбора параметров модели для прогнозирования валютных курсов, она описывает наиболее занимательные аспекты прогнозирования. В Главе 3 модель тестируется на нескольких временных рядах для того, чтобы определить, как ведет себя модель на различных данных. Заключение содержит основные выводы данного исследования.
Для построения модели были использованы
математический пакет Mathcad 15, язык программирования R и среда
программирования Rstudio.
1. Метод развертки вслепую. Основные
понятия и построение модели для простейшего случая
Метод обратной свертки вслепую применяется во
многих сферах (акустика, распознавание изображений, финансы и медицина). Они имеет
свои преимущества и недостатки. Данный метод основывается на задаче слепого
разделения источников, он позволяет, не зная исходного сигнала, а имея данные
только о выходном, различить в выходном сигнале несколько независимых исходных
так, чтобы потом использовать их в дальнейшем прогнозировании. Метод слепого
разделения источников имеет свои особенности, так, получая на выходе
независимые сигналы, нельзя понять, какова их природа и как они формируются.
Это затрудняет их дальнейшее использование для построения прогноза. А с другой
стороны, данный метод не требует налагать ограничения на входные данные для
модели, более того он позволяет строить прогноз, имея данные только об одном
временном ряде.
1.1 Метод слепого разделения
источников. Вывод алгоритма обучения для метода максимальной энтропии
Реализация слепого разделения источников с
помощью метода максимальной энтропии была впервые предложена в работе А. Белла,
Т. Сейновски. Ее можно проиллюстрироват
X - вектор наблюдений (x - элементы вектора X);-
вектор исходных сигналов (u - элементы вектора U);- матрица преобразующая
неизвестные исходные сигналы в вектор наблюдений X;- выходной вектор, оценка
вектора (y - элементы вектора Y);- разделитель, матрица, с помощью которой их
вектора наблюдений X получается выходной вектор Y;- нелинейное преобразование,
который преобразует вектор Y в вектор Z;- вектор, который используется для
максимизации энтропии (я - элементы вектора Z).можно записать следующим
образом:
Отсюда:
, так как
Далее, учитывая свойства нелинейного
преобразования, можно записать вектор U:
- обратная нелинейность, которая преобразует
вектор Z в вектор Y:
Функция плотности вероятности вектора Z можно
выразить через параметры функции плотности вероятности входного вектора U таким
образом:
, где J(u) -
матрица Якоби.
Далее, учитывая вышеизложенное, можно записать
энтропию случайного вектора Z:
На основе вышестоящей формулы можно построить
целевую функцию для максимизации энтропии, а именно максимизировать делитель
под знаком логарифма. Целевая функция выглядит следующим образом:
, где
После дифференцирования Φ
по
матрице весов получается следующее выражение:
.
Для дальнейших преобразований необходимо выбрать
нелинейность G. Как один из наиболее простых вариантов используется
логистическая функция, которая удовлетворяет требованиям о монотонности и
обратимости:
.
После подстановки функции нелинейности в
производную Φ по W получается
следующее:
Целью обучения является максимизация энтропии,
так, по методу наискорейшего спуска, можно получить формулу для изменения
матрицы весов (и преобразовать ее, умножив на
):
Из данного выражения можно вывести алгоритм
обучения для поиска W:
Данный алгоритм будет использоваться для
дальнейших вычислений. В следующем разделе будет описано то, каким образом
может быть реализован этот алгоритм обучения на реальных данных.
1.2 Описание среды реализации
применительно к модели
В качестве цели исследования было поставлено построение модели для прогнозирования направления движения валютного курса. В качестве входных данных были выбраны приросты валютных курсов евро к доллару США(EUR/USD), фунта стерлингов к доллару США(GBP/USD) и доллара США к российскому рублю(USD/RUB). Для сокращения пояснений к построению модели в Главе 1 и Главе 2 будут использованы данные только для курса EUR/USD (для Глав 1 и 2 далее «курс» или «валютный курс»), а в Главе 3 будут показаны расчеты для других валютных пар, результаты будут приведены для сравнения.
Формула для обучения, полученная в конце предыдущего раздела, может быть использована для поиска матрицы весов W, с помощью которой, в свою очередь, из матрицы входных сигналов X можно найти необходимые независимые компоненты Y.
Алгоритм для нахождения разделенного сигнала, построенный в среде Mathcad, выглядит следующим образом:
развертка модель валюта обмен
Рисунок 2 - Алгоритм для нахождения
разделенного сигнала
Счетчик t в данном случае представляет собой номер временного периода. В исследовании используются почасовые курсовые котировки с 2001 г. по 2015 г. Другой параметр, который задается вне цикла, ζ - количество входных сигналов, которые будут преобразованы далее в независимые компоненты, другими словами, ζ - количество элементов в векторе X. Для данной задачи в качестве X используются данные о приросте курса за ζ предыдущих периодов. Эти данные копируются из вектора r, который хранит в себе данные за все имеющееся время наблюдений.
Данные о разделенных источниках записываются в векторы y<n>, где n отвечает за номер итерации в обучении.
После того, как заданы все
параметры, и выписан сам алгоритм обучения, при запуске этой части кода, когда
пройдет цикл со счетчиком n, матрица y<k> будет содержать данные о
разделенных источниках на k-ом шаге обучения, они дальше будут использованы для
построения торгового правила. В простейшем случае, можно построить торговое
правило на основе сравнения значения независимых компонент с приростом
валютного курса за предыдущий период. В таком случае можно получить следующий
результат (также необходимо было выбрать некие значения для переменных ζ,k,η и W0):
Рисунок 3 - Доходность для
простейшего случая
Красным цветом отмечена доходность от построенной стратегии (Ωt), а синим цветом, для сравнения, изображена доходность от пассивной стратегии (Ut), которая подразумевает покупку валюты в начале периода и ее продажу в конце периода. Нижняя ось, подписанная как t, показывает номер временного периода.
Как можно отметить из графика, построенная стратегия на конец периода имеет преимущество над пассивной стратегией, но все же в целом за период построенное правило не показало своей эффективности, так как требуется более точная настройка параметров модели, что будет описано в Главе 2.
В следующем разделе будут рассмотрены те
параметры данного алгоритма, которые потенциально могут улучшить качество
модели.
1.3 Выявление изменяемых параметров
в модели
Данный раздел определит направления дальнейших расчетов для лучшей подгонки модели. В разделе 1.1. была определена стандартна форма алгоритма для метода обратной свертки, тут будут выявлены пути для ее усложнения.
Для начала стоит отметить, что представленный
алгоритм не является единственным, например, в работе используется алгоритм, который
можно выразить следующей рекуррентной формулой:
.
Все обозначения совпадают с теми, что использовались в разделе 1.1.
Существование различных вариантов обучающих алгоритмов наводит на вопрос о том, есть ли смысл искать из них лучший для поставленной задачи, или же они имеют приблизительно одинаковые показатели эффективности. Для того, чтобы разрешить этот вопрос были построены 2 модели, различающиеся только тем, как происходит подгонка весов W.
Ниже приведен график, показывающий различие в
прогнозировании с помощью данного алгоритма и того, что был описан в разделе
1.1, при прочих равных параметрах:
Рисунок 4 - Сравнение алгоритмов
обучения
График функции Ω1 показывает доходность от стратегии, полученной на основе алгоритма из раздела 1.1, а график функции Ω1 - доходность от стратегии, полученной на основе алгоритма из данного раздела. График зеленого цвета показывает доходность от стратегии «купи и держи». Смотра на график, можно отметить, что существенных значений в качестве модели не наблюдается при изменении алгоритма обучения, поэтому в дальнейшем будет использоваться лишь первый из них, так как он проще в вычислительном плане, поскольку не требует нахождения обратной матрицы, и так алгоритм будет работать быстрее.
Определившись с тем, что изменение в алгоритме обучения не дают существенных различий в эффективности оценки модели, необходимо установить, какие параметры возможно менять для того, чтобы повысить качество предсказаний.
Логично разделить для анализа параметры, формирующие сам процесс разделения источников и те, с которыми необходимо работать вне его.
Что касается тех параметров, которые важны для самой модели развертки, то можно выделить следующие. Во-первых, необходимо определить количество независимых компонентов, на которые будет разделяться сигнал (в модели это параметр ζ), а также то, как в дальнейшем наилучшим образом использовать получившиеся разделенные сигналы. Во-вторых, в алгоритм обучения встроена некая функция нелинейности, которую можно изменить для получения лучших результатов. В-третьих, необходимо подобрать оптимальный параметр скорости обучения (обозначенный как η), потому что он значительно влияет на выходной результат. Этим ограничивается список параметров, определяющих сам процесс обучения, но существуют и иные вопросы, которые возникают в процессе построения модели.
Говоря о том, какие еще факторы важны для построения модели прогнозирования следует ответить, с одной стороны, то, что необходимо определить начальные значения для обучения. В работе Хайкена в качестве начальных значений матрицы весов W предлагается взять значения из равномерного распределения, но в таком случае при каждом новом построении будут генерироваться новые начальные значения, что будет влиять на качество подгонки, поэтому, чтобы не возникало подобных проблем, значения W0 зафиксированы.