Блог им. Replikant_mih

Не любите многопараметрические стратегии? – Вы просто не умеете их готовить.

На самом деле в этой теме нужно много о чем сказать, не забыть бы всего). Начну с начала: много, очень много от кого слышу про то, что параметры – зло, много параметров – большое, нечеловеческое зло. Типа чем больше параметров, тем меньше шансов что в out of sample бою стратегия будет работать так же как и на is sample тесте. Здесь, наверное, надо сделать небольшое отступление: в трейдинге, как в кодинге, справедливо правило: если что-то работает, то и зашибись, не надо ничего менять. Простые стратегии работают (не все конечно) – это факт, и хорошо. Если вы не умеете работать со стратегиями с большим числом параметров – работайте с простыми стратегиями. Ещё в трейдинге есть правило: выбирай лучший вход – если у тебя есть достаточно выдержки, то ты будешь отсекать входы, где вроде и оно, но не совсем, я лучше подожду, чтоб был вход без «но» — и этот подход хорошо работает. Это я к чему такое отступление (применительно к теме поста) делал – к тому, что если у вас работают простые стратегии (здесь, далее и ранее, простые – с малым числом параметров или без них вообще) – торгуйте их, зарабатывайте и радуйтесь жизни. Но я всё-таки уверен, что много-параметрические стратегии работаю, нужно просто подойти с правильной стороны. Ниже об этом.

 

Далее хочу рассказать, почему моё отношение к многопараметрическим стратегиям несколько оппозиционно. Но начну с аналогии)). Возьмём бары, минутные и часовые. Возьмём 10 часовых и 600 минутных баров, представляющих один и тот же результат. В каком наборе содержится больше информации – очевидно, в минутном. С каким проще работать, опять-таки, почти очевидно – с часовым. И там и там можно найти одни и те же формации, тот же треугольник, только на часовых это будет 3 подряд идущие свечи с сужающимися диапазонами, а на минутках – обычный классический треугольник. Больше ли будет нести инфы треугольник на минутках относительно трехсвечного треугольника, представляющего точно ту же самую формацию? – конечно больше. Другими словами абсолютно одинаковые трехсвечные формации на часовиках внутри на минутках могут быть абсолютно разными и если вы не умеете работать с информацией, то для вас это будет зло, в этом случае ваши результаты будут лучше если вы анализируете свечные формации а-ля из 3-х свечей, если же умеете, вы сможете, условно говоря, на 3-х свечных часовых добиться таких же результатов, как и чуть выше упомянутый субъект, а на минутках – ещё лучших результатов.  Таким образом у этих людей рост объёма информации в одном случае приведет к улучшению результатов, в другом к ухудшению. К чему аналогия – а к тому, что с многопараметрическими стратегиями то же самое – умеешь – получишь лучшие результаты, не умеешь – не торгуй и торгуй то, что умеешь и получишь неплохие результаты, просто будешь упускать часть возможностей.

 

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

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

Про то, а какие же методы правильные – в следующих выпусках)). Вроде ничего не забыл по теме.

★3
66 комментариев
Вот когда Вы начнете писать по делу, а не вообще-вообще, тогда и будем посмотреть.
avatar
SergeyJu, Когда-нибудь начну)), я вообще люблю абстрактный уровень больше чем конкретный, так что вообще-вообще, возможно, будет много)). Ну а так, я щас активно теоретически обучаюсь, по завершению — перехожу в бой) — будет больше конкретики.
avatar
Replikant_mih, если рассуждать абстрактно. 
Нужно спросить себя, а какой средний срок удержания позиции и какой средний доход на сделку я хочу иметь. Предположим, далеко не ХФТ, то есть средний доход на сделку, условно, 1%. Тогда квантование потока цен по уровню, условно, 0,1% будет нести, навскидку,  90% необходимой Вам информации, а все, что ниже — как ни усирайся, 10%. Если на 90% инфы Вы имеете 2-х параметрическую систему, добавление еще 10% инфы более, чем 1 параметр Вам не добавит. 
А квантование по уровню 0,1% на FRTS даст Вам примерно тот же часовой бар. Ну, или получасовой, без разницы. 
avatar
SergeyJu, 
навскидку,  90%

ну, посмотрел по сторонам, посмотрел контекст, не нашёл ни одного обоснования такой навскидки). 

Если на 90% инфы Вы имеете 2-х параметрическую систему

