Научная статья на тему 'Разработка торговой системы с использованием функций Уолша и модели марковских цепей'

Разработка торговой системы с использованием функций Уолша и модели марковских цепей Текст научной статьи по специальности «Экономика и бизнес»

CC BY
337
106
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАРКОВСКИЕ ЦЕПИ / ФУНКЦИЯ УОЛША

Аннотация научной статьи по экономике и бизнесу, автор научной работы — Бородин Д. В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка торговой системы с использованием функций Уолша и модели марковских цепей»

электронное научно-техническое издание

НАУКА и ОБРАЗОВАНИЕ

Эл N- ФС 77 - 30569. Государственная регистрация №0420900025. ISSN 1994-0408

Разработка торговой системы с использованием функций Уолша и модели марковских цепей

# 06, июнь 2010 автор: Бородин Д. В.

УДК.338.27

[email protected] МГТУ им. Н.Э. Баумана

Любая торговая система на фондовом рынке состоит из 3 основных функциональных блоков: 1) блок прогнозирования цен и выработки сигналов к открытию/закрытию позиции; 2) блок управления капиталом; 3) блок управления рисками (определение величин стоп-лимитов take-profit и stop-loss). Одной из основных практических задач трейдинга на рынке акций является прогнозирование цен. Оно используется для принятия решения об открытии и закрытии позиции и для количественной оценки ценовых рисков.

В работе [1] была предложена модель математической обработки временных рядов цен акций, а в работе [2] - модель прогнозирования цен и оценки

рисков акций, основанная на модели марковских цепей. В данной статье рассмотрим торговую систему на основе этих моделей.

Модель обработки временных рядов цен акций ([1]) основана на представлении временного ряда цен акций в виде восстановленного сигнала Уолша - набора уровней одинаковой длительности (рис.1). Это дает возможность избавиться от влияния рыночных шумов (случайных колебаний цен акций) и выделять состояния рынка на данном временном интервале [1].

Рис.1. Значения индекса ММВБ, очищенного от случайных колебаний (представление временного ряда значений индекса в виде уровней Уолша), за период 09.1998 - 01.2009; t - время, дн.

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

времени [2]. Результатом работы модели является набор значений прогнозируемой цены (рис. 2).

1200 ДН.

Рис.2. Прогнозная и реальная цены акций Боинга за период 09.1998 - 01.2002, к -порядковый номер уровня Уолша.

Исследования показали, что максимальная погрешность прогнозирования не превышает 20%; средняя погрешность прогнозирования сигнала за период равна ±(1...2)%; среднеквадратичное отклонение погрешности прогнозирования равно 10-14%. Для адекватной работы модели необходимо набирать 20-25 исторических уровней. Данный метод позволяет предсказывать движения рынка с вероятностью 70-80%, что при разумной методике управления капиталом даст возможность получать стабильную прибыль на рынке в долгосрочной перспективе.

Преимуществами модели является большая точность прогнозирования,

независимость от статистических характеристик распределения вероятностей цен

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

На предпоследнем этапе расчета прогнозируемого значения цены (см. [2]) вычисляется набор возможных значений цены с вероятностями их реализации (рис.3). Эти данные позволяют рассчитать несколько показателей оценки рисков. Ими могут являться:

1) суммарная вероятность движения цены акции вниз от предыдущего уровня Уолша, рассчитанная на следующий шаг (pLOSS для длинной позиции по

_ PROFIT ^ \

акции либо p для короткой позиции по акции):

M

pLOSS = Ё {pU| WU < wk } (1)

i=1

M

pPROFIT = Ё {pU К > Wk } (2)

i=1

где M - число прогнозируемых уровней Уолша;

2) средневзвешенное по вероятности падение цены акции (W^^) и рост цены акции (Wp°FIT) относительно текущего уровня Уолша

M

WT = Ё {W+1 X pik+11W+i < wK } (3)

i =1

M

WkTIT = Ё {W+i X Pk,k+11 W+i > wK } (4)

i =1

3) максимально возможное падение цены акции на следующем шаге (LOSS) и максимально возможный рост цены акции (PROFIT):

