Блог им. Replikant_mih

Данные говорят. Корреляция графиков зависимости лонга и шорта от значения параметра.

Всем привет. С вами рубрика «Данные говорят». Да, это первый выпуск в этой рубрике). В этой рубрике мы будем разговаривать с данными. Нет, я не сошел с ума. Данные будут говорить, а я только слушать. А с вами данные тоже разговаривают?


Погнали. Под данными в данном случае имею в виду числа, графики числовых рядов, таблички и аналогичное. В данном конкретном случае речь про числа, графики, таблички по итогам бэктестов стратегии (её болванки, или другими словами корневой идеи).


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

 

 

Теперь конкретней про «корреляция графиков зависимости лонга и шорта от значения параметра». Наверно, по формулировке не очень понятно, о чем речь. Тем более, предположу, что так глубоко и в эту сторону копают не только лишь все. Поэтому поясню: допустим, я хочу понять роль параметра А в стратегии, самый простой вариант – не шевеля параметры Б, В, Г и Д, перебирать А с некоторым шагом. Вот мы пошевелили А, не шевеля Б, В, Г, Д. А теперь для каждого прогона посчитали, допустим Profit Factor (возьмем его условно за некий показатель, характеризующий качество стратегии) отдельно для лонговых позиций и отдельно для шортовых. Ну и построили два графика – значение PF в зависимости от А для лонга и значение PF в зависимости от А для шорта. Так вот, иногда/часто эти графики будут прилично коррелировать.

 

Собственно, хочется понимать, что хотят сказать данные посредством такой корреляции. По идее это говорит неслучайности результатов, типа уж есть шорт с лонгом одинаково реагируют на параметр, то именно такой характер реакции не случаен, а следовательно и параметр не хрен с горы, а достойный внимания кандидат на. Может у кого есть какие-то другие рассуждения или уже готовые выводы на эту тему?

Если вы в эту глубину не копаете и считаете, например, что это оверкилл и лучше тратить время на генерирование идей и конкретный рисёч стратегий – ставьте минус в комментариях). Если вы считаете, что это всё пустое и лишнее, но при этом считаете проблему переоптимизации актуальной и ваши стратегии «ломаются» сразу после запуска в бой – ставьте два минуса в комментарии).

15 комментариев
Ну, скажем так. У меня на шортах и лонгах получаются настолько разные результаты (конкретно мои стратегии на шортах не генерализуются, т.е. оптимизация на трейне, конечно, всё красиво показывает, но тесты всё валят), что на шорты я пока вообще забил.
avatar

johnsson08, Ну а что значит разные? Именно в приведенном контексте? И разные — в смысле не коррелируют в приведенном контексте?

Даже в приведенном контексте график шорта если и коррелирует с лонгом, идет почти всегда ниже лонга. 

avatar
Replikant_mih, что значит разные — я ж написал, толком не генерализуются. Т.е. зафитить параметры на тренировочном сете можно, но тестовый сет однозначно показывает, что это просто подгонка. Обобщения закономерности (или самой закономерности) алгоритму ухватить не получается.
avatar
johnsson08, Я не совсем понимаю, что имеется в виду, что значит «не генерализуется», например. Ну ладно чё, бывает)).
avatar
Replikant_mih, блин)) Генерализация==обобщение на новые, ранее не виденные моделью данные.

Вот смотрите, любая задача машинного обучения (в т.ч. задача подгонки параметров любого робота, даже если это 2 мувинга с 2мя параметрами) заключается в нахождении таких параметров модели/алгоритма, которые позволяют алгоритму «захватить»/эксплуатировать некоторые существенные свойства реально существующей закономерности.

