Блог профессионального трейдера Good_trade . Секреты трейдинга. Обучение. Инвестиции. Криптовалюта. Обучение · Брокеры · NASDAQ · NYSE
Trading Systems That Work
Просмотрел с утра Смартлаб. Обнаружил перевод на русский язык статьи Dean Hoffman, которую читал когда-то давно на английском и она запомнилась, так как соответствует моему мировоззрению на биржевые спекуляции и разработку торговых систем.
—————————————————————————————————- Торговые системы, которые работают
Мощность компьютеров сегодня позволяет с легкостью оптимизировать любую торговую систему, и результаты «работы» таковых на истории будут более чем превосходны. Однако, оптимизированная система и хорошая система — это разные вещи. Например, даже если и после оптимизации на истории система дает задним числом верных сигналов 20 из 20, далеко не факт что подобная результативность будет и в будущем (нейронные сети и прочее).
Основная проблема с оптимизацией заключается вы том, что рынки имеют свойство меняться со временем. Низкая волатильность сменяется высокой. Сильные трендовые рынки становятся флэтовыми (без четких тенденций). Регулируемы рынок становится диким. Примеров множество.
Это приводит к тому, что рынок «X» начинает вести себя как рынок «Y», а рынок «Y», в свою очередь, становится рынком «Z», и так далее. Если система была оптимизирована для работы на рынке «Z», вероятно она столкнется с проблемами на рынке типа «X»! Эта проблема большинства систем, когда правила оптимизированы под отдельные фондовые индексы или же отдельные секторы рынка. Несмотря на их потрясающие результаты в прошлом, все вместе они в будущем могут представлять собой веьма ядовитый микс.
И наоборот, пусть система разработана для всех типов рынков, от «A» до «Z». В этом случае, не имеет значения если рынок «Z» превращается в рынок «Y» или рынок «A» начинает вести себя как рынок «P», и так далее… И пусть рынки меняют свои свойства, столько сколько захотят, это не будет проблемой, если была разработана устойчивая система с учетом ВСЕХ типов рынков.
Признаки «переоптимизированных» систем:
нереальная результативность (перфоманс) на истории,
система разработана только для одного рынка (или одного рыночного сектора),
в системе используются различные правила (алгоритмы) для различных рынков,
используются различные правила для «buy» и «sell»,
не учитываются реальные транзакционные потери (слиппэдж и комиссия),
в системе применяется метод управления капиталом, не использующий «нормализацию» (подобно системе, разработанной только под один инструмент),
применение в системе статичных целей, например $2000 – StopLoss и $5000 — TakeProfit — для одних рынков на достижение этих целей требуются часы, для других недели (см. пункт 2).
Важной чертой робастных систем является то, что разные рынки имеют равное влияние не общий результат. Это достигается, главным образом за счет «нормализации» разницы между отдельными рынками. Наример, природный газ может измениться в цене на тысячи долларов за контракт в течение дня, в то время как евродоллары изменяются на только на сотни долларов за контракт за тот же период. Нужен способ, чтоб нормализовать и сбалансировать эти различия.
Причина, по которой необходимо это сделать заключается в следующем: пусть система «торгует» по одному контракту на натуральный газ и на евродоллары. Может получиться так, что 90% всей прибыли или убытка приходятся только на половину портфеля. А это означает, что перфоманс в будущем будет сильно зависеть только от одного рынка. Системы, которые не зависят от одного рынка будут более качественными и надежными.
В общем случае, робастная система должна соответствовать следующим правилам:
успешная торговля на большом числе рынков,
успешная торговля на протяжении длительного периода,
использование одних и тех же правил для различных рынков,
одни и те же правила для инициирования длинных и коротких позиций,
учитываются реальные транзакционные потери (слиппэдж и комиссия),
«нормализация»,
в системе не должно быть статичных критериев (фиксированных «по деньгам» целей, например)
Заключительным штрихом в построении робастной системы будет ее форвард-тестирование: то есть, если система создавалась и тестировалась до 2000 года, то все те же правила необходимо протестировать на истории после этой даты. Это позволит в большей степени избежать подгонки под результат на истории задним числом.