Stanislav Gribanov
Stanislav Gribanov личный блог
28 августа 2024, 13:22

Перевод книги "Хакер фондового рынка". Правила большого пальца

Перевод книги "Хакер фондового рынка". Правила большого пальца
Ранее:
1. 
Предисловие.
2. 
Торговля деньгами.
3. 
Биржевая цена.
4. Золотоискатели и ломбарды.
5. Тики, бары, свечи.
6. 
Как работают торговые системы?
7. 
Технический анализ — смысл и бессмыслица.
8. 
Трехчасовой курс программирования.
9. 
Первый урок: Переменные.
10. Разновидность калькулятора.
11. Второй час: Функции. 
12. 
Функции с возвращаемым значением.
13. 
Третий час: ветвление.
14. 
Циклы.
15. Следуйте за тенденцией.
16. 
Торговля с помощью фильтра низких частот.
17. 
Покупка и продажа.
18. 
Тестирование стратегии.
19. Распределение прибыли.
20. 
Индекс подлости.
21. Измерение результативности.
22. 
Метод Монте-Карло.
23. Против тенденции.
24. 
Визуализация сигналов
25. 
Доминирующий цикл
26. 
Обучение параметрам
27. 
Оптимизация по методу Walk-forward
28. Все бэктесты лгут

Правила большого пальца

Zorro имеет встроенные функции для обнаружения, оценки, минимизации или устранения многих из этих смещений при тестировании. Таким образом, многих подводных камней можно избежать благодаря разумному подходу к разработке стратегии. Вот несколько практических советов по обучению и оптимизации.

Перед первым обучением стратегии запустите [Test] с неоптимизированным сценарием. Проверьте файл журнала на наличие сообщений об ошибках, таких как пропущенные сделки или неправильные числовые значения. Вы можете обнаружить и исправить ошибки таким образом, поскольку само обучение не будет выдавать никаких сообщений об ошибках. Во время обучения сделки просто не исполняются, если что-то не так.

При разработке стратегии учитывайте, какие параметры являются наилучшими кандидатами на оптимизацию. Обучайте те, что имеют явное влияние на результаты стратегии. Посмотрите на диаграммы параметров: Они дают ценную информацию о влиянии параметров. Используйте только те стратегии, параметры которых создают на диаграммах «широкие холмы», а не узкие пики, одиночные линии или хаотичную диаграмму.

Максимально упростите торговый алгоритм и не используйте слишком много параметров, фильтров или дополнительных условий. Желательно, чтобы стратегия имела не более 3 соответствующих параметров для открытия сделок и максимум 3 для их закрытия. Слишком большое количество параметров увеличивает вероятность перебора и приводит к худшим результатам в процессе WFO и в реальной торговле.

Сначала обучите параметры входа (которые определяют открытие сделок), затем параметры выхода (которые отвечают за закрытие). Если ваши правила выхода сложны, оптимизируйте параметры входа с помощью упрощенной процедуры выхода, например, простого стоп-лосса. В противном случае результат будет искажен влиянием выходов на прибыль. В сценарии можно использовать переменную ParCycle, чтобы определить номер параметра, который в данный момент оптимизируется, и соответственно временно приостановить правила выхода.

Выберите максимально возможные шаги для функции optimise. Это ускоряет обучение и снижает риск получения локальных максимумов и чрезмерно адаптированных стратегий.

Используйте одни и те же параметры для коротких и длинных сделок, если только актив не ведет себя сильно асимметрично. Асимметричные активы демонстрируют разное поведение при росте цены и при ее падении. Это относится, например, к акциям и индексам акций (но не к Forex). Здесь имеют смысл разные параметры для коротких и длинных. Используйте различные идентификаторы алго с ":S" (short) или ":L" (long) в конце.

Не используйте слишком короткие или слишком длинные циклы WFO. Слишком короткие циклы содержат слишком мало сделок, поэтому параметры не могут быть эффективно обучены, и результат становится случайным. Слишком длинные циклы ухудшают результат, если характеристики неэффективности меняются в течение цикла и параметры не могут быть скорректированы достаточно быстро.

Убедитесь, что у вас достаточно сделок. Системы, которые торгуют только 3 раза в год, не могут быть протестированы. В качестве эмпирического правила: не менее 30 сделок за цикл WFO и за один параметр. Таким образом, для 3 параметров вам необходимо не менее 90 сделок за цикл. Конечно, больше — значит лучше. Для критических случаев Zorro предлагает хитрость: путем передискретизации кривой цен (переменная NumSampleCycles) можно создать различные варианты кривой, в которых сохраняется большинство неэффективностей. Это позволяет увеличить количество сделок и, следовательно, качество обучения и тестирования без увеличения периода обучения.

И последний совет: не реинвестируйте прибыль во время тестовых испытаний. Делайте это только в конце, когда ваша стратегия полностью готова. В противном случае всегда тестируйте с фиксированным размером лота. Реинвестирование полностью искажает кривую капитала и может изменить результат настолько, что вы уже ничего не сможете с ним сделать.

Заключение

► Полосовой фильтр подчеркивает циклические компоненты и удаляет тренд и шум из кривой цен.

► Преобразование Фишера сжимает кривую до фиксированного диапазона значений с гауссовым распределением значений.

► Возвращаемые значения всех функций фильтра или индикатора могут быть использованы в качестве входных значений для последующих функций.

► Функция plot строит кривые и диаграммы сигналов и индикаторов.

► Функции CrossOver/ CrossUnder определяют пересечение кривой с порогом или с другой кривой. (Кстати: с помощью функции predict такие пересечения можно предсказать даже на несколько тактов раньше).

► Функция DominantPeriod измеряет доминирующий цикл кривой цен.

► Das Trainieren von Parametern macht eine Strategie robuster.

► Переменная detrend устраняет влияние тенденций на кривую цен.

► Оптимизация «Walk-forward» моделирует торговлю в реалистичных условиях, а именно с «нетронутыми» ценовыми данными.

► Обученные стратегии WFO нуждаются в регулярном повторном обучении.

► Результаты тестирования подвержены многим влияниям, которые отличают их от реальных результатов. Также WFO не является гарантией достижения результата тестирования стратегии в реальной торговле.

Продолжение следует...

1 Комментарий
  • wistopus
    28 августа 2024, 14:00
    Максимально упростите торговый алгоритм
    энто можно...

    алгоритм — купил потом продал...

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн