Блог им. Replikant_mih
Всем привет. С вами рубрика «Данные говорят». Да, это первый выпуск в этой рубрике). В этой рубрике мы будем разговаривать с данными. Нет, я не сошел с ума. Данные будут говорить, а я только слушать. А с вами данные тоже разговаривают?
Погнали. Под данными в данном случае имею в виду числа, графики числовых рядов, таблички и аналогичное. В данном конкретном случае речь про числа, графики, таблички по итогам бэктестов стратегии (её болванки, или другими словами корневой идеи).
Если уметь слушать данные, то можно многое услышать – например, например, можно находить баги в коде стратегии, интересные идеи, резервы и т.д. Затягиваешь параметром диапазон значений, а число трейдов растёт? – Ну значит где-то баг. Если вслушиваться в данные – иногда можно идентифицировать не только факт наличие бага, но и его локализацию и характер.
Теперь конкретней про «корреляция графиков зависимости лонга и шорта от значения параметра». Наверно, по формулировке не очень понятно, о чем речь. Тем более, предположу, что так глубоко и в эту сторону копают не только лишь все. Поэтому поясню: допустим, я хочу понять роль параметра А в стратегии, самый простой вариант – не шевеля параметры Б, В, Г и Д, перебирать А с некоторым шагом. Вот мы пошевелили А, не шевеля Б, В, Г, Д. А теперь для каждого прогона посчитали, допустим Profit Factor (возьмем его условно за некий показатель, характеризующий качество стратегии) отдельно для лонговых позиций и отдельно для шортовых. Ну и построили два графика – значение PF в зависимости от А для лонга и значение PF в зависимости от А для шорта. Так вот, иногда/часто эти графики будут прилично коррелировать.
Собственно, хочется понимать, что хотят сказать данные посредством такой корреляции. По идее это говорит неслучайности результатов, типа уж есть шорт с лонгом одинаково реагируют на параметр, то именно такой характер реакции не случаен, а следовательно и параметр не хрен с горы, а достойный внимания кандидат на. Может у кого есть какие-то другие рассуждения или уже готовые выводы на эту тему?
Если вы в эту глубину не копаете и считаете, например, что это оверкилл и лучше тратить время на генерирование идей и конкретный рисёч стратегий – ставьте минус в комментариях). Если вы считаете, что это всё пустое и лишнее, но при этом считаете проблему переоптимизации актуальной и ваши стратегии «ломаются» сразу после запуска в бой – ставьте два минуса в комментарии).
johnsson08, Ну а что значит разные? Именно в приведенном контексте? И разные — в смысле не коррелируют в приведенном контексте?
Даже в приведенном контексте график шорта если и коррелирует с лонгом, идет почти всегда ниже лонга.
Вот смотрите, любая задача машинного обучения (в т.ч. задача подгонки параметров любого робота, даже если это 2 мувинга с 2мя параметрами) заключается в нахождении таких параметров модели/алгоритма, которые позволяют алгоритму «захватить»/эксплуатировать некоторые существенные свойства реально существующей закономерности.
Чтобы было наглядно понятно о чём я, проще объяснять не на рынке, а на хоть обычном MNIST (набор изображений рукописных цифр). Модель распознавания должна иметь такие параметры, которые позволяют ей эффективно работать не только (и не столько!) на том наборе данных, на котором подбирали её параметры, сколько на новых, никогда моделью не виденных примерах. Т.е. когда после обучения модели вы сами от руки пишете цифру (миллион цифр), скармливаете её модели, и если она её/их правильно распознаёт (с наперёд заданной устраивающей вероятностью успеха), значит всё ок. Модель смогла правильно «обобщить»/генерализовать закономерность, позволяющую отличить одну цифру от другой. Если этого не происходит, т.е. модель отлично работает только на тренировочном наборе данных, но на новых данных сбоит, — значит она не смогла своими параметрами «ухватить суть» закономерности и просто запомнила тренировочные данные (банально подогнала свои параметры под тренировочный набор).
Вот в лонгах алгоритмизированные закономерности как работали на тренировочном сете, так примерно так же работают и на тестовых, т.е. модель нормально генерализуется. Но шорты — нет. Там обобщения добиться не получается. Не сказать, что это странный результат в данном случае, но это уже совсем другой разговор.
Главное, что из этого надо вынести — поскольку рынок устроен так, что условия для торговли в лонг и в шорт разные, а так же, что их торгуют очень разные участники с разными целями, то ситуация, когда модель успешно работает на лонгах, но сбоит на шортах — вполне ожидаема и нормальна. Зависит от вашей модели, кого и как она ловит.
На Си, кстати, почти наоборот.
SergeyJu, И это говорит о...?
А если не повышает, то это говорит в свою очередь о...?
Возможно, что система очень общего характера — какая-нибудь трендовая пробойка.
А возможно, что баги в коде или методиках)
Лично у меня, гораздо большая проблема — придумать параметр А, нежели его прощупать)))
robomakerr,
>>«что система очень общего характера — какая-нибудь трендовая пробойка»
В смысле юзают наиболее общие закономерности, общие для разных тикеров, рынков, тайм-фреймов и вот лонг-шорт?
>>«Лично у меня, гораздо большая проблема — придумать параметр А, нежели его прощупать)))»
Прощупать параметр — больше рутина с какого-то момента. Придумать параметр больше творчество.
Например, чтоб работала трендовуха, актив должен быть трендовым. И скорее всего он будет трендовым в обе стороны.
Я например знаю только один класс активов, у которого есть устойчивое смещение в лонг, обоснованное физическим устройством реального мира — индексы американских акций.
Для всех остальных активов, я не вижу принципиальных причин лонгу и шорту быть сильно разными.
Это если речь о системах общего характера, самых простых.
Конкретные паттерны, типа USDRUB по понедельникам, или НДПИ, могут конечно иметь тип «long only» или «short only».
Наверно витиевато выражаюсь, сорри, сплю на ходу.
robomakerr, Да не, все понятно), спасибо. Я так и думал, что это имеется в виду. Типа если корневая идея — некий фундаментальный фактор, то он найдет отражение везде, как реликтовое излучение). Но есть и узкие специфичные закономерности, там узость может быть сколь угодно узкой.
Меня просто в изначальном сообщении смутило «система очень общего характера», просто из формулировки следует, что это какой-то узкий сегмент, а у меня почти все системы такие)). Видимо, мне просто именно в этой области нравится копаться.