Блог им. MrFly

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

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


Когда трейдер только сталкивается с торговлей алгоритмами, первое за что берется каждый — это создание стратегий и проверка идей. Подогнав кривую под исторические данные можно быстро разочароваться в результатах своего 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 Людей знающих другие интересные методики тестирования стратегий на устойчивость прошу писать комменты!
 
Если Вам интересен трейдинг ставьте пожалуйста плюс!
 
Убрать боль от эмоциональных трейдов, тестировать свои и чужие идеи, автоматизировать рутину:  __Сюда__


★35
19 комментариев
«Некоторые, используют тестирование на случайном временном ряду, такая фишка есть у S#, а также некий рендомный провайдер данных в WLD.»

Зачем тестировать на случайном временном ряду?
avatar
Есть ряд книг, где авторы хвастаются некоторыми техниками выхода, которые работают при рэндомных входах. Я думаю, логика примерно такая же…
Лично я не использую, но кому-то наверное помогает, раз везде есть такая функция)
Николай Флёров, Если ГСЧ нормальный, то результат любой стратегии (не заглядывающей в будущее) на броуновском движении--ноль в среднем. Поэтому такое тестирование--это скорей тест на хорошесть ГСЧ, нежели на хорошесть стратегии.

Если же процесс делать не броуновским, а с памятью--то зарабатывать на нем будут заточенные под такую память системы. Например, трендовые системы для трендового процесса. Но какое все это имеет отношение к зарабатыванию реальных денег на реальном рынке--не понятно.
avatar
anatolyutkin, Вы делите тикеры только на тренд и флет, я же считаю, что у разных тикеров намного больше различных характеристик, поэтому, когда мы создаем синтетические тикеры с памятью — это дает там реальное преимущество. Например, на этом тикере исторически работал откат, а на другом отбой, либо пробой.
-Также, это лучше, чем вообще никак не тестировать на устойчивость, не правда ли !?
Николай Флёров, «Вы делите тикеры только на тренд и флет»--С чего вы это взяли? :)

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

По опыту, когда система хороша, то ей даже ООС не нужен особо, не говоря уж про более изощренные методы. Просто ты понимаешь, откуда и что, причем зачастую еще до написания кода. Пишешь код и видишь, что оно работает везде, где должно работать--вот и вся устойчивость. Примеры: smart-lab.ru/blog/142195.php, smart-lab.ru/blog/153193.php
avatar
anatolyutkin, замечательный пост, который по ссылке!) Спасибо за комментарий!) Всем бы побольше хороших систем!))
Николай Флёров, Ирония али нет? :)
avatar
anatolyutkin, ну почему же Вы не подскажете А.Г., как сооружать такие стратегии?
Кстати, Чечету тот же вопрос — генерирует стратегии десятками — почему бы не делиться с Горчаковым?
Со мной делиться бесполезно — я ленив и женат на своей ТС.
Вестников, Что-то вы сегодня активны :)

1) Общее. Зачем мне что-то кому-то подсказывать или делиться? Как говорится, офер есть, а дальше уж дело людей--брать этот офер или нет. Это рынок--тут все добровольно.

2) А. Г.--человек очень высокого уровня, думаю, он сам знает, что и как ему делать. Он один из немногих публичных людей в биржевом сообществе, с кем можно общаться на нормальном уровне. Отлично знает математику и успешно торговал уже тогда, когда я еще изучал, что такое стакан. Мы с ним общались, думаю, мои подходы ему известны.
avatar
anatolyutkin, спасибо. И за пояснение позиции и за то, что внимательно следите за моей активностью. :-)
Оригинал расшифровки настроек yadi.sk/d/1-azi31ZLf63A
Тестирование на случайном ряду по логике должно в среднем нуль давать. Если дает плюс, то это подгонка.
avatar
А. Г., Видел Ваш пост сегодня — понравился, respect!
Николай Флёров, мне нравится ваше стремление к развитию, но…
Честно говоря различного рода тестирования — это полная чушь.

Сразу видно, что вы сначала пошли учиться программировать, а потом занялись трейдингом.

В этом вся проблема — вы не понимаете <механику рынка>! Это первичное, а вторичное написание стратегии!

Если понимаете механику рынка, то заниматься подгонкой стратегии будет стыдно!

Всякого рода бэктестеры — это лишь возможность монетизировать разработку автора и не более. И еще возможность пыль в глаза пустить непонимающим людям.

Конечно же вы напишите, что это не так.
Пусть каждый останется при своем мнении.

В свою же очередь могу сказать, что до конца года я постараюсь предоставить публике робота у которого из всех изменяемых параметров будет только настройка риск-менеджмента и все (1-2 параметра)! Больше ничего не надо менять когда понимаешь <механику рынка>!

Только без обид!
avatar
kreativ_25, я и не пропагандирую стратегии с числом параметров больше 2-3!
PS я начал с инвестирования, учась еще на первом высшем.
Затем поступил на факультет Финансового инжиниринга (начал интересоваться арбитражем и скальпингом, прошел кучу курсов) и только потом начал программировать. И программировать я учился на курсах по созданию стратегий, а затем с репетитором =)
Удачи Вам и вашему устойчивому роботу!
1 80-90 % прибыльных параметров при полном переборе… а 60% маловато…
2 интервал тестирования = 1000-10000 сделок
avatar
ves2010, от 50 сделок уже можно говорить о некоторых статистических зависимостях.
Ну 80-90% — это входит в диапазон от 60% =)
За коммент спасибо)
спасибо
хм, довольно интересна идея бэктестинга по псевдослучайным рядам монте-карло, однако насколько я понимаю данная стратегия нереальна в велсе из-за скорости оптимизации, а следовательно надо собирать что то свое + генерирующее ряды с распределением и мат ожиданием инструмента
avatar

теги блога Николай Флёров

....все тэги



UPDONW
Новый дизайн