Вчера написал пост
Применение ARIMA для предсказания цены на RIM6 на R
Но в нем было всего 2 сделки. Непрезентативно.
Попробовал сегодня еще раз руками поскальпить, предсказывая цену с помощью R на ближайшие 5 минут. В принципе, заработал 500 р за 17 сделок (34 операции) 1 лотом RIM6.
Выводы
1. ARIMA работает как я ожидал в том плане, что когда цена сильно падает, модель предсказывает цену ниже, когда цена стоит — предсказание примерно как цена закрытия. Спред считается хорошо — заявки исполняются. Когда модель предсказывает цену ниже текущей, нужно ставить заявку только на шорт. А то я ловил ножи и выходил с убытком несколько раз.
2. Я закрывал сделку по цели, не давал прибыли течь. Может быть стоит сначала предсказывать цену на следующие 5 минут и если цена ниже, то шорт не закрывать, а держать дальше, двигая заявку на выкуп. Тогда будет экономия на комиссии и может быть удастся ловить крупные движения.
3. Поизучал GARCH, но применять ARIMA + GARCH сложно, GARCH часто не сходится и модель не работает. Это не удобно. Пока оставлю только ARIMA. РТС падал с нефтью. Нужно попробовать добавить в ARIMA модель еще внешние регрессоры — нефть и S&P / DAX.
4. Вроде бы мат. ожидание положительное и на мат. моделях можно делать деньги.
5. Выходил не по стопу, а двигал заявку на выкуп по новому предсказанию. И это работает. То есть проходит свеча, если я в минусе, то я пересчитываю следующее предсказание и двигаю заявку на закрытие. Это еще одно преимущество мат. моделей — не надо бить по стакану. Все делается лимитированными заявками.
2) Увеличение горизонта прогнозирования ухудшало поведение модели (по крайней мере в моих изысканиях).
3) ARIMA+GARCH вполне сносно фитится. Для этого используйте fGarch или rugarch. Правда, ньюанс выбора модели в том, что сложность подбора адекватной модели ARIMA-GARCH высока — де-факто требуется зафиттить p*q*s*e*(количество используемых распределений) моделей. Обычно порядок GARCH берут не выше (2,2). А вот распределения надо проверять методом отсечки незначимых коэффициентов распределений. Т.е. возможна такая последовательность: sstd->std->norm. или sged->snorm и т.п. Внешние регрессоры проще добавлять уже тогда в модели VAR/VECM и их обобщения.
4) Положительное мат.ожидание чего? С учётом комиссий надо смотреть.
5) На сильных движениях рынка можно много оставить в таком случае.
1. Хорошая идея. Попробую.
2. Горизонт у меня 1 свеча, потом пересчет. Пересчет быстрый на фоне 5 минутного интервала.
3. На GARCH я пока не ставлю точку, надо плотнее изучить это сочетание. Fit достаточно медленный для ARIMA-GARCH.
4. Положительное мат. ожидание такой торговли с учетом комиссии. Маржа за 34 операции (17 сделок) 513, биржевой сбор -34 (2 р. на сделку или 1 р. на лот) и комиссия брокера -24 (0.71 руб на лот). При этом у меня стандартный тарифный план у брокера Открытие. Называется Универсальный.
5. На сильных движениях все равно будут потери, если бить по стакану. Модель кстати предсказывает цену ниже последнего закрытия, поэтому заявка на закрытие ставится ниже и это похоже на то, чтобы ударить с проскальзыванием. Просто более аккуратно получается. Но посмотрим. Вот сегодня РТС упал почти на 2000 пунктов пока я торговал. И я даже лонговал несколько раз, но все равно вышел в плюс.
Дальше, важно брать достаточно большую выборку большую, т.к. тесты единичных корней могут сильно врать на малых выборках (сходимость порядка sqrt(N) вроде для классических тестов единичного корня).
Насчёт движений и т.п. — попробуйте торговать на границах. Смысл такой — стационарный случайный процесс всегда тяготеет к среднему значению. Т.о. продавая и покупая на соответствующих квантилях, а закрывая сделку на уровне X*_{t+1}, можно быть в плюсах.
Да, классически DF и ADF использовать в случае ARIMA-GARCH нельзя. Тут вроде kpss или pp тесты можно использовать, которые учитывают возможный эффект гетероскедастичности e_{t} в МА-части.
Да, порекомендую ещё один хороший пакет — arfima. Он позволяет фиттить arfima-модели с разными предположениями относительно спектра процесса, моделируя тяжёлые хвосты распределений для прогнозов. Написан толково, мощный, удобный. Коэффициент d для фрактальной части можно взять посредством wmtsa библиотеки, там есть методы оценки данной размерности.