Начнем с традиционной таблицы
Ноябрь я встретил в таком положении «фильтров»:
RI-тренд – лонг+шорт без плеча;
Si – только лонг с плечом;
GAZP, GMKN – малый «фильтр пилы» (1 из 4-х систем может торговаться в лонг и разрешен полный шорт, который торгуется на 1/3 от лимитов полного лонга);
SBER — большой «фильтр пилы» (полный аут).
А потому 2 ноября мой счет прибавил только +0.16% и на конец дня оказался в позиции:
RI-тренд – лонг на 100% лимитов;
GAZP, GMKN – лонг на 25% лимитов;
Si, SBER – аут.
Таким образом, в последующие дни сильных движений и роста волатильности основная «тяжесть» по «добыванию» прибыли легла на «плечи» RI-тренд и он справился с этой «ношей». И только с 9 ноября к нему на помощь пришли GAZP и SBER, открывавшие лонги по новым входам систем. А чуть позже к ним присоединился и GMKN.
Оглядываясь в прошлое, я рассчитывал на рост волатильности в период американских выборов, о чем говорил неоднократно на своих вебинарах с весны. Но ответ на вопрос: «поймают» мои системы этот рост или нет? Оставался для меня открытым. «Поймали», хотя и не во всех инструментах «на все 100».
Не понимаю вот чего: зачем уделяется такое большое внимание проверке на прошлых данных. Есть ведь очевидные доказательства, что это бесполезно.
Например:
Проверяем классическую трендовую систему. Её результат зависит от того, как будут распределены тренды и «пила» в период работы системы.
На объединённых прошлых данных, например, с начала 1990-х гг и до 2020 года, среднее соотношение трендов и «пилы» будет, например, 60% на 40%. При таком соотношении ТС покажет результат, равный, допустим, 20% годовых. Вроде бы, всё хорошо.
Но ведь это усреднённое соотношение за весь период. На отдельных участках оно может быть и 90-10, и 5-95. И если мы включим ТС в настоящую торговлю, то можем попасть на такой участок.
Тогда мы на торгах получим результаты, не совпадающие с тестированием. Причём настолько сильно, что смысла в тесте никакого нет. ТС с проверочной доходностью в +20% может показать -30% и выброшена как негодная.
Но дело ведь не в ней — она правильная — а исключительно в особенностях рынка в этот период.
Начнем с традиционной таблицы
Октябрь выдался «месяцем фильтров». Практически во всех инструментах мои «фильтры» меняли рекомендации, как «флюгер на ветру». А в таком инструменте, как Сбербанк, «фильтры» успели за месяц побывать во всех позициях:
— малый «фильтр пилы» (1 из 4-х систем может торговаться в лонг и разрешен полный шорт, который торгуется на 1/3 от лимитов полного лонга),
— «лонг+шорт без плеча»,
— «только лонг с плечом»,
— и, наконец, большой «фильтр пилы» (полный аут).
Дошло того, что три дня с 27 по 29 октября я вообще не включал финамовский квик, где торгуется моя стратегия Стань квалифицированным инвестором!, так как и Газпром и Сбербанк были в полном ауте (точнее на счете оставались только «синтетические облигации») и закрыты для торговли фильтром «большой пилы».
Начнем с традиционной таблицы
В целом месяц можно назвать «кто в лес, кто по дрова». В первой декаде сливали RI и Si, причем в RI это делали и тренд, и контртренд (последний исключительно за счет убытка за 1 день – 02.09, практически равного всей августовской прибыли). Но убыток RI отбивался прибылью на Спот+”синтетика” и собственно весь минус по счету давал Si, весь месяц торговавшийся в режиме «только лонг с плечом». Во второй декаде уже RI-тренд стал лидером прибыли и до 21-го, включительно, отбил весь убыток и начала месяца, и августа, но в третьей декаде не удержался и сначала «отдал рынку» половину полученной прибыли, но 30-го все «вернул». Увы, но Спот+”синтетика” перешел во второй декаде в режим «борьбы с нулем», который сменил сильный убыток в третьей декаде из-за падения Газпрома и «пилы» в Норникеле. А Si, наоборот, пересидев вторую декаду в ауте, в третьей дал прибыль, перекрывавшую и убыток первой декады и бо
Т.е. закономерно, что туда кто-то попадет, закономерно какая доля туда примерно попадет. Но закономерно и то, кто куда попадет.
Речь, понятно, о распределениях случайной величины. Чтоб не уходить в абстрактные дебри (с риском потери нити) сразу на примере. Случайная величина – среднегодовая доходность трейдера через 5 лет торговли.
Просто часто слышу, что постоянно все списывают на ошибки выжившего, на распределения. Из 1000 фондов 3 перформят очень хорошо, а в среднем 1000 очень даже хреново – ну эти парни случайно попали в хвост, через пару лет на их месте будут другие. Несколько чуваков отлично торгуют руками – ну, нет смысла даже смотреть что они делают, случайно залезли в хвост, ошибка выжившего – мы на это не купимся, не будем смотреть что и как они делают.
Булщит по-моему.
Распределения случайной величины выглядят так (нормальное распределение, например) не просто так. Можно взять простую модель и разложить результат как совокупность влияния факторов. Так вот если все факторы складываются хорошо, то и результат скорее всего будет хороший и результат попадет в положительный хвост. Так вот эти самые факторы обычно вполне себе контролируемые вещи. В нашем примере с трейдером, если чел четко анализирует обратную связь и улучшается на основе нее (один фактор), не глуп (другой фактор), имеет некоторый благоприятствующий психотип (ещё фактор) и т.д., то он, конечно, может попасть в самое любое место распределения, но мат. ожидание все-таки будет прилично смещено относительно общей выборки.
Придумал интересный подход. Мож кого натолкнет на интересные идеи какие-то.
Сейчас начал торговать ML модели. С практической стороны с моделями какая сложность – там есть процесс предобработки данных – генерация признаков в основном (если с точки зрения трейдинговых данных заходить), поэтому нельзя просто сохранить модель, в другом месте загрузить и она будет работать, надо сохранить, загрузить, предобработать исходные данные к тому виду, к которому приучена модель и только тогда она будет работать. К счастью тонна сопутствующих трудозатрат убирается такой классной штукой как пайплайн – сейчас моя модель это 2 пайплайна – один для предобработки данных, другой для предикта (сама модель). Т.е. я где-то что-то рисечу, дальше автоматика упаковывает в пайплайны (2 на модель, как сказал). Все, могу кинуть эти 2 файла в папку с моделями, откуда их забирает торгующий блок и, собственно, отторговывает. Красота. Всякие мета-данные – тикер там, время удержания позиции и прочие мета-логики упаковываю или в сам пайплайн или в название файла. Красота.
Берём 2 эквити:
1. Плавный рост, доходность 15% годовых.
2. Ступенчатый рост (рывок-плато-рывок-плато), доходность 40% годовых.
С точки зрения коэффициента Шарпа, какая предпочтительнее?
Можно ли вообще примерно прикинуть Шарп по форме эквити?
Неоднократно попадались такие споры в комментариях:
«Я проверял на прошлых данных такую-то стратегию или семейство стратегий — она не работает».
«Я тоже проверял — всё работает».
То есть, мы имеем разных людей, делающих проверки на истории одного и того же, и уверенных, что всё делают правильно, но получающих разные, а иногда и противоположные результаты.
Получается, мы выходим на такие темы как:
1. Разные методологии проверки на прошлых данных.
2. Разное качество такой проверки, зависящее от знаний проверяющего.
Значит, нужно вывести идеальную модель бэктестинга, строго её описать и сверять все проведённые бэктесты с этой моделью.
И ставить алготрейдерам оценки от 1 до 5, в зависимости от соответствия проводимых ими проверок идеальной модели.
Вопрос: вывел ли уже кто-то такую идеальную модель бэктеста?
И где её найти?