Доброго дня всем добрым людям!
Имею алгоритм, который у меня приличное время был основным торговым, который я в первый год своей торговли написала и развивала, меняла, совершенствовала. В 2017 г мы пробуксовали почти на месте, в 2018 году результат был очень хорошим, начало 2019 тоже довольно неплохим было — и снова начался некоторый «затуп».
Эквити до 1 сентября (белая — это эквити, синяя — эквити длинных позиций, желтая — эквити коротких позиций)
Просадка (сверху в рублях, снизу — в процентах от депозита)
Вопрос: есть ли какая-то возможность определить, что стратегия перестает работать пораньше, чем будет к примеру превышена текущая максимальная просадка в процентах? По каким критериям вы решаете исключать стратегию из портфеля как отжившую свое? Параметры оптимизируются регулярно, раз в квартал. Уже как-то не помогает, из графика наверное заметно.
2. Желательно иметь портфель разных систем на разных активах, тогда выход одной системы даже в большой минус не страшен.
3. Регулярная оптимизация, имхо, опасный подход. Я беру в работу системы, которые ПРИЕМЛЕМЫ на большом интервале и УСТОЙЧИВЫ к изменению параметров.
Вот у Вас есть команда. Каждый кто-то что-то делает. В какой момент Вы решаете, что данный человек не справляется с работой и его пора отправить на рынок труда?
Так и с роботом — это такой же сотрудник только имеющий специфический набор обязанностей.
Всё прекрасно, так и должно быть.
Это плохой критерий. Как верно выше заметил Evgene Logunov — максимальная просадка бесконечна в пределе времени, нарастает вместе с ним, но, к счастью с некоторого предела делает это очень медленно.
По прямым признакам на эквити — нет. По косвенным признакам — сколько угодно.
Я бы на вашем месте радовался жизни.
=) В такой формулировке, мне кажется, ответ очевиден.
Какая у вашей стратегии вероятн выигрыша и отношение выигрыша к проигрышу?
эту черную дыру, сравнимую только с черной дырой под пассажирским сиденьем) 70% — О Т В А Л И Т Ь
Мы мониторили сколько спреда мы отдаем в среднем по ордерам, и это был достаточно надежный показатель. Если спред начинал расти, то мы понимали, что нужно уменьшать объемы или искать новую ликвидность.
Если вы торгуете какой-то один ликвидный фьючерс, то этот подход вряд ли применим.
Что мы делали. У нас была одна основная стратегия (60-70%) портфеля, а остальной капитал все время крутился в новых стратегиях, которые мы запускали на тестовый период. Постоянно шел процесс поиска новых стратегий. Только так.
Второе. Следует понять, есть ли у нас методика проверки стратегии на устойчивость к изменениям рыночных параметров (робастность)? Если методики нет, то всё плохо…
Получение «гладкой» границы методом композиции простых решений.
Зачем всё это нужно нам?.. Ума не приложу. Разве что с той целью, чтобы из тестовых выборок навыбирать плохих кусков и вдруг, неожиданно обнаружить, что если частоты условных трендов в будущем не будут совпадать с выборочными, то… мы обречены на провал. То есть такой тест репрезентативности выборки по отношению к нашему оверфитингу/ системе.
Я вам обещал эту тему раскрыть как стационарность «кризисов» (которые совсем не кризисы) в 2008/2000. Раскрою.
Стратегии перестают работать, как правило:
-изменился рынок (индикатор — снижение гросс PnL на сделку, снижение количества сделок / сигналов)
-стратегия уперлась в потолок ликвидности (индикатор — рост маркет-импакта)
-выросли операционные косты (индикатор — рост % комиссии за сделки, плечи и т.п.)
-частичное изменение рынка (например, только шорты перестали работать или лонги, или отдельный сектор не работает (например, биотех сильно отличается от других секторов по своему поведению))
Нужно анализировать результаты и понять первопричину.
В остальных случаях уместно искать возможность «догадаться» или «заподозрить», используя все, что тут написали (кроме проблем проскальзывания при росте торгуемого объема, ибо это из другой оперы). Стратегии на основе разновидностей традиционных индикаторов — как раз такого типа. Для анализа их деградации логичнее изучать не столько причину умирания, сколько причину работоспособности в прошлом.
Во-первых вы предполагаете, что знаете чего-то, например частоту появления сигналов (которые, кстати, вы получаете не чаще чем на полностью случайном шуме, если верить вашим презентациям).
Во вторых, вы предполагаете, что способны каким-то образом оценить качество вашей стратегии на сигналах.
Допустим, вы получили убыток на удачном для вас рынке. Как вы будете это интерпретировать?
Допустим, вы получили убыток на неудачном для вас рынке. Как вы будете это интерпретировать?
Допустим даже, что вы ещё умеете качественно интерпретировать результаты вашей стратегии в случае полностью удачного и полностью неудачного рынка и получили убыток на неудачном для вас рынке. Как вы будете это интерпретировать?
Именно так я нашёл ошибку в одной из своих систем в 2008-м и именно поэтому оставил системы без изменений после 2011-го, пересмотрев только свое отношение к шортам, на которых можно было заработать в тот год и закончить его, пусть и в небольшом, но плюсе и к увеличенным плечам, несвоевременное включение которых и увеличило минус почти в 2 раза.
Нет, это наука об обработке данных.
Это неверно.
Это неверно.
Таким образом, ваш анализ базируется на двух неверных утверждениях о которых я написал ранее, но в обратном порядке:
1. Вы постулируете, что вам точно известно качество вашей стратегии на «хорошем» рынке.
2. Вы постулируете, что вам известна частота «хорошего» и «плохого» рынка.
Ваше отношение к шортам: Long + Short/2 есть ни что иное как балансировка лонг и шорт позиции в предположении бестрендового рынка. Быть может, вы говорите о чём то другом, но сути это не меняет.
Что неверного в моей второй цитате? Критерий на различие средних непараметричен.
Что неверного в выводе из третьей цитаты, что изменился рынок? По тому же критерию.
1. Я постулирую, что на этих состояниях система имеет положительное МО.
2. Я постулирую, что частота одного и того же состояния в разные временные отрезки — разная.
Как торговать шорты — это вопрос рисков и не более того.
Не вижу применения этому критерию. И особенно не вижу применения этому критерию в рамках поставленной задачи.
Если бы вы это постулировали, то вы бы это не проверяли критериями. И именно из-за того, что вы этого не постулируете, а проверяете критериями вы неизбежно совершаете ошибку (2 рода).
Если бы вы это постулировали, то вам не потребовалось бы проводить свой анализ повезло/не повезло, так как не было бы предмета сравнения (эталона). Но поскольку вы постулируете ровно обратное — что вероятность одного и того же состояния во все отрезки времени одинакова — у вас появляется возможность оценивать отклонение частоты от вероятности.
В данной задаче мы имеем в качестве двух выборок:
— P&L системы на одном классе состояний рынка в разные временные периоды;
— количество «успехов» (в смысле появления состояния из класса) в разные временные периоды.
Почему мы не можем проверить гипотезу о совпадении средних в этих двух задачах непараметрической статистики? Зачем нам «эталон» в непараметрическом случае?
Ошибка первого рода конечно есть, ну так вопрос принятия или непринятия гипотезы о равенстве — это вопрос её априорного задания.
А то, что хорошая система должна иметь одинаковый средний (!) P&L на классах «близких» состояний рынка я именно постулирую. И первый критерий равенства средних именно на проверку «слома» системы. Ну а второй просто для анализа текущего рынка, объяснения неудач хорошей системы и повод для поиска систем для диверсификация или фильтров, ограничивающих торговлю системы на классах состояний с отрицательным средним P&L. Я вообще далёк от мысли о стационарности ценовых рядов и существования «эталонов» частот встречаемости. Как и не верю в существование систем с положительным P&L на любых состояниях рынка.
Я действую также, только примитивнее.
А что касается «малости», то пара десятков испытаний одного класса вполне достаточно для выводов с ошибкой первого рода 0,05. Конечно для более маленькой ошибки этого маловато. Понятно, что на новом временном отрезке мы можем и не набрать пары десятков состояний из одного класса, но это уже вопрос применимости конкретного критерия в конкретной ситуации.
Смысл разбивать дисперсию на составляющие с тем, чтобы прекратить торговлю по достижению макс. просадки в одной из них имеется только тогда, когда дисперсия отдельной составляющей много меньше дисперсии суммы.
Можно работать по двум составляющим или по их сумме — это одно.
Совершенно другое, это когда вы игнорируете одну из составляющих не имея при этом точных представлений о ней и совершаете ошибку первого рода.
Наконец, совершенно другое дело, когда вы иметее точное представление о составляющей, но игнорируете его, контролируя просадку по этой составляющей и неизбежно совершая ошибку второго рода.
Это всё не работает, хотя должно, для систем в которых одна из составляющих априорно известна, например:
В таком случае классический факторный анализ предлагает нам отказаться от проверки гипотез по этой составляющей и отслеживать просадки только по второй.
Тогда ваше предложение и его конкретная реализация -
вообще не уместны.
Совершенно иное дело, когда система может (теоретически) «поломаться» на отсутствии трендов, сохраняя своё преимущество к рынку на трендах. Как только вы допускаете такую возможность весь факторный анализ теряет актуальность. (Кроме того, что позволяет вам лучше понимать собственную систему).
Существуют игры и системы, которые могут «поломаться» только на частотах и не могут «поломаться» на трендах по определению — в таких играх применение «факторного анализа» весьма распространено, хоть и практически не приносит сколько-нибудь ощутимой пользы.
Найти подходящий фактор для конкретной системы или группы систем — это не всегда просто. Просто лучше потратить время и поискать, нежели отбрасывать идею с порога из философских соображений.
Фактором могут быть частоты, амплитуды, корреляции, дивидендная политика эмитента, да что угодно. Ищите, да обрящете. Или не ищите. Нечего тут обсуждать.
Но у вас с А.Г., вероятно, какие-то другие системы, что вы делаете всё наоборот и это для меня сегодня более чем загадка. При этом, когда вы строите фильтры — делаете верно (в смысле логика ясна), а в факторном анализе почему-то наоборот.
Может быть потому и делаете так, что строите фильтры. Тестируете фильтр, так сказать.
А разница возникает естественным образом. Фильтры и системы — это про прогноз, а факторы в данном контексте — про объяснение постфактум. Да, и не надо в данном контексте про пни, деревья, бустинги и прочие бутсрепы. Пока ищем фичи, не более того.
Вообще то именно равна сумме дисперсий. Ведь дисперсия суммы двух СВ — это сумма дисперсией плюс удвоенная ковариация. А дисперсия суммы любого числа СВ равна сумме дисперсией плюс удвоенные попарные ковариации.
Да, я уже с портфелями тут...
В действительности вы получаете на комбинации распределение с «тяжёлым хвостами», качество которого в среднем ниже, чем у каждой компоненты в отдельности.
Однако, всё же, если говорить об отрицательных значениях теста на сумме компонент и сумме отрицательных значений теста на каждой из них в отдельности, то «сигналов» слома на сумме будет меньше, чем «сигналов» слома на отдельных компонентах. А «сигналов» слома по сумме и по одной компоненте будет равное количество.
Но вообще-то мы начали с разделения P&L системы по классам состояний рынка. Какое это имеет отношение к линейным комбинациям СВ?
В моих системах имело прямое, такое, что дисперсия факторной части была ниже дисперсии полного эквити потому что дисперсией другого фактора я имел полное право пренебрегать. Но у меня задача другая была, к рынку абсолютно никак не относящаяся.
В вашей задаче, говорю, имеет значение только частота срабатываний «сигнала выхода из строя» когда :
1. Ломается рынок
2. Ломается «система»
3. Ломается или то или то
4. Ломается и то и то
5. Ломается и то и то, пусть по чуть-чуть, но так, что использовать систему уже не возможно.
Вы выбрали пункт 2 из 5 возможных.
Я бы выбрал пункт 5 или, быть может, пункт 1.
Всё зависит от того что вы постулируете. Если не постулируете ничего, считая что рынок вам не известен и изменчив во времени, то единственно верное решение — пункт 5.
Оставь надежду всяк сюда входящий ©
даже для бэктеста нужно иметь, что бэктестить ;)
Пищи для размышлений мне написали достаточно на месяц работы как минимум, спасибо коллегам. Пост не был на тему похвастаться или кому-то что-то продать. Вчера стратегия обновила макс просадку, и я задумалась, могла ли я заранее это по графику доходности предвидеть. Теперь буду исследовать, как написал Антон, «тренд в сильнозашумленной серии наблюдений нестационарной случайной величины». Если есть комментарии по сути вопроса — буду благодарна.
Почему ваш вопрос ставиться так: В моем понимании, этот вопрос должен выглядеть следующим образом:
" По каким критериям вы определяете размер доли депозита, используемый данной стратегией".
Подумайте над этим.
Тоже кажется что TransaqConnector, понадежнее будет чем QuikLua, QuikDDE пока не пробовал.
Можно простым языком? Даже больше лугретен интересно.