LOSS=min{wk+i} (5)

W„

max PROFIT k+1

= max{Wk+i}

(6)

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

Рис.3. Меры риска в модели прогнозирования рыночных цен с помощью марковских цепей (Т - интервал прогнозирования; WK-4, WK-3, WK-2, WK-1 -исторические значения цен акций (на основе уровней Уолша); WK - текущее значение цены акции (уровня Уолша); Wгk+l - прогнозное значение ьй реализации

цены акции на следующий, (к+1) интервал; р'кк+1 - вероятность этой реализации;

LOSS PROFIT

WK+1- ожидаемая цена акции; p - вероятность падения цены акции, p -вероятность увеличения цены акции; W^0^ - ожидаемая величина падения цены акции, WkRJFIT - ожидаемая величина увеличения цены акции, wkm1xLOSS -максимально возможное падение цены акции, W^PROFIT - максимально возможный рост цены акции).

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

1. Согласно алгоритму прогнозирования рыночных цен на основе марковских цепей, приведенному в [2], рассчитываем все параметры рынка на следующий шаг, а именно: вероятности переходов на ожидаемые уровни цен (рг),

величины этих уровней (Wlk+X), а также средневзвешенную по вероятности

ожидаемую цену акции (Wk+1) по формуле:

м

Wk+1 =IWU х pk М1 (7)

г=1

2. Определяем ожидаемое направление движения рынка: (Wk+1 - Wk). Если рынок движется вверх, т.е. (Wk+1 -Wk) > 0, то открываем длинную позицию по текущей рыночной цене. Если (Wk+1 - Wk) < 0, т.е. рынок движется вниз, то в зависимости от того, разрешены ли короткие продажи на данном рынке (у данного брокера), либо закрываем все открытые позиции по текущей рыночной цене, либо

открываем короткую позицию. Т.о. мы определили сигналы для открытия позиции.

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

PROFIT-ф-PROFIT _ pLOSS ффг LOSS

f * = p_фк+1_P фк+1 (7)

J ф PROFIT ф LOSS (/)

ф к+1 ф к+1

4. Устанавливаем стоп-ордера take-profit (ф^) и stop-loss (ф^). Эти ордера используются для фиксации прибыли и ограничения убытков, т.е. для управления рисками данной сделки. Возможно два варианта: в качестве значений стоп-ордеров можно выбрать:

1) максимальные значения роста и падения цены акции, т.е.

для длинных позиций по акции (когда акцию покупают, ожидая повышения цен)

wTP = ф max PROFIT . wSL = ф max LOSS (о)

ф к+1 = ф к+1 ; ф к+1 = ф к+1 (8)

для коротких позиций по акции (когда акцию продают в расчете на падение цен)

фTP = ф max LOSS . фSL = ф max PROFIT (9)

к+1 к+1 ' к+1 к+1 V /

2) прогнозируемые значения роста и падения цены акции, т. е. для длинных позиций по акции

rTP _ фPROFIT . wSL _ ТТГLOSS

фк+P = ф^Г; фк+1 = K+OS (10)

для коротких позиций по акции

WTp _ wloss • WSL _ WPROFIT m ^

rrk+\—rrk+\> k+1 k+1 V11,*

5. Держим позиции открытыми в течение выбранного периода T, равного выбранному инвестором интервалу прогнозирования, затем переходим к п.1.

Разработанная система была протестирована двумя способами. Вначале было проведено математическое моделирование в системе компьютерного моделирования MatLab 7.1, на исторических данных, без учета комиссий брокера за сделку и за перенос позиции на ночь. Масштаб данных - дневной, максимальная временная глубина тестирования - 20 лет. Использовалось 30 тестовых объектов: индексы ММВБ, РТС, DJIA и NASDAQ, котировки обыкновенных акций фирм American Express Co., Bank of America Corp., Boeing Co., Coca-Cola Co., ConocoPhillips Inc., Exxon Mobil Corp., General Electric Co., Hewlett-Packard Co., Intel Corp, Microsoft Corp., Procter&Gamble Co., Wal-Mart Stores Inc., Walt Disney Co, ADR DeutscheBank, ОАО «Газпром», ОАО «Роснефть», ОАО «Сургутнефтегаз», ОАО ГМК «Норильский никель», ОАО «Полюс Золото», ОАО Банк ВТБ, ОАО «Сбербанк России», АФК "Система", ОАО «Ростелеком», ОАО ММК, ОАО «Северсталь». Пример результата такого моделирования приведен на рис.4 и 5. Такое моделирование позволило провести многофакторную оптимизацию системы, по нескольким параметрам одновременно. Особенностью предлагаемой торговой системы является большое количество управляемых (настраиваемых) параметров, среди которых основными являются (см. [1,2]): количество функций Уолша (N); размер состояния марковской цепи (H); нижняя граница первого состояния марковской цепи;

