Почти у всех трейдеров, использующих в своей торговле алгоритмические системы, рано или поздно при оптимизации этих самых систем встает вопрос: «а не занимаюсь ли я подгонкой алгоритма под рынок, может он и не рабочий вовсе?» Эта мысль не раз возникала и у меня, и каждый раз я думал над тем, как понять где «полезная» оптимизация и поиск смещения вероятности, а где уже переоптимизация и подгонка под рынок. В итоге появились некоторые мысли, которые предлагаю к обсуждению. Итак, вот к чему я пришел.
Это пост добра.
Хочется помочь людям понять истину (этот пост не для всех, для многих это очевидные истины). Ну и хочется самому продвигаться в её понимании (но сейчас не об этом).
Есть из теории вероятностей классическое про обезьян и «Войну и мир». Не помню, как в классической версии этого примера, но идея такая (на самом деле там несколько идей, но в данном контексте возьму эту), что на большой выборке есть нормальная такая вероятность наступления даже самого маловероятного события, а ещё — такое маловероятное событие может выглядит как чертова закономерность.
Не помню, как там в классическом примере с этими обезьянами, давайте его немножко модифицируем под контекст (сохранив суть неизменной) — хотя, возможно, в классическом варианте так и было — преположим, есть огромногое кол-во групп обезьян, в каждой группе обезьян столько сколько страниц в романе «Война и мир», за раз каждая обезьяна в каждой группе печатает одну страницу рандомного текста. Затем всё продолжается. Есть вероятность, что после большого числа повторений, одна из групп обезьян напечатает-таки «Войну и мир». Как мы понимаем, в данном гипотетическом примере речь не об эволюции, или развитии мозга, о том, что нашлась продвинутая группа обезьян с развитыми теменными или ещё какими-то зонами мозга, в данном примере речь исключительно о случайных событиях и о вероятности.
Несколько раз уже натыкался на статьи на данном ресурсе о том, как тестируются торговые системы на основе скользящих средних, да и вообще любых индикаторов: люди программы пишут, изощряются в поиске оптимального тестера, котировки подготавливают определённым образом для того, что тестер их смог воспринять…. Ужас одним словом))) Решил внести свои три рубля в эту копилку...
Сам я тоже ещё очень давно столкнулся например с удивительным для меня тогда фактом того, что одни и те же параметры скользяшек например на евродолларе и фунте дают совершенно разные торговые результаты при тестировании. Я брал дневной график обоих инструментов и по логике вещей брал скользяшки с периодами 20, 40 и 65. 20, потому что 20 рабочих дней в месяце в среднем, 40 за два месяца, ну а 65 квартал. На евробаксе такие параметры работают хорошо. Эквити положительная, мало ложных сигналов, а на фунте это просто ад на земле. Даже при небольших лотах слив происходил бы за полгода. Я тогда чуть ли не бросил торговать, потому что понятия не имел, как подобрать оптимальный параметр для механической системы. Пришёл я тоже к тому, что метод перебора руками ужасен, потому что полжизни ушло бы на то чтобы просто протестить, а торговать когда? Плюс ко всему это всего лишь один инструмент, а движения хорошего на одном инструменте бывает приходится ждать месяцами, поэтому приходится перескакивать и на другие инструменты, а их тестирование это ещё время. Тестировать каждый руками сумасшествие. А для скользяшек желателен фильтрующий осциллятор, который показывал силу тренда, чтобы выходить из сделки пораньше и ему тоже параметры надо бы подобрать…
Если у вас возникают проблемы с использованием торгового терминала QUIK, то возможно пришло время сделать профилактику.
Следующие несложные шаги позволят значительно улучшить работоспособность QUIK-а.
1. Рекомендуем удалить все ненужные вкладки в терминале QUIK.
2. Рекомендуем отключить в терминале загрузку котировок для неиспользуемых инструментов.
3. Если и после этого QUIK глючит, падает, виснит:
Или после возникновения проблемы Рабочее место QUIK не запускается, или после запуска проблема воспроизводится вновь — рекомендуем выполнить следующие действия:
Данная статья посвящена альтернативному методу проектирования торговой системы, с использованием случайного входа. Обычно проектирование начинается с сигнала на вход в сделку. Длительное наблюдение за графиком цены приводит трейдера к выявлению некоторой закономерности, которая позволяет извлечь прибыль из рынка. Например, это может быть сигнал от индикатора.
Далее, путем добавления различных блоков и условий добиваются удовлетворительной формы кривой доходности. При этом каждый компонент «обвеса» добавляет свои параметры для оптимизации, что облегчает подгонку под исторические данные.
В итоге получается торговая система с фантастическими показателями по прибыльности и максимальной просадке.
Как правило, после запуска системы в работу, трейдера ждет горькое разочарование. Система не только не показывает планируемую доходность, но очень быстро начинает «сливать» депозит.
Ни кто не задумывался над контролем подобранных параметров оптимизации по распределению цен закрытия например? Те берем какой то период, на нем оптимизируем, выбираем лучшие параметры, а так же строим график распределения вероятности цен закрытия. В процессе торгов если текущее распределение стало отличаться например на 20% от построенного по оптимизированному периоду то останавливаем торговлю и заново проводим оптимизацию. По идее такой способ будет точнее и быстрее (возможно даже кривая доходности не начнет загибаться) показывать что параметры оптимизации «уплыли». Кроме того, быстроту можно достичь за счет построения гистограммы распределения на меньшем ТФ чем торгуемый. (Те АТС торгует на часе а график распределения вообще может быть на минутках).
Какие подводные камни могут быть? Или есть что-то аналогичное интересное показывающее что параметры оптимизации уплыли быстрее чем это станет очевидно по кривой доходности?
ЗЫ Или ятормоз и все именно так и делают, а до меня только это дошло?
В этой статье разберемся, на какие параметры, полученные в результате тестирования торговых систем, стоит обратить внимание, чтобы выбрать систему(ы), которые будут приносить прибыль в будущем. Проведем очередное небольшое исследование.
Объект исследования.
Тесты торговых систем более 120 000 шт., полученных в конструкторе торговых систем 3CBot в режиме перебора индикаторов.
Увеличение количества тестов, по сравнению с прошлыми статьями, произошло из-за того, что разработчики добавили новые индикаторы и реализовали совет Александра Горчакова по иному способу расчета индикаторов дневного таймфрейма.
Системы состоят из 1 или 2х индикаторов. В двухиндикаторных системах индикаторы могут быть как одинакового, так и разных таймфреймов.
Количество тестируемых тикеров 32 (акции, фьючерсы, валюта).
Периоды: годы 10-12, 13-15, 16 (6 неполных месяцев).