Блог им. melamaster
Предпосылки тут.
В пределе, если мы достоверно знаем идеальные места разворота цены, разделение торговой системы на трендовую и контртрендовую теряет смысл. Генезис данного разделения в том, что данные об изменениях цены доступны апостериори. Поэтому в каждый момент времени имеет смысл тестировать две гипотезы. Первая — продолжение тренда. Вторая — разворот тренда. Опираясь на эти гипотезы, возникают трендовая и контртрендовая торговые системы.
Если торгуемый инструмент — синусоида, то идеальная реверсная торговая система должна продавать на вершинках и покупать на впадинках этой синусоиды. Если нам неизвестно о том, что данный инструмент — синусоида, то продавая, после вершинок и покупая после впадинок, мы будем зарабатывать, если в среднем наша реакция на зафиксированные впадинки и вершинки не будет запаздывать более чем на четверть периода синусоиды. Собственно, если мы фиксируем вершинки и впадинки в среднем позже чем через четверть периода синусоиды, мы должны действовать наоборот: покупать после зафиксированной вершинки и продавать после зафиксированной впадинки. В этом суть разделения трендовых и контртрендовых систем.
Ситуация тяжелая даже при торговле синусоидой. Однонаправленное движение (от вершинки до впадинки) длится полпериода, а войти в него мы должны хотя бы в окрестности 1/8 периода от вершинок и впадинок, чтобы хоть что-то заработать. При этом мы понимаем, что цена сбера, фртса и иже с ними — далеко не синусоида. Неудивительно, что большинство торговых систем находятся на грани статистической погрешности (и то, если это не подгонка).
Как торговать конкретный инструмент (фртс, сбер, валюты и пр.) — дело вкуса, техники, предпочтения и стереотипов. По идее (это нужно дополнительно обосновать) любой актив, который торгуется трендово, может торговаться и контртрендово (в т.ч. наоборот). Пока это в качестве гипотезы.
Что вообще означает возможность системной алготорговли на основе только исторических данных? То, что торгуемый инструмент периодичен. По смыслу это тождественно тому, что он не является полностью случайным процессом (независимые некоррелированные приращения типа белого шума и пр.). В нем есть память. В каком-то смысле старый как мир анализ Фурье должен позволять торговать тот же сбер, фртс и пр. Это также в качестве гипотезы.
Как минимум, из этого можно сделать вывод о виде идеальной кривой доходности — это прямая линия (с положительным тангенсом угла наклона) + синусоида. Всякими техническими приемами (стоп-лоссы, дополнительные входы, частичные выходы и т.д.) мы лишь пытаемся добиться того, чтобы амплитуда синусоидальной компоненты кривой доходности была минимальна. Как мы помним, синусоида, пропущенная через линейный фильтр, остается синусоидой с измененной фазой. Что такое торговая система? Отчасти это линейный фильтр, отчасти это оператор линеаризации цены торгуемого инструмента.
Иллюстрация из опыта. В любимом Сбербанке почти на всех предыдущих 6 годах присутствует один важный период. Возможно, этот период не единственный. Фрагмент системы (весна-лето 20150 года), основанной только на одном периоде по сберу:
Возможно (что почти наверняка), есть периоды, которые меняются и их нужно улавливать адаптивно.
Значимый период, о котором идет речь, не означает, что значения Сбербанка повторяются через какое-то одно и то же время. Этот период имеет смысл характерного размера в физике. Один из первых шагов создания алгоритмической торговой системы на основе исторических данных — отыскание таких характерных размеров торгуемого инструмента. Желательно на этом этапе вообще не строить тестовых эквити, а достоверно убедиться в наличии осмысленных характерных размеров.
Всем хорошего настроения!
еще в 2006ом брали ценовые ряды российских акций и раскладывали в ряд фурье… получили 2 выраженные частоты 20 дней и 3-5 дней
время ожидания убытка — это холостой ход как минимум, лучше быть это время в кеше.
Кстати, это вредно для нервов, даже если бот торгует.
Пардон что вставился.
Раскладывали спецы?
Где-то тут, кажется, Горчаков, если память не изменяет, писал, что тоже пытался разложить ряды и вычленить частоты. Но ничего рабочего не получилось.
кроме того сделай так возьми синусоиду сделай фурье и акф… для фурье у тя будет одна гармоника… а для акф будет забор — расстояние меджу вершинами = периоду синусоиды
или слишком рано, или слишком поздно.
В этом сложность входов и выходов.
Я Вас понял, но только методы выявления памяти зависят от ее вида и для синусоиды — это один метод, а для другой памяти — другой.
trader2014.blogspot.com/2015/12/blog-post.html
«Из достойно работающего получилось на фьючерсе 6E соорудить hft-систему, но соваться туда с этим гиблое дело:)»
Вы про эту:
http://smart-lab.ru/blog/311635.php
И так понятно, что она не будет работать :)
Реализуйте матчинг как на CME в своем бэктесте на нормальных данных — протестируйте и сразу все поймете :) http://progressive.powerstream.net/008/00102/cmeg_es/electronic-trading/match-algo-fifo-prorata/index.html
Пока мы на CME пытаемся создать торговые системы, которые работают только внутри дня и стабильно зарабатывают в среднем 10-20 пунктов в день по предыдущей градации 1 пункт=0.0001. Возможно, к следующему году эту тему мы «допилим» и в 17-м году таки заработает наша системка на CME.
В сторону всяких HFT-систем на западных рынках не смотрим пока вообще. Разве только поиграться (ради понимания). На нашем рынке hft-системы почти бессмысленны из-за немасштабируемости.
Спасибо за ссылку. Именно так и реализовывали матчинг в своих тестах за исключением имитации PRO-Rata. Потом это через ниньзю прогнали для проверки своих подсчетов. Всё сильно разнится.
А вам как? Удалось победить этих заморских «зверей»?
Нельзя использовать Ninja Trader для теста таких стратегий, да и вообще любых :)