Оптимизация торговой системы (стратегии).

  1. Аватар Meeseeks
    Zweroboi, но ведь происходит точно наоборот!!! берем систему забиваем параметры и в перёд, потом она «ломается», а по прошествию времени сама «чинится» и снова работает.
    Компенсировать такие «поломки» можно и количеством систем работающих по разным алгоритмам, живой вам пример на сайте это торговля Sensor`a, «трендовые»+«контртрендовые»( за одно слово контртрендовый нужно сжигать в печах) борются сами с собой, доливают/сливают позиции. Весь мой спич сводится к — поиск системы с одним входом/выходом это просто дро? ка в классическом понимании с оптимизацией параметров (не имеем ввиду скальперов и HFT).  
  2. Аватар Пафос Респектыч
    Meeseeks, одну-единственную наверное сложно найти, хотя бы область какую-то непустую?
  3. Аватар Meeseeks
    Zweroboi, нужно внести ясность, что вы имеете ввиду под оптимизацией? нахождение одной единственной пары/тройки тд параметров, или вы находите границы этих параметров при которых profit/sharp/ulcer index/DD/winloss и тд вас устраивают?
  4. Аватар Пафос Респектыч
  5. Аватар Meeseeks
    Zweroboi, набираю/раздаю позицию из нескольких однотипных стратегий с разными параметрами, в разные периоды времени(состояния рынка) каждая из них показывает устойчивые результаты, усредняя результат.
  6. Аватар Пафос Респектыч
    Meeseeks, так хорошо а что ты предлагаешь?
  7. Аватар Meeseeks
    Все эти оптимизации говорят об одном, у задачи которую вы пытаетесь решить n-корней удовлетворяющих условиям. Построение систем с 1 входом и 1 выходом это просто перебор этих корней, которые в данный момент дают оптимальный результат, стоит их сдвинуть во времени и начинается пи? деж про изменение рынка и прочую ересь. И вы выбираете новые корни и всякие форвардные тестирования проводите, и всё по новой
  8. Аватар ves2010
    1 в идеале параметров оптимизации не должно быть ваще… накрайняк 1… на 2ух параметрах можно торговать любую бумагу
    2 мысль в том что впринципе можно иметь хоть сколько параметров оптимизации, но надо делать проверку устойчивости… например...
    выбираем значение индикатора период сма=100, тогда для проверки устойчивости надо протестить диапазон изменения индикатора вдвое… от 50ти до 200… если на этом диапазоне прибыль изменилась более чем на 50% от хаев, и даже стала отрицательной, то такой бот неустойчив
  9. Аватар Ибрагим
    Salamandra, полностью согласен. Осмыслил идею и выстроил логику — и смотришь она рабочая или нет. Если есть что-то ценное — тогда уже начинаешь оптимизировать. Но. Глаз уже наметан и ты сразу видишь — идея стоящая или так себе. Если ядро алгоритма на простых параметрах без дополнительных компонентов дает низкий показатель восстановления, например, а ты торгуешь длинную волатильность — долой такую систему. 
    А вообще, конечно, правильно сказано — хорошие логики работают сразу. Чего огород городить. Фундаментальные вещи работают десятками лет -))) Под ногами лежат граали — никто не видит их почему то… И с большое долей вероятности они будут работать и дальше. Что касаемо оптимизации — зависит от концепции — те параметры важны, которые придают робастность именно тому типу волоатильности, который вы торгуете. Хотя вот короткую волоатильноть торговать — математическое безумие. Но если людям нравится, что поделать.
    Конечно, лучше искать через оптимизацию нейронные фундаментальные связи на рынке. Они есть. И через адаптивные параметры искать свои значения в этих связях. OOS нужен, но если вы торгуете «вечное» — это бессмысленная трата времени.
    И кстати, еще одно. Некоторые товарищи так увлекаются ресечами, что собственно сама торговля уже уходит на второй план. Получается много программирования и исследований — мало трейдов. Поэтому необходим баланс — даже в самой робастной системе на реале много чего вылазит на большом объеме  только и успевай шлифовать свой алмаз. 
    Последнее, что хочется сказать — есть, конечно, универсальные логики, работающие на всех инструментах. Но если вы ищете гармонию еквити  и низкий риск — нужно понимать, что каждый инструмент имеет свой характер и я, например, остановлю свой выбор при оптимизации не только на лучшем варианте показателей нужного мне типа, но и на одном только инструменте, наиболее подходящем под эту логику. 
  10. Аватар VolkSib
    По мне так WFO чушь.  Если взять  50 лет и 10 % наверно и получите, что то корректное/ для 60м/ Только это не для РФ. А 3 года теста это подбор параметров которые в ближайшие 3 месяца точно работать не будут))
  11. Аватар Replikant_mih

    luchsveta, 

    1. Я наоборот думал, что уменьшая число параметров — мы уменьшаем кол-во степеней свободы системы, разве нет?

    1. Мне кажется заменить фиксированный стоп на стоп по Low n свечей — это то, что выходит за пределы привычного использования понятия «оптимизация» при разработке торговых систем.

  12. Аватар luchsveta
    Replikant_mih,
    1) увеличить степени свободы системы
    2) адаптивные параметры — те, котрые зависят от состояния текущего рынка. Абсолютные — это фиксированный стоп n пунктов, к примеру. Адаптивным в этом случае может быть например стоп по атр.
  13. Аватар Replikant_mih
    luchsveta, 1,2 — не понял), с 3 согласен, с остальным текстом согласен).
  14. Аватар Replikant_mih
    Salamandra, Ммм, не то чтобы это прям цель, забраковать систему — это скорее ориентир, вектор. А цель — выяснить хороша ли система и сделать из системы хорошую систему.
  15. Аватар luchsveta
    Salamandra, я думаю, что как раз наоборот, цель оптимизации улучшить торговую систему:
    1) максимально отказаться от ненужных параметров и дать свободу системе
    2) использовать адаптвные параметры вместо абсолютных
    3) ну и найти конечно зоны максимальной эффективности с последующими их стресс тестами

    тот, кто говорит, что параметры и на глаз должны подходить отчасти прав, потому что если система логична, то ее поле положительных параметров очень широко, но в какую точку вы попали, никто не знает. 

    плюс часто понятие оптимизации приобретает оттенок простой подгонки, что в принципе и является главным забдуждением.  цель  - обучить алгоритм адаптироваться к любым ситуациям и быть как можно более логичным. А для этого лучшие оптимизационные прогоны редко подходят.
  16. Аватар Salamandra
    Цель оптимизации, если ее и проводить, — не улучшить торговую систему, а отвергнуть ее, забраковать. Улучшения на реале с помощью оптимизации можно достичь только случайно.
  17. Аватар Laks
    Replikant_mih, я это и имел ввиду, а вообще я использую is and oos
  18. Аватар Replikant_mih
    Plaksa, Ну да, логично), и снижать число параметров — один из способов это сделать.
  19. Аватар Laks
    не надо заниматься КурваФитингом — это все, что я могу сказать про оптимизацию)
  20. Аватар Replikant_mih

    Антон Иванов, Можно описать график и получить 99% выигрышных сделок, только зачем?) Задача же не найти набор параметров, который на истории даёт шикарный результат, а: найти набор параметров, который даёт приемелемый результат и стабилен. Это другая задача. 

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

    Более того! Сейчас озарение поймал) — надо вводить как можно больше параметров, с той идеей, что так выше вероятность, что ты найдёшь хорошо коррелирующие с фин. резом параметры, не коррелирующие просто убираешь, оставляешь коррелирующие. Ну и дальше из них, опять же не тупо бездумно курвфиттингом, лепишь торговую стратегию. И да, согласен, что наиболее робастные стратегии будут себя неплохо чувствовать на разных инструментах и таймфреймах, до того как перешел на фьючи — бэктестил стратегию одновременно на портфеле эдак из нескольких тысяч инструментов)). Хотя конечно, нахождение стратегии, когда ты её бэктестишь и оптимизируешь на портфеле это не то же самое, когда ты бэктестишь и оптимизируешь на одном инструменте, а в итоге работает стратегия хорошо на целом портфеле)

  21. Аватар Антон Иванов
    Replikant_mih, на мой взгляд проблема многопараметрических стратегий в том, что ими в итоге можно весь график описать и получить 99% выигрышных сделок на истории, после многократной оптимизации. Но это не будет показателем того, что удалось найти какую-то рабочую закономерность, это скорее показатель того, как тщательно мы рассмотрели и описали графики на истории. И это очень просто проверить: если алгоритм торгует одним инструментом, например Си или Ри, просто нужно поменять инструмент, например подставить фьючерс Газпрома или Русгидро. После этого уже будет точно видно, насколько алгоритм эффективен. На самом деле десяток одновременно работающих простых и несхожих алгоритмов дают гораздо более ровную эквити дохода, чем один супернавороченный алгоритм.
  22. Аватар Replikant_mih
    Антон Иванов, Согласен, хорошие алгоритмы чаще работают сразу, при настройках на глаз, чем нехорошие). Но, что значит параметры, которые устраивают? — в том плане, что касаемо рисков — ок, такие параметры могут устраивать или нет, но в плане остальных параметров меня может устраивать не устраивать результат стратегии, её робастность, но не сами параметры — какая мне разница, на сколько больший объём пройдёт в паттерне, относительно среднего объёма на предыдущем графике или на сколько вырастет или упадет волатильность и т.д. Многие боятся многопараметрических стратегий — типа они не работают, это зло и т.д., по мне так это зло при неправильном подходе к оптимизации. С многопараметрическими системами гораздо проще курвфитить)) тупо из за гораздо большего разнообразия и тупо числа прогонов. А если параметров мало — тут уже сложнее себя обмануть, но каких-то других причин считать многопараметрические системы хуже малопараметрических не вижу.
  23. Аватар Replikant_mih

    Мышкин, Почитал пост. Ну, во-первых, он на самом интересном месте обрывается)). Из полученных прогонов я вижу смысл убирать только разве что нерепрезентативные (где мало сделок или что-то аналогичное). А так, мне кажется надо смотреть значимость отдельных вводных параметров стратегии, их корреляцию с результатом. Но это лайт версия, более сложные варианты завязаны на то, что параметры могут вступать во взаимодействие друг с другом — на такое взаимодействие и выявление закономерностей в нём неплохо ложатся методы машинного обучения. Но я ищу менее наукоёмкие инструменты.

    Ранжировать прогоны по красивости результатов не сложно, а вот оценить робастность прогона — в этом основная трабла. Взять красивый график, прогнать out of sample — этого мало. А вот взять красивый график, неким набором методов убедиться, что результат закономерен, затем out of samplom'ом удостовериться в корректности выводов — уже сложнее. Собственно сложность в этом самом наборе методов.

  24. Аватар Антон Иванов
    Хороший алгоритм должен показать нормальный результат безо всякой оптимизации. Если идея рабочая, то она будет работать именно с теми параметрами, которые тебя устраивают. Например: меня устраивает максимальный размер стопа 1%, а оптимизация говорит, что оптимальный — 3%. Конечно, при 3% уровень дохода и эквити становятся очень красивыми, но меня такая просадка не устраивает. Поэтому я включаю оптимизацию только после того, как меня устаивает результат алгоритма без оптимизации. Только после этого, по результатам оптимизации можно посмотреть, а нельзя ли что-то улучшить.
  25. Аватар Replikant_mih
    VladMih, Мне исправление админ незааппрувил))

Оптимизация торговой системы (стратегии).

Оптимизация торговой системы – привидение её к некоему состоянию, при котором она будет давать оптимальное соотношение входящих параметров с точки зрения максимизации некоей функции от целевых показателей, частный случай — максимизация значения одного простого параметра, ну там – доходность в % на капитал и т.д.

Из этой достаточно обширной темы хотел бы обсудить оптимизацию с точки зрения значений параметров параметрической торговой стратегии, а так же целевого критерия (той самой вышеупомянутой целевой функции). У меня страсть к автоматизации и систематизации, поэтому мне хочется в эту целевую функцию заложить всё – и доходность и робастность и диверсификацию и прочее, а не так, что целевой показатель у нас профит фактор, а остальные критерии мы как-нить руками проанализируем – мне кажется, такой подход это промежуточный между интуитивным и системным).

В общем, даже если система простейшая – она параметризована, так что вопрос выбора значений параметров – всегда актуален. При тестировании системы, при тестировании её с конкретным набором значений параметров, часто юзают outOfSample метод. Но это лишь контрольный метод, метод проверить, а не ошибся ли я, посчитав такую систему закономерностью, такой набор значений параметров и получаемый при нём результат закономерным, а не случайным. Но это не панацея, более того, результат OOS вполне себе может быть неплохим и в случае если система плохая – случайности же могут в обе стороны гулять). Так что упор надо делать на доказательство, а не на подтверждение. Ну в плане доказательств я пока в поиске)), рисёчу в этом направлении). Пока мне как минимум очевидно, что каждый отдельный параметр должен как-то коррелировать с результатом отлично от никак), ну или группа параметров.

Чтобы купить акции, выберите надежного брокера: