Николай Флёров
Николай Флёров личный блог
02 апреля 2014, 14:39

Проверка на устойчивость-секретное оружие

Проверка на устойчивость-секретное оружие
Проверка на устойчивость-секретное оружие


Когда трейдер только сталкивается с торговлей алгоритмами, первое за что берется каждый — это создание стратегий и проверка идей. Подогнав кривую под исторические данные можно быстро разочароваться в результатах своего hand-made творения, поставив стратегию на реал.
Для того, чтобы проверить стратегию на устойчивость профессиональные разработчики торговых систем прибегают к разным методикам, при этом и те и другие и третей могут зарабатывать.

Начинающие трейдеры не парятся и просто используют методику ротации. Другими словами, после оптимизации мы не проверяем стратегию на устойчивость, мы просто верим, что стратегия будет торговаться подобным образом и снимем ее в тот момент, когда она подойдет в порогу просадки, которую мы заранее установили!


Опытные трейдеры пользуются более продвинутыми методиками:
  • Некоторые подбирают стратегию таким образом, чтобы она в очень большом диапазоне параметров была в положительной зоне, то есть, чтобы вообще практически не было отрицательных значений, но таких алгоритмов единицы.
  • Некоторые, используют тестирование на случайном временном ряду, такая фишка есть у S#, а также некий рендомный провайдер данных в WLD.
  • Часть разработчиков  просто перемешивают результаты сделок в случайной последовательности, как это сделано в WLD, визуализатор «Monte Carlo». На мой взгляд они используют не верную методику, так как перемешиваются уже прооптимизированные сделки, однако, в этом модуле достаточно настроек-регуляторов, чтобы убить даже стабильную стратегию)).
  • Самые умные ребята генерируют множество временных рядов с теми же характеристиками, что и временной ряд, торгуемого инструмента и проводят оптимизацию на «дочерних» временных рядах.Это самый затратный по времени способ, но самый объективный. И это наиболее близко к тому о чем писал в своих книгах Нассим Талеб.
(Привожу видео Арсена Яковлева из его интервью, многие просили еще раз и без музыки) Продолжение внизу!
 


  • Также, я слышал от коллег, что фонды используют технологию CUDA для того, чтобы переоптимизировать каждую из своих стратегий после каждой сделки, создавая таким образом адаптивные системы. Возможно в меру моего малого опыта, пока не понимаю куда бы я мог применить такой метод в собственной торговле и исследованиях.
  • Американские специалисты любят прогонять все на огромном числе тикеров за длительный период времени, коих там тысячи.
  • Я же использую форвардное тестирование. То самое про которое рассказывал…Роберт  Пардо в обоих изданиях своей книги «Разработка, тестирование, оптимизация торговых систем для биржевого трейдера»
В тот момент, когда у меня запустился проект по автоматизации форвардного оптимизатора, я и не мог себе представить, что Wealth вскоре сделает целое приложение и встроит его в WLD.
И несколько месяцев, я считал его одним из своих секретных орудий, про которые не рассказывал даже ближайшим алго-товарищам.
 
Что он из себя представляет:
1) Полная адаптация с интерфейсом WLD
2) Генетическая оптимизация в основе нахождение оптимальных параметров
 Проверка на устойчивость-секретное оружие
3) Гибкость выбора окон тестирование
4) Гибкость при выводе любых статистик
5) Сохранённые общей кривой эквити
6) Сохранение всех результатов в Excel и Exml, которое можно загрузить в WLD и посмотреть
 Проверка на устойчивость-секретное оружие
Вот так, он выгляди в Wealth наряду с другими оптимизаторами. Назвал я его TestOptimizer, так как — это был первый эксперимент с оптимизаторами вообще, и работы по нему с переменным успехом шли около месяца.
Овалами закрашены другие наработки о которых, я возможно расскажу в будущем, но не сегодня.
Настройки моего форвардного оптимизатора:
Проверка на устойчивость-секретное оружие 
 Проверка на устойчивость-секретное оружие
Вывод результатов:
Проверка на устойчивость-секретное оружие

Сейчас уже  всем известно, что в WLD появился форвардный тестер и я не расстроился тому что он вышел...
1) На мой взгляд он удобен
2)он может использовать либо генетику либо прямой перебор либо Monte-Carlo.
3)Статистические показатели там также можно использовать любые, применяя различные ScoreCards — которые я также считаю своим секретным оружием))
Проверка на устойчивость-секретное оружие
Вывод результатов:
Проверка на устойчивость-секретное оружие
Главным же его минусом конкретно для меня, то что мы не можем ничего поменять, а можем лишь использовать только программу «из коробки».
 
Например, сохранение в Excel формате результатов, либо формирование окна тестирование не на основе временного периода, а на основе репрезентативного количества сделок — что, кстати, очень актуально!
Поэтому мои наработки все также остаются для меня важными, а для общественности секретными, однако Wealth-lab и без моих фитч поможет развеять представления о прибыльности любой торговой идеи быстро и без лишних движений ;)
Выводы:
  • Тестировать стратегии на устойчивость, желательно многими способами
  • не бояться разрабатывать новые фитчи и использовать их!
По поводу других методов тестирование на устойчивость  скажу только что они все нормальные, до некоторых из них нужно дорасти.) Пока же можно пользоваться тем, что есть)
 
PS. Да, я проводил исследование, хоть и не глубокое, на тему какие именно сочетания форвардного тестирования работают лучше. Оказалось, что  результаты сильно будут варьироваться скорее  в зависимости от стратегии, а не от подбора периодов In Sample и Out of Sample. Лично мне больше всего нравится 6 месяцев оптимизации и 3-6 месяцев Out of Sample.
PS.2 Про WFO (Форвардный тестер Wealth-lab) не рассказываю, так как про него информации и так в избытке
PS.3 Людей знающих другие интересные методики тестирования стратегий на устойчивость прошу писать комменты!
 
Если Вам интересен трейдинг ставьте пожалуйста плюс!
 
Убрать боль от эмоциональных трейдов, тестировать свои и чужие идеи, автоматизировать рутину:  __Сюда__


19 Комментариев
  • anatolyutkin
    02 апреля 2014, 14:25
    «Некоторые, используют тестирование на случайном временном ряду, такая фишка есть у S#, а также некий рендомный провайдер данных в WLD.»

    Зачем тестировать на случайном временном ряду?
  • А. Г.
    02 апреля 2014, 15:04
    Тестирование на случайном ряду по логике должно в среднем нуль давать. Если дает плюс, то это подгонка.

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

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