количество используемых в расчете исторических данных; временной масштаб данных; величина стоп—приказов (W^ и W^); интервал пересмотра позиции (T).

На основании такого анализа был сформулирован вывод о возможности точной настройки параметров торговой системы под конкретный рынок. Например, из рис.4. следует, что для получения максимальной доходности при торговле на акциях фирмы Boeing необходимо взять 160 функций Уолша, а размер состояния марковской цепи принять равным 70 пунктам. Естественно, что с течением времени свойства рынка меняются, поэтому необходимо регулярно (хотя бы раз в год) проводить повторную оптимизацию системы.

Анализ доходности торговой системы является многофакторным, и при исследовании приходилось один из факторов фиксировать и изучать влияние других факторов на доходность. Отметим, что при разработке системы было выбрано два основных управляемых параметра - это размер состояния марковской цепи H [2] и количество функций Уолша, используемых для восстановления сигнала N [1]. Остальные параметры выбирались неизменными во время оптимизации двух основных. Доходность рассчитывалась с накоплением процентов, т.е. как геометрическая доходность за весь период.

Рис.4. Доходность при торговле на акциях Boeing, по оси абсцисс - размер

состояния марковской цепи, по оси ординат - доходность в % за десятилетний

период. Верхний график - 60 функций Уолша, используемых для восстановления,

средний - 100, нижний - 160.

Рис.5. Доходность при торговле на акциях ОАО «Сбербанк», по оси абсцисс - размер состояния марковской цепи, по оси ординат - доходность в % за десятилетний период. Верхний график - 60 функций Уолша, используемых для восстановления, средний - 100, нижний - 160.

Второй вид тестирования - тестирование на исторических данных (Ьасй^й^) в торговой платформе MetaTrader 4, используя встроенный в него тестер стратегий. Для этого средствами встроенного языка программирования MQL был написан торговый робот (механическая торговая система), реализующая вышеприведенный алгоритм. Для торговли был использован счет у брокера Финам. Пример результата такого тестирования показан на рис.6 и 7. Данное тестирование позволило изучить поведение торговой системы на различных временных масштабах данных (от минутных до месячных) с учетом комиссий и спредов на реальном торговом счету. Кроме того, было исследовано влияние величины стоп-ордеров на доходность системы.

Основные результаты оптимизации сведены в таблице. Необходимо признать, что решение задачи многофакторной оптимизации по описанному выше алгоритму зависит от последовательности перебора оптимизируемых параметров. В данном случае оптимизация производилась в следующей последовательности: 1) число функций Уолша; 2) размер состояния марковской цепи; 3) величина stop-loss/take-profit; 4) интервал пересмотра позиции. Параметр временного масштаба выступал внешним независимым условием. Результаты оптимизации, приведенные в таблице, можно интерпретировать следующим образом. Например, при торговле обыкновенными акциями ОАО «Сбербанк» на дневных данных необходимо использовать 130 функций Уолша, размер состояния марковской цепи выбирать равным 80 пунктам, торговый стоп-приказ размещать на уровне (рис.3),

пересмотр торговой позиции согласно вышеизложенному алгоритму производить 1 раз в неделю. На исторических данных за период 2001-2009 гг. торговля с данными параметрами приносила в среднем 35% годовых.

12068

11515 -

сс

10963 о с

10411 а.

9858 9306

0 25 46 68 90 112 133 155 177 199 221 242 264 286 308 330 351 373 395 417 439 460 482 504 526

число сделок

Рис.6. Тестирование торговой системы с помощью встроенного тестера стратегий в среде MetaTrader 4 на торговом счету у брокера Финам, на индексе NASDAQ, на 15-минутных данных за период 01.02.2009 - 01.06.2009. По оси абсцисс - количество сделок, по оси ординат - баланс счета. Начальный баланс

счета равен 10000. Конечный баланс - 10851. Эффективная доходность - 17,02%

годовых.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис.7. Тестирование торговой системы с помощью встроенного тестера стратегий в среде MetaTrader 4 на торговом счету у брокера Финам, на акциях ОАО «Газпром», на часовых данных за период . По оси абсцисс - количество сделок, по оси ординат - баланс счета. Начальный баланс счета равен 10000. Конечный баланс - 11525. Эффективная доходность - 25,12% годовых.

Результаты оптимизации торговой системы

Финансовый инструмент (временной масштаб) Оптимальные параметры

Число функций Уолша, N Размер состояния марковской цепи, H Лимитный приказ stop-loss Интервал пересмотра позиции Максимальная доходность за год, %

ММВБ (О) 160 30 Средн.убыток 1 раз/нед. 19

РТС р) 160 50 Средн.убыток 1 раз/нед. 31

ММВБ (Н) 120 7 Средн.убыток 1 раз/6 час. 1.0

РТС (Н) 120 10 Средн.убыток 1 раз/12 час. -3.5

Газпром (H) 80 10 Средн.убыток 1 раз/6 час. 3.0

Сбербанк (D) 130 30 Средн.убыток 1 раз/нед. 35

Роснефть (D) 150 25 Средн.убыток 1 раз/нед. 22

Лукойл (D) 70 30 Средн.убыток 1 раз/2 нед. 27

Норникельф) 90 30 Средн.убыток 1 раз/2 нед. 18

Ростелеком^) 160 45 Средн.убыток 1 раз/нед. 34

NASDAQ (15M) 90 10 Макс.убыток 1 раз/час 87

Dow-Jones(D) 50 60 Средн.убыток 1 раз/2 нед. 12

GE (15M) 30 15 Средн.убыток 1 раз/3 час 8

Boeing (D) 50 5 Макс.убыток 1 раз/нед. 5.5

Walt Disney (D) 70 60 Средн.убыток 1 раз/ 2нед. 7.5

DeutscheBank(H) 120 20 Макс.убыток 1 раз/нед. 8.5

Примечание. В первом столбце означает дневные данные (взятые за период 2001-2009 гг.), 'Н' - часовые (2008-2009 гг.), '15М' - 15-минутные (январь-октябрь 2009 г.).

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

На основании проведенных исследований были сформулированы следующие основные выводы по торговой системе:

• система приносит стабильную прибыль на масштабах часовых, 4-х часовых и, оптимально, дневных данных; на более мелких временных масштабах торговая система работает неустойчиво;

• перед применением системы на новом рынке необходимо провести оптимизацию всех ее параметров для максимизации доходности;

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

• оптимизированная торговая система обладает следующими характеристиками:

- средняя доходность системы более 22% годовых;

- максимальная просадка системы составляет 24%;

- средняя просадка - не более 8%;

- процент прибыльных сделок составляет от 54 до 81% в зависимости от рынка и временного масштаба;

- средняя эффективность входа - более 70%;

- средняя эффективность выхода - около 85%;

- средняя эффективность торговой системы - 40% - 45%;

- Ъ - счет системы для разных рынков изменяется в диапазоне от 0,1 до 0,7, что означает практическое отсутствие зависимости

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

Литература

1. Фадеев В.Е., Бородин Д.В. Модель математической обработки временных рядов цен акций с применением функций Уолша. - М.: МАКС-Пресс, 2010. - 16 с.

2. Соколов Е.В., Бородин Д.В. Разработка модели прогнозирования цен акций в долгосрочном периоде на основе марковских цепей. - Контроллинг, 2010, N0.3 (36).

i Надоели баннеры? Вы всегда можете отключить рекламу.