Один из способов попытаться победить рынок в алгоритмической торговле таков:
1) придумать модель, в которой есть несколько параметров (период индикатора, граница срабатывания для входа в позицию и т.п.);
2) калибровать модель раз в 3 месяца по данным за последние 3 года, подбирая оптимальные параметры для портфеля моделей по критериям доходности / просадки;
3) торговать очередные 3 месяца по оптимальным параметрам до следующей калибровки.
При этом надежда на то, что:
1) за эти 3 месяца рынок не сильно изменится, а статистические эффекты, которые ловит модель, позволят заработать;
2) калибруя модель раз в 3 месяца, мы как-то пытаемся приспособиться к изменяющемуся рынку.
В этой надежде суть в том, что
мы адаптируемся быстрее чем рынок (наш оппонент). Если же рынок меняется быстрее нас, то наши модели не успевают за этим, показывают «среднюю температуру по больнице» и не работают. Ещё хуже, если модели попадают в противофазу, и к издержкам в размере комиссии и проскальзывания добавляются ещё и систематические потери на отрицательном математическом ожидании.
Если модель
статичная (утрированный пример системы: если цена выше MA(period1) + k * ATR(period2) — покупаем, если цена ниже MA(period1) — k * ATR(period2) — продаём, оптимальные значения period1, period2 и k подбираем раз в 3 месяца), она часто плохо работает: на графиках эквити есть долгие периоды без заработка и с просадками, а оптимальные параметры period1, period2 и k сильно скачут от одной калибровки к другой.
Может
проблема в статике? Может надо писать динамические модели, где рынок
изначально предполагается изменчивым?
В попытках найти что-то аналогичное из другой области, на ум приходит игра «камень-ножницы-бумага», где средство достижения выигрыша — понимание, как противник изменяет свою стратегию, пытаясь вас обхитрить, и перехитрить его самого.
Был у кого-нибудь положительный опыт создания каких-либо
динамических моделей для рынка, существенно учитывающих его изменчивость?
P.S. Надеюсь, возможно зря, что хотя бы малая доля комментариев будет по делу.
Диверсификация по инструментам и таймфреймам не решает этот вопрос? Думаю, что периоды с просадками для приведенной в пример системы должны быть нормальным явлением, ибо она расчитывает на значительное направленное движение, которое бывает реже, чем возвраты к среднему, отскочив от sma+(atr*k).
Улучшения эквити не получил.
Часто получалось так, что лучше бы оставил все как было.
Луа нормально подходит для этого, со своими метатаблицами
Поведение объекта всегда зависит от чего-то «свыше»