Как тестировать систему?

27.08.2020 35 0.0 0
Как тестировать систему?
Существует несколько способов, позволяющих протестировать систему на истории и оценить ее результативность.

Если вы ничего не смыслите в программировании, то вам придется тщательно «прокручивать» график цен, отслеживать возникновение сигналов на вход и выход, записывая результаты тестирования в таблицу (Excel, Google или на худой конец, в тетрадку). Процесс «прокрутки» может занимать немало времени. Проблема данного тестирования заключается в том, что вы можете ошибиться и пропустить нечто существенное. Визуальное тестирование системы также несет в себе некоторый элемент субъективности. Свойство нашего ума заключается в том, что при визуальном бэктесте он начнет фокусироваться на успехах метода и игнорировать некоторые неудачные моменты. Поэтому будьте предельно внимательны при таком способе оценки.

Следующий способ, доступный частному инвестору, – использование функций тестирования в популярных программах технического анализа, например в MetaStock. Эта программа содержит очень простой синтаксис, и ее также без особых проблем способен освоить человек, не имеющий навыков в программировании. Простота MetaStock имеет и свои ограничения: ничего серьезного там запрограммировать не удастся.

Еще более продвинутый путь – использовать отечественную разработку TSLab. Данная программа также позволяет конструировать торговые стратегии без навыков программирования при помощи визуальных средств – логических «кубиков». Лично я не встречал более простого решения для поиска и проверки идей, чем TSLab. С другой стороны, если вы знаете язык программирования C#, TSLab позволит вам реализовать идеи практически любой сложности.

Кроме того, среди алготрейдеров распространена среда Wealth-Lab, которая уже в обязательном порядке потребует от вас минимальных навыков программирования. Торговые терминалы MetaTrader и QUIK используют собственные языки программирования и также позволяют автоматически тестировать любые идеи.

Существуют и другие программы для тестирования систем, такие как TradeStation, Stock#, Amibroker. Опытные алготрейдеры тем не менее рекомендуют не забывать, что любой софт может содержать в себе неожиданные ошибки тестирования. История знает примеры, когда один софт неправильно считал просадку системы, а другой – неверно учитывал проскальзывания.

Самые продвинутые, в частности высокочастотные, трейдеры, как правило, используют собственные эмуляторы торгов – виртуальную биржу с виртуальным потоком котировок. Это делается для максимального приближения условий тестирования к «боевым».

Чтобы тестирование системы на исторических данных было максимально правдоподобным, необходимо обязательно учитывать проскальзывание и комиссионные, которые входят в нашу формулу (TC). Для большинства краткосрочных стратегий они оказывают существенное влияние на результат101. Условия тестирования также могут отличаться от реальных торгов из-за задержки, которая существует между появлением сигнала на вход/выход и реальной сделкой. Кроме того, вам необходимо убедиться в том, что архивные данные, на которых вы тестируете свой метод, не содержат ошибок (например, потребуется учесть некорректное отражение гэпов или некорректную «склейку» фьючерсных контрактов). Некоторые алготрейдеры рекомендуют для тестирования систем обязательно использовать тиковые данные или даже полный ордерлог102.

Если система переносит позиции через ночь, вам необходимо достоверно протестировать отработку гэпов на открытии торгов103.

Чеклист бэкстестинга:

1. Проверить корректность данных.

2. Учесть задержки.

3. Учесть комиссионные и проскальзывания.

4. Корректно учесть гэпы.

 



Читайте также

Комментарии (0)
avatar