Блог им. Replikant_mih
Прокрастинировать тоже надо правильно. В алго не все задачи вау-интересные, много рутины, иногда хочется сменить пластинку. Отлично на эту роль подходит какой-нибудь креативный рисёч. Важно, чтобы было не слишком затратно по усилиям, иначе завязнешь, тоже станет скучно и т.д. При этом тема рисёча должна быть интересной, нестандартной или мотивирующей. В этот раз в качестве такого отвлечения решил погрызть извечный грааль алгостроения – прогнозирование состояния рынка.Думаю, вы знаете, что на рынке есть такие состояния, при которых любые (ну не любые, конечно) стратегии начинают хорошо перформить. И поэтому, умея прогнозировать такие состояния, ты как бы накачиваешь все свои стратегии стероидами.
По-быстрому без изысков определил как чё буду делать, на что смотреть (назовём это предикторами) и как измерять эффект. В принципе первые же предположения сработали. Но до грааля далеко. Эффект (for fun) получен, результат (и задел на будущее получен), дальше можно возвращаться, улучшать, развивать, ветвить рисёч.
Каков результат. Тут как в обычных алго-стратегиях: есть некоторые параметры и можно их так «закрутить», что «входов» будет мало. Т.е. фильтр будет говорить в 99,5% случаев трендовым стратегиям: «лучше не надо», а в 0,5% случаев: «во, выпускайте быка», при этом в этих 0.5% тоже не прям вау супер эффект и стопроцентное попадание. Либо есть второй вариант применения, мы делим все случаи некой границей пополам: вот тут у нас условно-трендовый участок ожидается, тут условно-флетовый. Поскольку тут никакого зажимания параметров нет, то и высокого качества фильтрации состояний ожидать не приходится. Изначально нарезал график на равные участки, разметил тренд/флет, разметил так чтобы трендовых и флетовых было примерно одинаково. Ну т.е. в выборке 50% трендовых участков, 50% флетовых. Так мой фильтр если попросить его на неизвестной ему выборке разделить тоже на равные группы, разделит в правильную сторону с эффектом в пару процентов, т.е. где система сказала, что эти 100 это треновые участки, эти 100 флетовые и среди трендовых будет 52% трендовых, среди флетовых 52% флетовых. Вроде, с этим каши не сваришь, так себе преимущество. Но плюс здесь в том, что ты ничего не отбрасываешь. Но это работает, если у тебя есть хороший портфель флетовых стратегий (контртренд или типа того), тоесть у тебя нет участков простоя, потому что у тебя под каждый участок есть свой специализированный портфель стратегий.
Но в любом случае это пока очень-очень MVP, как будет в следующий раз скучно – вернусь к исследованиям.
Мерой трендовости, если чё, взял PF стратегии на пересечении 2-х MA с разными интервалами. Мера непрерывная, это и позволяет находить нужную границу чтобы делить в нужных пропорциях.
Ну и старый алго-Парето принцип намекает: если малыми усилиями не получилось, выжать первый нормальный эффект, то дальше заеустанешь пыль глотать, чтобы добиться прироста эффекта, так что перспективы грааля по-прежнему туманны).