Я так-то тему с таймфреймами привел как аналогию и пример упрощения и работы с доп. информацией, а так-то никто не мешает получить 10 параметров и без спускания с часовиков на минутки.
avatar
Рекомендовано: срочно погружаться в реальные торги, через два года непрерывных реальных алготоргов эти «наивности» исчезнут почти сами собой.
avatar
Sergey Pavlov, Это типа вы не согласны с изложенными мыслями?))
avatar
Replikant_mih, Гегель весьма обстоятельно на феноменологическом уровне показал как вообще-вообще всякое бытие, если в него очень пристально всматриваться, превращается в ничто...

P.S. не согласен:)
avatar

Sergey Pavlov, Накинете пару аргументов против? — или пока я не выдам чего-то практического на основе результатов боевых торгов — вы мне бойкот объявляете?))

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

avatar
Replikant_mih, например, вот это:
В каком наборе содержится больше информации – очевидно, в минутном. С каким проще работать, опять-таки, почти очевидно – с часовым.
Это, конечно, не верно.

Дело не в теоретизировании как таковом, а в том, по какому поводу строится теоретизирование. Трейдинг это очень практичное занятие, в котором очень полезно теоретизировать, но теории строить очень практичные, отталкиваясь от опыта и предметной наполненности. Сны разума с легкостью рождают чудовищ…
avatar
Sergey Pavlov, 
Это, конечно, не верно.

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

avatar
Sergey Pavlov, вместе с депозитом, и, возможно не одним )) Рубрика «вредные советы»!
Попробуйте свою теорию на опыте.
avatar
Андрей К, Конечно! Щас по платформе обучение прохожу, когда будут знания платформы достаточные для закрытия всех этапов, особенно непосредственно торговли стратегий в бою — сразу же перехожу от теории к практике)).
avatar
Какой смысл писать такие статьи не имея практического опыта алго торговли?
avatar
Egor Prosto, В статье я затрагиваю тему анализа данных, создания стратегии, её оптимизации — у меня есть подобный опыт. Он не огромен конечно + у меня есть уже хороший опыт анализа данных в целом. Этого достаточно чтобы рассуждать на тему. Вы считаете лучше когда люди, имеющие практический опыт алгоритмической торговли, пишут полный трэш как по выводам, так и даже по логичности рассуждений?
avatar
А всё просто, любую, даже простейшую систему без параметров можно параметризовать, параметризовать можно абсолютно всё, ну или как минимум много чего))). И в этом мульти-параметризованном варианте, производном от изначальной беспараметрической системы, такая беспараметрическая система будет частным случаем много-параметрической, одним из вариантов комбинаций значений параметров, другими словами, т.е. один из множества прогонов с разными значениями параметров будет соответствовать тому самому изначальному беспараметрическому варианту.

Мне вот тут фраза понравилась: «А всё просто» ^^
avatar
Alex, да, если вам нравится слово «параметр», «параметризованный» и производные, то эта часть должна сильно понравиться)))
avatar
особенно непосредственно торговли стратегий в бою — сразу же перехожу от теории к практике

так переходите сразу. чего ждать: www.portfolio123.com Используется в Стенфорде для построения моделей. 15 дней триала, — достаточно для проверки любой теории.
avatar
Alex, Я не хочу проверять теорию ради проверки теории)), я хочу торговать в бою и зарабатывать деньги этой торговлей :). Это цель. Поэтому я по порядку пойду).
avatar
 Я не хочу проверять теорию ради проверки теории)), я хочу торговать в бою и зарабатывать деньги этой торговлей 

добро пожаловать! PS Завидую я вашему оптимизму :p

avatar
Alex, Да, оптимизм, юмор — это всё хорошие качества, помогают справляться с временными трудностями, которые в трейдинге — частый гость трейдера.
avatar
помогают справляться с временными трудностями, которые в трейдинге — частый гость трейдера.

нет ничего более постоянного, чем временное ^^
avatar
кстати о заработке… вы знали, что Quantopian выплачивает $5000 ежемесячно алгоритму, взявшему самый большой профит (вернее скорз) на демонстрационных торгах?
avatar
Alex, хм, любопытно
avatar
вот правила
а вот условия capital allocation (продажа лицензии на алгоритм)
avatar
Alex, Спасибо, помечу себе. Я пока сосредоточился на этапе создания пула работающих стратегий. Этап увеличения отдачи от пула работающих стратегий у меня дальше))
avatar
Replikant_mih, заголовок хороший, но всё, что дальше, простите, полный бред ) забудьте про свечи, их нет )

Zweroboi, Поскольку вы называете полным бредом не меня, а всего лишь мою писанину, то я проигнорирую даже то, что вы не приводите аргументов и… прощу вас)

