Блог им. egenui

Generalized Boosted Regression для предсказания направления движения рынка.

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

Описание самого пакета и примеры можно посмотреть тут http://cran.r-project.org/web/packages/gbm/gbm.pdf

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

График доходности Out-of-Sample в сравнении с индексом ММВБ:
Generalized Boosted Regression для предсказания направления движения рынка.
Generalized Boosted Regression для предсказания направления движения рынка.
Впечатляет правда? Особенно был хорош 2016 год, доходность без просадок, и это при риске удержания позиции всю торговую сессию. Конечно я не стану раскрывать подробности, однажды достаточно раскрыл, пришлось удалить статью, поэтому покажу просто пример, предикторы вы можете подобрать сами. 

Я покажу на примере системы которая использует технические индикаторы RSI, Volatility, ADX, CRTDR ( Close  - Low / High — Low )

Для начала сформируем данные
tmp <- cbind( lag(RSI(Cl(MICEX))), lag(volatility(MICEX)), lag(ADX(MICEX)$ADX), lag((Cl(MICEX) - Lo(MICEX)) / (Hi(MICEX) - Lo(MICEX))), dailyReturn(MICEX))
Обучать модель будем на данных с 2012 го 2015 год, а тестировать на 2016/2017 годах.

gfit <- gbm(MICEX ~   RSI + ADX + Volatility + CRTDR, data = tmp["2012/2015"] ,n.trees = 10000, cv.folds = 5)
Теперь у нас есть обученная модель, посмотрим важность признаков в модели
Generalized Boosted Regression для предсказания направления движения рынка.

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

best.iter <- gbm.perf(gfit,method="cv")
Generalized Boosted Regression для предсказания направления движения рынка.
В данном случае 1 итерация это минимум при которой ошибка будет минимальна, это говорит прежде всего о том, что данные которые мы скормили алгоритму совершенно не имеют предсказательной способности, а значит он будет выдавать константные значения. Но в качестве примера это не важно.

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

summary(gfit,n.trees=best.iter)

Generalized Boosted Regression для предсказания направления движения рынка.

И напоследок обученную модель используем для данных Out-Of-Sample

f.predict <- predict(gfit,tmp["2016::"],best.iter)<br>gbforecast <-  xts(f.predict, order.by = as.Date(index(tmp["2016::"])))<br>chart.CumReturns( ifelse( gbforecast >0, 1,-1 ) * dailyReturn(MICEX), main = "Gbm system" )


Generalized Boosted Regression для предсказания направления движения рынка.

Так как наша система в качестве прогноза всегда выдает константу, то она в точности повторяет индекс ММВБ и не дает какой-либо предсказательной силы



630 | ★23
7 комментариев
подскажите, где можно на рус языке прочитать как это работает?
avatar
vintek13, пройдите курс по машинному обучению на coursera от яндекса, и не такое сможете строить. Он не простой но дает хорошую подготовку в решении практических задач.
avatar
Честно говоря, не особо впечатляет — когда на рынке самая движуха и сильные тренды, система зарабатывает крайне вяло. А именно в эти моменты хорошие депозиты приумножать можно! Лучше рынка надо быть всегда )
Zweroboi, тренды только на истории бывают ) 
avatar
evgen000, всё понятно )
Всё вроде хорошо, но как это выглядит с 2008 года и какова средняя сделка?
avatar
evgen000, Здравствуйте, Уважаемый. 
Подскажите, пожалуйста, способ, как построить улыбку волатильности на опционах FORTS, необходимо ли брать только центральные страйки?
avatar

Читайте на SMART-LAB:
Фото
NAT.GAS: Газовый арбитраж на пороге взрыва — зажжет ли Европа американский хаб?
На европейских рынках котировки на природный газ (TTF) сегодня взлетели на 45%, превысив отметку €46/МВт·ч ($570 за 1000 м³). Европа критически...
Фото
Итоги недели на рынках сырьевых товаров
Если вас интересуют другие аналитические и информационные материалы от банка АО АКБ «ЦентроКредит», смотрите их на нашем сайте в...
Открыли 1 000-й магазин КООП ОКОЛО в Татарстане
Юбилейный магазин «КООП ОКОЛО», площадью 240 кв. м открылся в селе Дубъязы Республики Татарстан. В нем представлено более 6 000 товаров, среди...
Фото
Мой Рюкзак #64: Усиление в банковском секторе в ожидании справедливой переоценки
Февраль продолжает радовать стоимостных и смелых инвесторов Прошлый пост тут —  smart-lab.ru/company/mozgovik/blog/1265828.php...

теги блога evgen000

....все тэги



UPDONW
Новый дизайн