Чтобы было наглядно понятно о чём я, проще объяснять не на рынке, а на хоть обычном MNIST (набор изображений рукописных цифр). Модель распознавания должна иметь такие параметры, которые позволяют ей эффективно работать не только (и не столько!) на том наборе данных, на котором подбирали её параметры, сколько на новых, никогда моделью не виденных примерах. Т.е. когда после обучения модели вы сами от руки пишете цифру (миллион цифр), скармливаете её модели, и если она её/их правильно распознаёт (с наперёд заданной устраивающей вероятностью успеха), значит всё ок. Модель смогла правильно «обобщить»/генерализовать закономерность, позволяющую отличить одну цифру от другой. Если этого не происходит, т.е. модель отлично работает только на тренировочном наборе данных, но на новых данных сбоит, — значит она не смогла своими параметрами  «ухватить суть» закономерности и просто запомнила тренировочные данные (банально подогнала свои параметры под тренировочный набор).

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

Главное, что из этого надо вынести — поскольку рынок устроен так, что условия для торговли в лонг и в шорт разные, а так же, что их торгуют очень разные участники с разными целями, то ситуация, когда модель успешно работает на лонгах, но сбоит на шортах — вполне ожидаема и нормальна. Зависит от вашей модели, кого и как она ловит.
avatar
johnsson08, все акции растут (счастливы) одинаково. Падают акции (несчастны) каждая по своему. 
На Си, кстати, почти наоборот.

avatar
johnsson08, Ясно! И длинное объяснение понял и потом перечитал исходные сообщения с учетом объяснений — тоже все понял)), спасибо. Ну тогда это немного противоречит наблюдаемым мною данным. Мож показатели некорретно вычисляются), или модели такие симметричные. Продолжаем наблюдение).
avatar
Если система реверсивная, то повышение доходности лонгов одновременно повысит доходность шортов. 

avatar

SergeyJu, И это говорит о...?

А если не повышает, то это говорит в свою очередь о...?

avatar
Replikant_mih, это говорит, что вход лонга есть выход шорта у реверсивной системы. И улучшение одного есть автоматически улучшение и другого.
avatar
SergeyJu, Ааа, такая реверсивная). Ну это другое — тут не про это — там-то понятно)).
avatar
Возможно, они хотят сказать, что актив симметричный — например валютные пары.
Возможно, что система очень общего характера — какая-нибудь трендовая пробойка.
А возможно, что баги в коде или методиках)
Лично у меня, гораздо большая проблема — придумать параметр А, нежели его прощупать)))
avatar

robomakerr, 

>>«что система очень общего характера — какая-нибудь трендовая пробойка»

В смысле юзают наиболее общие закономерности, общие для разных тикеров, рынков, тайм-фреймов и вот лонг-шорт?

 

>>«Лично у меня, гораздо большая проблема — придумать параметр А, нежели его прощупать)))»

Прощупать параметр — больше рутина с какого-то момента. Придумать параметр больше творчество.

avatar
Replikant_mih, 
В смысле юзают наиболее общие закономерности, общие для разных тикеров, рынков, тайм-фреймов и вот лонг-шорт?
ага.
Например, чтоб работала трендовуха, актив должен быть трендовым. И скорее всего он будет трендовым в обе стороны.
Я например знаю только один класс активов, у которого есть устойчивое смещение в лонг, обоснованное физическим устройством реального мира — индексы американских акций.
Для всех остальных активов, я не вижу принципиальных причин лонгу и шорту быть сильно разными.

Это если речь о системах общего характера, самых простых.
Конкретные паттерны, типа USDRUB по понедельникам, или НДПИ, могут конечно иметь тип «long only» или «short only».

Наверно витиевато выражаюсь, сорри, сплю на ходу.
avatar

robomakerr, Да не, все понятно), спасибо. Я так и думал, что это имеется в виду. Типа если корневая идея — некий фундаментальный фактор, то он найдет отражение везде, как реликтовое излучение). Но есть и узкие специфичные закономерности, там узость может быть сколь угодно узкой.

 

Меня просто в изначальном сообщении смутило «система очень общего характера», просто из формулировки следует, что это какой-то узкий сегмент, а у меня почти все системы такие)). Видимо, мне просто именно в этой области нравится копаться.

avatar

теги блога Replikant_mih

....все тэги



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