А свечи есть, они не могут не есть)

avatar
Replikant_mih, аргумент очень простой. Основная проблема от увеличения количества параметров стратегии состоит в том, что значительно улучшаются результаты от её переподгонки на истории и на out-of-sample в том числе, если мы просто отбрасываем те стратегии, которые плохо работают на OOS. Ваша «писанина» не содержит даже свидетельств понимания этого момента, не говоря уже о каких-то подходах по его преодолению )
Zweroboi, Хм, любопытно, по-моему я явно указал, что большое число парамтеров — проблема ИМЕННО при таком подходе к оптимизации, а поскольку большинство (а из контекста понятно, что и вы тоже) пользуются именно таким подходом, то для таких людей да, много параметров — зло.
avatar
Replikant_mih, какая разница, сколько параметров при неправильном подходе? Это совершенно неважно. Но самое смешное, что других-то подходов особо нет. Всё равно надо обучать модель на одних данных, а проверять на других ) Это как-бы мета-подход, и куда от него деться? )
Zweroboi, важно, при большем числе параметров — легче курвфитить — степеней свободы больше, красиво лечь на график — легче)). Да, надо обучать. Но процесс обучения может быть разным! В том же машинном обучении миллион подходов, почему в ручном варианте он должен быть один?
avatar
Я пока сосредоточился на этапе создания пула работающих стратегий

Хех. Средняя зарплата блек стаб кодера = $300K в год. На Западе целые «спец-подразделения» институциональных фондов рыскают в поисках «голов». Вот вам и все «торговая стратегия» :p 
avatar
Alex, Нет, меня такая не устраивает.
avatar
Нет, меня такая не устраивает.

Т.е. 300.000 американских денег в год вас не устраивает? Вы в каком мире живете, дорогой Replikant_mih? (ничего личного) :p
avatar
Alex, Меня не устраивает работать наёмно, как минимум это.
avatar
 Просто многопараметрические стратегии  при оптимизации легко подгоняются под историю. 
 Но если форвард-тестирование показывает устойчивые результаты —  то почему бы и нет?
avatar
SuperMegaTrader, Так я про то и говорю, что подгонять под историю — это только один из вариантов работы с параметрами, и конечно же не то чтобы не самый правильный — он просто ни разу не правильный. И при этом он не единственный. Одно форвард тестирование к сожалению тут не всегда спасает.
avatar
Replikant_mih, 
С каги работаете?
avatar
SuperMegaTrader, не приходилось)
avatar
Replikant_mih, я к тому, что трейдеры, работающие с патернами волатильности, как правило, уходят от понятия «таймфрейм» — и  используют гаги, ренко, зигзаги по  волатильности итп, построенные по данным, несущем больше информации, нежели бары — как правило, по аск/бид истории. 
avatar
SuperMegaTrader, Возможно, когда-нибудь в ту сторону тоже буду смотреть, пока хватает пространства для рисёча и без этой области :)
avatar
SuperMegaTrader, потому что форвард тестирование это тоже может быть переподгонка, если мы выбрасываем те стратегии, которые плохо его проходят.
Zweroboi, А вот эта мысль очень здравая! Если у тебя хреновый алгоритм (подход) к оптимизации, то OOS тебя не сильно спасёт (по озвученной вами причине).
avatar
Replikant_mih, это не моя мысль, это общеизвестные азы машинного обучения.
Zweroboi, Я не оцениваю её как вашу именно), и не знаком с машинным обучением глубоко, просто вижу мысль — оценил её качество))
avatar
Zweroboi, что значит переподгонка? Случай теста на пиках плохих параметров? И такое может быть.
 Так делается многофорвардный тест, который, как правило, решает эту проблему. Т.е тестируется робот со встроенным оптимизатором. И на основании этого можно судить о перспективности стратегии.
avatar
SuperMegaTrader, переподгонка, в общем смысле — обучение модели моделировать данные, а не сам процесс, который их породил. Многофорвардный тест сам по себе от неё тоже не спасает, это всего лишь частный случай n-fold кроссвалидации, которая тоже сама по себе не спасает )
Zweroboi, да, это всё валидация и варианты валидации(!). Ты хрен пойми как делаешь модель, а вот с валидацией ты заморачиваешься по полной. А вот именно этапу обучения, на мой взгляд, недостаточно внимания уделяется.
avatar
Replikant_mih, Я-то? Я как раз наоборот загоняюсь по моделям и алгоритмам обучения, если с ними всё нормально, то с валидацией проблем нет )
Zweroboi, нет, это оборот речи такой)
avatar
Zweroboi,  а что тогда спасает?  (Кроме как обучение модели моделировать сам процесс, а не данные, которые он породил).

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

А когда трейдер накидал кучу индикаторов на график и пытается оптимизировать их многочисленные параметры, то как определить что параметры не г-но?  Или нефиг рыпаться, ибо они по-любому будут г-но, т.к это имеет мало общего с моделированием процесса?
avatar
SuperMegaTrader, может быть я не совсем корректно выразился, «не спасает» не в том смысле, что не нужна вообще кросс-валидация. Она всего лишь даёт некоторую чиселку, которая сама в свою очередь является случайной величиной, со своим каким-то распределением. Взяли одни интервалы — будет одна, другие — другая. Если распределение, скажем, плюс-минус около нуля, а мы всё, что нам не нравится, выкидываем и оставляем только 5% справа — то вот привет подгонка.

Разумеется, решение лежит в плоскости устройства самой модели и алгоритма подбора её параметров (обучения), они рассматриваются в комплексе, и глядя на распределение результатов кросс-валидации для разных случайных выборок уже можно делать какие-то выводы.
Zweroboi, А как думаете, возможно ли создать прибыльного бота под линейную торговлю на наборе стандартных индикаторов путем оптимизации их параметров? ТАм и параметры взаимозависимые почти все.
avatar
SuperMegaTrader, в смысле, можно ли сделать прибыльного бота на технических индикаторах? Конечно можно, даже не можно, а нужно! ) Не совсем понял только, что значит «путём оптимизации их параметров» — зачем оптимизировать параметры индикаторов? Нужно просто больше индикаторов с разными параметрами )
Zweroboi, у меня не особо получилось. Возможно, не сильно времени уделил и знаний прикладных не достаточно было -бросил играться с оптимизацией.   Хотя, это еще когда я только пришел на форекс было дело. Возможно, то что не прокатило на форексе — на российском рынке акций прокатило бы. Он на много более неэффективен.
Раз говорите «даже не можно, а нужно!»  - значит неспроста Вы этим серьезно занимались и получили результаты. )
   Какой результат  теста для Вас приемлем? Имею в виду статистику.   Фактор  воссановления, к-т Шарпа и др. 
avatar
SuperMegaTrader, у меня свой софт, никогда не пользовался какими-то встроенными оптимизаторами и стандартными метриками типа Шарпа, они имхо не очень информативны. Я смотрю только на среднюю сделку и чтобы торговля не выглядела случайной — стат. тесты смотрю что показывают — писал в блоге у себя тут.
SuperMegaTrader, а уж какие у модели входные данные — значения индикаторов или что ещё, это на что фантазии хватит )
SuperMegaTrader, ботайте ресамплинг короче )
Zweroboi, не, ботать хватит с меня.) С оптимизацией многопараметрических у меня ничего толкового не вышло. В плане, получения устойчивого результата. И не собираюсь дальше рыпаться.  Я исследовал влияние изменения каждого параметра на результат. В итоге пришел к выводу, что почти все параметры, которые я использовал -г-но и «результат» выходил лишь благодаря тому что «звезды сошлись» случайно.  А когда начинал отсеивать «плохие» параметы — то из многопараметрической системы получались одна-двупараметрические. Кстати, почему -то  уверен, что у автора  90% параметров в его многопараметрических системах — мусор.
avatar
SuperMegaTrader, Так это очень похоже на мой подход! Может я не все детали озвучил, хотя я вроде это упоминал — просто может только в комментах — если я вижу, что параметр мусорный — я его и не искользую — и тем более не использую в оптимизации, тем более в оптимизации с примитивным подходом а-ля отсортировать по профит-фактору.
avatar
SuperMegaTrader, От себя отвечу, что если много парамтеров — это из-за того что ты используешь индикаторы многопараметричекие или много индикаторов, или много многопараметрических индикаторов)) — то да, это так себе подход. Для меня приятней работать с чем-то из серии:
фронтраннинговые, арбитражные системы и другие, тесно связанные с моделированием процесса ценообразования -самой сути рынка. 
Я прекрасно такие вещи параметризую и тут параметры уже более «реальные», более осмысленные штоли.
avatar
Replikant_mih, респект тогда.
avatar
Трейдер, — это всегда наемный рабочий :p
avatar
Alex, ничего подобного.
avatar
Replikant_mih, не будем углубляться в детали ^^
avatar

теги блога Replikant_mih

....все тэги



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