Перейти к содержанию

Роберт Карвер 2


88

Рекомендуемые сообщения

RobCarver.md.png

Три способа испортить свою торговую стратегию (и как их избежать)

 

          Роберт Карвер – системный трейдер, который провел немало лет на должности главы отдела AHL, одного из крупнейших фондов количественного трейдинга. Сейчас он торгует самостоятельно, используя долгосрочные стратегии. В данном интервью он поднимет сложный и, можно сказать, философский вопрос о том, что можно считать подгонкой, и расскажет, как ее избежать. Интересного чтения! 

 

          Ссылки: YouTube, сайт подкаста, первое интервью с Робертом

 

***

 

          — Доброе утро, добрый день, добрый вечер! Рад, что вы смогли к нам сегодня присоединиться! Случалось ли с вами такое: вы создаете торговую систему, проводите бэктесты, получаете прекрасный результат, начинаете торговать… Но система внезапно перестает работать! Или работает, но результаты оказываются гораздо ниже ожидаемых. Что ж, если с вами такое случалось, вы не одиноки! С этим сталкивались многие трейдеры, не исключая и меня. Возможно, вы гадаете – что же вы сделали не так? Что сломало ваши торговые стратегии? Именно это мы сегодня и обсудим – три способа испортить свою торговую стратегию! И гость у нас сегодня просто фантастический! Я всегда рад возможности пообщаться с ним. Сегодня у нас в гостях Роб! Роб – количественный трейдер с богатым опытом компьютерного моделирования. Он уже дважды посещал наш подкаст! Роб, добро пожаловать, я вам всегда рад! Хорошо, что вы смогли к нам сегодня присоединиться!

 

          — Большое спасибо, Эндрю! Рад, что вы меня пригласили!

 

          — Вы с нами на связи из Великобритании! Если я правильно помню, у вас сейчас режим самоизоляции. Как идут дела?

 

          — Да… Завтра наш премьер-министр выступит с речью! Мы все надеемся, что он расскажет о плане снятия режима самоизоляции. Все ждут этого с нетерпением! Мы сегодня отправились вместе с семьей на прогулку... Прошли мимо трех пабов – ни один не работает! Большое разочарование [смеются]. Больше всего меня интересуют две даты – открытие пабов и открытие школ!

 

          — Да уж, это точно! Не могли бы вы для начала рассказать в двух словах о себе и о своей торговле? Для тех, кто не знаком с вами, вашими работами и вашим опытом! Как вы начали торговать? Как пришли к своему текущему подходу? Чем вы занимаетесь сейчас?

 

          — Первый опыт профессионального трейдинга я получил двадцать лет назад! У меня два экономических образования – бакалавриат и магистратура. После вуза меня взяли на должность трейдера экзотическими опционами в Barclays Capital. Так в те времена называлось подразделение Barclays, специализирующееся на инвестиционном банкинге. Пару лет я занимался этим! А потом еще пару – экономическими исследованиями. После этого я устроился в AHL, крупный фонд количественной торговли, он входит в Man Group. Активов в управлении там было 20-30 миллиардов, так что это – игрок достаточно крупный! Сначала я работал над созданием системы для торговли глобальных макроэкономических данных. Я занимался этим в течение нескольких лет, после чего меня повысили до главы отдела торговли продуктами с фиксированной доходностью. На него тогда приходилось около 40% всех активов в управлении, так что… Риски были приличными! Но это был интересный опыт.

 

          А примерно семь-восемь лет назад я решил, что торговля на чужие средства – это слишком большой стресс! Вся эта ответственность оказывает серьезное давление... Конечно, стоит учесть и то, что я работал в AHL с 2006 по 2013 – период достаточно интересный! В общем, я ушел в отставку. Сейчас я торгую на свои деньги, используя свои собственные системы, созданные мной с нуля. Системы полностью автоматические! Я написал три книги: «Systematic Trading», «Smart Portfolios» и «Leveraged Trading». А еще я преподаю в университете. В общем, постоянно чем-то занят! Но, к счастью, мне больше не приходится вставать затемно и отправляться работать на дядю! Что здорово.

 

          — Да… Надеюсь, пабы скоро откроют, и вы сможете сходить выпить пива! Но не прямо с утра, конечно [смеется]!

 

          — Было бы здорово!

 

          — Хотя можете и с утра, не мне судить!

 

          — Если бы захотел – мог бы себе позволить! Это – один из плюсов торговли на собственные средства… Как и системного трейдинга! Компьютер работает, даже когда я в пабе.

 

          — Да, именно! Это – одно из главных преимуществ системной торговли. Итак, сегодня мы обсудим сложности, с которыми сталкиваются системные и количественные трейдеры! Как я и сказал во вступлении к выпуску, нередко бывает, что трейдер создает просто прекрасную стратегию, которая легко проходит бэктесты, и думает – ну все, наконец-то теперь разбогатею и захвачу весь мир! Но когда он начинает по ней торговать, то получает опыт, далекий от ожидаемого… Сегодня вы расскажете нам, в чем именно заключается проблема, и что мы можем сделать, чтобы ее решить. Но прежде чем углубляться в подробности, давайте сначала обсудим все на более базовом уровне! Как вы думаете, почему так сложно создать стратегию, которая показывала бы в реальной торговле результаты не хуже, чем в бэктестах?

 

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

 

          А на другой стороне спектра находятся высокочастотные трейдеры, которые используют для оптимизации исторические данные длиной всего в несколько месяцев. На несколько месяцев реальной работоспособности они обычно и рассчитывают!

 

          Так что мир рано или поздно обязательно изменится! Но это не станет для вас проблемой, если вы будете использовать достаточно медленные системы. А вот если вы используете быстрые, вам придется регулярно производить перенастройку...

 

          Второе, что может пойти не так – вы можете совершить в своем бэктесте какую-нибудь очевидную глупость [смеются]. Пожалуй, большую часть того, что мы будем сегодня обсуждать, можно отнести к категории глупостей, но сейчас я говорю о действительно глупых вещах! Например, игнорирование ошибки выжившего… Бывает, что трейдер тестирует систему торговли биржевого индекса или портфолио, состоящего из набора акций, но при этом не учитывает, что некоторые из этих компаний обанкротились.

 

          Или банальная ошибка в датах… Вы анализируете какую-то временную отметку, но ошибаетесь на минуты, часы или даже дни! И ваши результаты оказываются завышенными. Трейдер думает – так, здорово, система отлично смогла поторговать выход данных Nonfarm Payrolls, случившийся в восемь утра! Хотя тот на самом деле произошел в два часа дня… Ошибочка на шесть часов!

 

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

 

          — Верно!

 

          — Если говорить простыми словами, подгонка – это когда мы используем вышеупомянутое предположение, что будущее окажется похожим на прошлое! Но при этом мы доводим все до абсурда, считая, что будущее будет точь-в-точь таким же, как прошлое! Что мы увидим точно такие же данные, как и те, на которых мы проводили оптимизацию. Что, очевидно, совершенно нереалистично… И представляет собой проблему! Причем серьезную, потому что мир со временем обязательно изменится, и мы ничего не можем с этим поделать, чего не скажешь о других проблемах типа игнорирования ошибки выжившего или неправильных подсчетов издержек… Исправить эти проблемы сравнительно просто, нужно всего лишь убедиться, что вы используете правильный набор данных и учитываете все комиссии и так далее. Но вот подгонка – гораздо более коварная вещь!

 

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

 

          — Да, у меня подготовлено несколько слайдов на эту тему! Эндрю, покажете нам первый?

 

1-first-slide.jpg

 

          Я люблю показывать этот график, когда рассказываю про подгонку! Кстати, как раз недавно показывал его своим студентам в университете, в прошлую пятницу… Ось X – сложность модели: чем правее мы находимся, тем сложнее наша модель. Сложность может выражаться в количестве параметров или операторов «если – то», например, «если S&P сделает это, и если FTSE сделает это, то сделай то». Сложные системы могут одновременно обрабатывать информацию из большого количества источников… И при этом обладать большим количеством переменных параметров. В общем, существует множество способов усложнить модель.

 

          Ось Y – параметр так называемой ошибки предсказания [prediction error]. Очевидно, чем ниже ваша система располагается по оси Y, тем лучше.

 

          Давайте на минуту сосредоточимся на красной линии… Она показывает нам, что происходит по мере того, как мы усложняем свою модель, оптимизируя ее на каком-либо отрезке исторических данных. Если использовать слишком простую модель, она не будет захватывать всего происходящего. Параметр ошибки предсказания будет высоким! А коэффициент Шарпа – низким! Маленькая доходность, глубокие просадки.

 

          Как видите, по мере увеличения сложности модели красная линия опускается все ниже и ниже. Ошибка предсказания падает, коэффициент Шарпа растет. И это здорово! К этому мы и стремимся. Говоря на техническом языке, если количество степеней свободы вашей модели равняется шенноновской энтропии вашего набора данных, в теории можно дойти до нулевой ошибки предсказания! Что означает бесконечные прибыли... Модель, которая не ошибается.

 

          Но, разумеется, проблема в том, что мы с вами не торгуем исторические данные! Мы только создаем на их основе свои торговые модели. А торгуем мы в реальном рынке на реальные деньги! Реальный рынок – это данные, которые наша модель никогда не видела. Невозможно заработать на прибыльном бэктесте! Нам нужно, чтобы наша стратегия успешно торговала реальный рынок. Это вам не написать красивую научную работу без капли практики… В некотором смысле писать научные работы проще, чем торговать!

 

          А теперь давайте взглянем на серую линию… Обратите внимание на ошибку предсказания! Как вы могли заметить, серая линия всегда находится выше, чем красная! Ваши результаты всегда будут лучше на тех данных, которые ваша модель уже видела. И всегда хуже на новых для нее данных реального рынка! Это – просто здравый смысл…

 

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

 

          Возвращаясь к проблеме, описанной вами во вступлении… Какую именно ошибку совершают трейдеры? Они сосредотачивают все свое внимание только на красной линии! Они оптимизируют свою модель до тех пор, пока красная линия не начинает выглядеть настолько хорошо, насколько это вообще возможно. А добиваются они этого с помощью усложнения своей модели! И с помощью нескольких других трюков, которые мы тоже сегодня обсудим. Но когда дело доходит до торговли на реальные деньги… Их модель внезапно переключается на серую линию! И чем она сложнее, тем больший шок их ожидает! Система оказывается не такой уж прибыльной… Эндрю, следующий слайд, пожалуйста!

 

2-second-slide.jpg

 

          Нижняя точка серой линии – именно к ней нам нужно стремиться! Это – лучший результат, которого можно достичь без использования выборки реальной торговли. Все, что правее – чрезмерная оптимизация… Или подгонка, как ее еще называют.

 

          Конечно, проблема в том, что никто не дает вам этот график перед началом оптимизации и не говорит: «В данном случае вам нужно ограничиться вот таким уровнем сложности модели». К сожалению, в жизни все не так просто! Могу сказать: практически все известные мне трейдеры, включая меня и, уверен, вас, Эндрю, совершали ошибку чрезмерного усложнения своих моделей, заходя в правую часть этого графика… Это – суть проблемы!

 

          — Да... Прежде чем мы продолжим, не могли бы вы рассказать подробнее о том, что именно вы подразумеваете под сложностью модели? Спрашиваю не просто так! Пожалуй, мне стоило начать свой вопрос иначе. Среди трейдеров распространено мнение, что сложность торговой системы – это просто количество оптимизированных переменных… Некоторые считают, что лучше всего, когда оптимизированных переменных нет совсем! Но судя по вашему графику… По крайней мере, насколько я его понял! Простые системы обладают высоким параметром ошибки предсказания. Или я ошибся?..

 

          — Нет, действительно, модель может быть слишком проста! Как выглядит простейшая торговая модель? «Покупай S&P!». Или ASX… Или, в моем случае, FTSE. Параметр ошибки предсказания у такой модели будет высоким. Она будет хуже, чем какая-нибудь более сложная модель, например, «покупай S&P, когда цена зайдет за скользящую среднюю с периодом 200!». Умеренное усложнение снижает параметр ошибки предсказания и повышает прибыльность.

 

          Можно усложнить свою систему еще сильнее, например, воспользоваться не простой скользящей средней, а экспоненциальной… Или торговать пересечение двух скользящих средних! Или сразу нескольких… А потом добавить дополнительные фильтры и приправить все Фибоначчи… Весьма вероятно, что в какой-то момент этого путешествия вы перейдете в правую часть графика и начнете заниматься не усложнением, а подгонкой.

 

          — Ясно! Хороший комментарий в чате от пользователя с ником skousend: «Самая простая модель – не открывать сделок вообще». Да, иногда эта модель – лучшая, верно [смеются]?

 

          — Возможно, возможно! Но если комментатора интересуют такие модели, он, пожалуй, ошибся с подкастом!

 

          — Кажется, вы хотели показать нам еще один слайд, прежде чем мы перейдем к подробному обсуждению проблем оптимизации?

 

3-third-slide.jpg

 

          — Да, вы спрашивали меня, какими могут быть последствия… Давайте взглянем на третий слайд! Последствий два, и первое из них очевидно. Как уже не раз было сказано, когда начинаешь торговать реальный рынок, начинаются проблемы! Система не дотягивает до ожидаемых результатов или даже торгует в убыток. Но есть и еще одно последствие, менее очевидное! Ваша доходность на бэктестах будет завышенной. И эти два последствия – не одно и то же! Позвольте привести пример.

 

          Предположим, у меня есть торговая стратегия, которая показывает просто прекрасные результаты на исторических данных длиной в несколько лет! И тут я решаю начать торговать по ней реальный рынок. Очевидно, есть вероятность, что все закончится плохо! Возможно, я потерплю несколько лет, но в итоге все-таки избавлюсь от убыточной стратегии. Суть в том, что благодаря этому я получу достаточно информации, чтобы принять взвешенное решение о том, что я, похоже, вложился в стратегию, в которую никогда не стал бы вкладываться, если бы знал, как она работает на реальной выборке… Она не стоила даже того, чтобы проводить по ней бэктесты, но… Если бы я ее не протестировал, я вообще не получил бы о ней никакой информации!

 

          Так что я делаю так… Закончив разработку стратегии, я не запускаю ее на реальном счете, а продолжаю тестировать ее еще несколько лет. И удаляю ее из своего арсенала только тогда, когда получаю значительный отрицательный результат. Важно, что первые несколько лет стратегия будет торговать только в бэктестах… Так что если она окажется убыточной, это не отразится на моей доходности! Что здорово. Такой подход симулирует то, что происходило бы в реальности. Ведь в реальных условиях нам тоже потребовалось бы несколько лет, чтобы накопить достаточно информации и принять взвешенное решение о том, стоит ли удалять стратегию или нет. А на это требуется время! Если вы не будете использовать этот метод, вы не только лишите себя нескольких лет данных, но и будете обладать завышенными ожиданиями насчет своей доходности. Это довольно тонкая тема, не знаю, удалось ли мне ее объяснить!

 

          — Думаю, удалось!

 

          — Так что получение завышенной доходности на бэктестах приводит к двум следствиям! К двум проблемам… Во-первых, завышение рисков! Трейдер смотрит на бэктесты и думает – так, я мог бы сделать 100% в год, но просадка получалась небольшая, значит, я смогу заработать еще больше, если повышу риски! Нечто похожее происходит и с издержками. Трейдер думает – так, раз я буду делать 100% в год, то ничего страшного, если я буду торговать чаще и отдавать за комиссии 20-30%, никаких проблем. Но это не так! Ваша историческая доходность завышена, и у вас на самом деле нет подушки безопасности в 100%. В действительности она гораздо тоньше! Так что нужно искать способы снизить и риски, и издержки.

 

          А если вы торгуете на чужие средства, встает еще и вопрос честности! Если у вас еще нет реальной истории торгов, а есть только бэктесты, и ваши инвесторы достаточно наивны, чтобы поверить в них… Конечно, в ваших интересах, чтобы бэктесты выглядели настолько хорошо, насколько это возможно! Но в долгосрочной перспективе… Пожалуй, это не лучший ход.

 

          — У меня возник один интересный вопрос насчет издержек... Сегодняшние торговые условия сильно отличаются от тех, которые были, скажем, 10 лет назад! Как в плане операционных затрат, так и в плане проскальзываний и так далее… Учитываете ли вы это? И сильно ли это влияет на результаты?

 

          — Я использую простой подход. Издержки я измеряю с поправкой на риск. Если говорить в целом, когда волатильность на рынке растет (хороший пример – март 2020 года), спреды становятся шире, и издержки в денежном значении получатся выше. Если делать поправку на риск, показатель издержек получается довольно стабильным. Но это работает только на ограниченном отрезке исторических данных… Чем дальше мы смотрим в прошлое, тем менее реалистичными будут наши представления об издержках. Если, конечно, вы не торгуете уже 30-40 лет и не собирали все эти годы подробные данные по издержкам. Это может привести к принятию решений, далеких от оптимальных…

 

          Взять к примеру краткосрочные трендовые системы торговли биржевыми индексами... Они торговали довольно неплохо – примерно до 2000 года! А с тех пор их доходность топчется около нуля. Но… Лично я подозреваю, что они не были прибыльными и в прошлом [смеются]! Потому что издержки тогда были гораздо выше. Потом они снизились, эти системы стали выглядеть прибыльно... И перестали работать! Если вы попробуете провести бэктесты, то увидите, что раньше они сделали бы кучу денег! А примерно 20 лет назад они делать деньги перестали. Но в реальности они, возможно, вообще никогда не были прибыльными!

 

          Сейчас я торгую со сравнительно низкими издержками, но нельзя предполагать, что такие же издержки были в восьмидесятых и девяностых! Иначе можно получить нереалистично завышенную доходность. Но это не такая уж большая проблема, если вы не делаете глупостей! Я просто слежу, не вернутся ли прибыльные системы, работавшие в восьмидесятых-девяностых, снова в строй. В таких случаях обычно требуется скопить побольше актуальных данных. В принципе, в этом всегда есть смысл! Но тот факт, что издержки со временем действительно становятся все меньше и меньше – хороший дополнительный аргумент!

 

          — Интересное наблюдение! Я не раз слышал, что стратегии, созданные, скажем, 10 лет назад, прекрасно работали лет 8, а год или два назад начали сливать. Очевидно, возможных причин множество, издержками дело не ограничивается! Но тема все-таки интересная. Окей, как я знаю, сегодня вы собираетесь рассказать нам о трех видах подгонки! Когда я делал рассылку об этом выпуске, я не стал уточнять, о каких именно видах идет речь, так что, уверен, многие гадают, что же вы нам сегодня расскажете! Первые два вида подгонки достаточно очевидны, вы уже успели их коснуться. Давайте приступим? Расскажете нам о первом виде подгонки, который вы, кажется, называете «явным», и о котором известно всем?

 

          — Точно! Именно его обычно подразумевают, когда говорят о подгонке. Что он собой представляет? Вот трейдер берет исторические данные, загружает их в какой-нибудь софт для оптимизации – может, готовый, может, собственной разработки (мой случай), а может, даже в какой-нибудь вычурный алгоритм машинного обучения… И начинает оптимизацию, стараясь получить набор торговых правил или параметров, которые обладают самым высоким коэффициентом Шарпа, наименьшей просадкой и так далее… Очевидно, что это несет в себе опасность подгонки! Если все, что вас интересует – это результаты системы в бэктесте, вы наверняка поддадитесь соблазну немного все усложнить, чтобы получить наилучший набор параметров, который идеально работал бы на вашем отрезке данных. Поступая так, вы рискуете оказаться в ситуации, когда ваша прекрасная система будет разрушена до основания каким-нибудь крошечным изменением рынка.

 

          Про этот вид подгонки известно всем. Что приводит к двум следствиям… Первое – большинство трейдеров отдают себе отчет в том, что они это делают! Это не секрет. Спросите у любого трейдера, что такое подгонка, и он, вероятно, опишет вам именно этот процесс. И это хорошо! То, что все об этом знают – это хорошо. Но следующие два типа подгонки, которые мы обсудим… Большинство людей о них, честно говоря, даже не подозревают!

 

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

 

          Мы можем сказать ему – окей, оптимизируй стратегию в последний год данных… Потом подожди год и проведи реоптимизацию уже на двух годах данных! А потом еще раз и еще… Возможно, рано или поздно вы решите, что все, хватит, данных достаточно, с этого момента будем просто использовать последние 10 лет. Некоторые называют это форвардным тестированием. Суть в том, что это в некоторой степени имитирует то, что мы делали бы в реальной торговле… Ведь в этом и заключается смысл бэктестов! Как я уже говорил, невозможно узнать, способна ли система на прибыльную торговлю, пока вы не проверите это на новых данных.

 

          Я люблю говорить так… Машины времени не существует. В реальности у вас ведь нет машины времени? А значит, не нужно тестировать свои стратегии так, как будто она у вас есть! Не нужно делать бэктест с оптимизацией на выборке длиной в 30 лет. Вы же не Марти Макфлай! Представьте, как он перемещается из 1985 в будущее, скачивает все исторические данные, записывает их на какую-нибудь древнюю дискету, чтобы ее можно было прочитать в его эпоху, и возвращается обратно... Помните, как он попал в прошлое с результатами ипподромных забегов из будущего? Кажется, это было во второй части «Назад в будущее»! Именно так и выглядит бэктест, когда вы используете все доступные вам данные! Как будто у вас есть машина времени…

 

          Лучше использовать форвардное тестирование, позволяя компьютеру оглядываться на прошлое по мере движения в будущее. Так вы будете имитировать то, что делали бы на практике! Начали бы торговать в 1985 году практически вообще без данных. С годами получали бы их все больше и больше… А вместе с ними и доказательства прибыльности или убыточности вашей стратегии! Это – более честный, более реалистичный подход. Это – первое!

 

          Второе, что можно предпринять – приказать компьютеру использовать для калибровки и оптимизации более надежные подходы. Надежность – концепт, которому нелегко дать четкое определение! Но суть в том, что ваша модель должна быть настолько сложной, насколько это оправдано для имеющихся у вас данных, но не больше! Если вы скормите надежному процессу оптимизации стопроцентный шум, он вам ответит: «Пф-ф-ф, понятия не имею! Понятия не имею, какая торговая модель тут будет подходящей, это просто шум!». А ненадежный процесс скажет: «О да, вам подойдет вот такая модель с 500 параметрами!».

 

          Так что существует немало интересных способов и техник, но сегодня у нас не хватит времени, чтобы пройтись по всем. Лично мне нравится такой подход… Я начинаю с набора очень простых торговых правил, отвожу на них небольшую сумму – и начинаю применять форвардный подход. Сначала все наборы правил находятся в равных условиях, ведь аргументы в пользу какого-либо из них у меня просто отсутствуют. Но со временем я получаю их все больше и больше! Например, замечаю, что вот эти торговые правила не коррелируют, диверсификация – это хорошо, возможно, стоит вложить в них больше средств, а вот у этих правил лучшие результаты, им тоже стоит повысить капитализацию.

 

          Использование этого подхода гарантирует, что мы не будем отклоняться от сценария равенства до тех пор, пока не получим для этого веского довода. А значит, маловероятно, что мы вложим все свои деньги в какое-то одно торговое правило! Просто потому, что маловероятно, что все полученные нами аргументы будут в его пользу. В итоге мы получим диверсифицированный набор торговых правил, а не одно правило, которое можно легко подогнать.

 

          — Вы упомянули несколько техник, которыми можно злоупотребить... Знаю, вы собираетесь подробнее рассказать о них в следующих темах, так что давайте продолжим! Второй вид подгонки – «скрытый». Им занимаются все, но никто в этом не признается [смеются]. Полагаю, чтобы осознать это, трейдерам придется заняться самоанализом! Расскажете нам о скрытом виде подгонки?

 

          — Окей, он выглядит так! Представим, что вы создаете торговую модель... Причем очень простую! С каким-нибудь простым правилом, параметров минимум… Хотя это относится и к сложным правилам, и явному типу подгонки, но… Суть в том, что чрезмерной оптимизацией могут грешить даже те трейдеры, которые думают, что уж они-то точно чисты душой, потому что используют только простые торговые системы! Так вот, у вас есть какое-нибудь торговое правило, простое или сложное, и вы решаете его протестировать, посмотреть, работает ли оно. И вот вы видите, что правило далеко от идеала … И решаете в нем что-нибудь изменить. Снова прогоняете бэктест – «вау, гораздо лучше! Окей, буду использовать второй вариант!».

 

          В чем проблема? В том, что это – тоже подгонка! Просто она проводится самостоятельно, без помощи компьютера. Ведь вы, по сути, сказали: «Я взял набор исторических данных, прогнал по нему два варианта и выбрал наилучший». Это – подгонка! То, что вы не воспользовались для этого компьютером или каким-нибудь алгоритмом машинного обучения, не означает, что подгонки нет. Я называю этот вид подгонки скрытым, потому что если вы спросите у человека, который это сделал, использовал ли он подгонку, он ответит – нет, не использовал! Но у этого подхода точно такие же последствия, как и у явной подгонки. Более того, он даже опаснее! По двум причинам.

 

          Первая – очевидно, в данном случае трейдер не признает факта подгонки! Вторая – подгонкой занимается человек, а не компьютер, что означает, что мы имеем дело с неконтролируемым процессом. Вы можете заставить компьютер использовать только форвардную оптимизацию. Но себя вы заставить не сможете! Вы уже просмотрели кучу данных и приняли решение, оттолкнувшись при этом, возможно, от всей доступной вам истории! Ну, или только от последних двадцати лет, если вы умеете держать себя в руках… Вы можете заставить компьютер использовать только надежные варианты оптимизации. Но себя вы заставить не сможете, вы просто скажете – вот этот вариант лучше, выбираю его! И не станете тратить свое время на всякие вычурные байесовские анализы, взвешивая каждый вариант по отдельности…

 

          У скрытого вида подгонки есть несколько, так сказать, уровней греховности [смеются]. Худший вариант – изменение параметров. Предположим, вы тестируете стратегию, которая торгует пересечения скользящих средних с периодами в 2 дня и 6 дней… И тут вы думаете – интересно, а если использовать вместо этого периоды 2 и 8? Вы пробуете – о, так лучше, выберу второй вариант! В общем-то, в этом даже нет ничего скрытого, вы совершенно очевидно выбираете наилучшую модель, отталкиваясь от результатов бэктестов.

 

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

 

          Есть и еще более скрытые варианты… Например, вы можете начать подбирать длину временного отрезка для определения своего ATR или стандартного отклонения… Это относится уже не к торговой стратегии, а к контролю рисков, так что это не считается, верно? Нет, считается! Это все равно подгонка.

         

          А еще вы можете изменять то, что на техническом жаргоне называется гиперпараметрами… Скажем, вы используете какую-нибудь программу, которая сама проводит за вас оптимизацию… Некоторые из таких готовых программ выглядят совершенно впечатляюще! Они предлагают вашему выбору целую сотню способов подгонки. Кажется, что разумный вариант – пройтись по всем методам оптимизации и выбрать тот, который выдает наилучшую модель, верно? Вы не занимаетесь подгонкой! Подгонку делает за вас компьютер, а значит, все честно, так? Конечно же, нет! Даже выбор метода оптимизации, по сути, является оптимизацией! Ведь для создания торговой модели вы используете весь доступный вам набор данных.

 

          Так что да… Вот так выглядит скрытый тип подгонки! Если кто-то признается мне в этом грехе, я, конечно, скажу прочитать три раза «Аве Мария», ну или аналог в их религии, и скажу – иди и не греши! Но вопрос в том, как можно этого избежать? Эндрю, готовы ли вы признаться мне в том, что тоже в прошлом поддавались греху скрытой подгонки?

 

          — Несомненно!

 

          — Так я и думал!

 

          — А что насчет вас?

 

          — Несомненно! Думаю, все это делали [смеются]! Так как же этого можно избежать? Начать нужно со скрупулезной честности! Если вы уже прогнали бэктест, ничего не меняйте. Если вы торгуете так же, как я, используя портфолио торговых правил… Каждый раз, когда вы будете тестировать новое правило, вам нужно будет добавлять его в свое портфолио систем для бэктеста и следовать тому же методу, что и я... Если выяснится, что модель нерабочая, не нужно выкидывать ее и сразу переходить к следующей. Позвольте системе самой снизить свою долю капитализации по ходу последующих бэктестов. Вероятно, когда придет время перевести ее на реальные деньги, вы уже прекратите по ней торговать – годы плохих результатов снизят ее капитализацию до нуля. Но что важнее – коэффициент Шарпа вашего портфолио для бэктестинга не будет преувеличен… Потому что эта плохая модель будет присутствовать в нем на протяжении многих лет!

 

          Вот так в идеале и нужно делать. В крупных фирмах прекрасно умеют с этим справляться. Там работают компьютерные системы, которые регистрируют каждый проведенный вами бэктест! Буквально ловят вас с поличным! Когда вы придете к инвестиционному комитету и предложите им прекрасную новую идею с впечатляющей доходностью, вам ответят – ага, ничего удивительного, Роб, ведь ты провел 150 000 бэктестов, чтобы создать эту красотку [смеются]!

 

          Есть приемы, позволяющие контролировать эту так называемую проблему множественного тестирования. Например, нельзя устанавливать какой-либо порог, а потом добиваться его, проводя одну оптимизацию за другой… Рано или поздно вы обязательно получите желаемый результат – просто по чистой случайности! Если вы решите найти систему с винрейтом в 99%, а потом протестируете 500 моделей, вы обязательно ее найдете, причем даже не одну! Но в реальной торговле винрейт этих систем, конечно, окажется гораздо ниже. В статистике есть специальные инструменты, помогающие избегать этого эффекта.

 

          А еще постарайтесь не доводить дело до датамайнинга! Не пытайтесь вытянуть из своих исторических данных какую-либо модель. Не позволяйте данным диктовать вам то, как будет выглядеть ваша система! Я предпочитаю следовать методу, который называю «идеи – в первую очередь». Сначала я придумываю идею, у которой есть какой-то надежный фундамент, и только потом тестирую ее… А не просто говорю – так, посмотрим, что покажут мне данные! Это гораздо менее надежно.

 

          — Я хотел бы спросить вас о практическом применении ваших концептов! Давайте в двух словах, а то у нас в чате уже скопилось много вопросов. Возвращаясь к вашему примеру с простыми и экспоненциальными скользящими средними… Предположим, трейдер Эндрю попробовал оба варианта, увидел, что экспоненциальные работают лучше, и выбрал их. А трейдер Роб говорит – я попробую поторговать только по экспоненциальным, и плевать на все остальное. Оба трейдера придут к одинаковому результату. Судя по тому, что вы нам рассказали, трейдер Роб, если можно так выразиться, более прав, чем трейдер Эндрю, так?.. Но ведь результат у них будет один и тот же! Как бы вы рационализировали подход Роба?

 

          — Это напрямую связано с третьим видом подгонки! Не уверен, что смогу ответить на ваш вопрос, не объяснив его.

 

          — Хорошо, тогда расскажите нам о нем, а к вопросу вернемся позже!

 

          — Какой плавный переход к новой теме! Народ, мы это не репетировали [смеются]! Годы опыта ведения подкаста – вот что это такое!

 

          — Просто я наконец-то почувствовал эффект от кофе!

 

          — Да уж! Мне нравится такой пример… Давайте представим, что меня отправили на необитаемый остров. У меня нет с собой ничего, кроме ноутбука… На котором отсутствуют какие бы то ни было исторические данные! И меня ставят перед задачей: Роб, создай рабочую систему для фьючерсной торговли! В этом случае я, вероятно, быстренько запрограммировал бы систему, торгующую пересечения экспоненциальных скользящих средних. Мне хорошо знакома эта модель, я много с ней работал, я знаю, что она прибыльна. Миссия выполнена.

 

          Так в чем же проблема? А вот в чем… Откуда мне известно, что эта система работает? Воспользовался ли я машиной времени? Ответ – да! В 1985 году… Мне тогда было всего 9, трейдингом я еще не увлекался! Но если гипотетически… Знал ли я-девятилетний, что эта торговая модель работает? Можно отправиться еще дальше в прошлое! В 1960 год, когда в экономике еще не было опубликовано ни одной научной работы на эту тему. Возможно, кто-то в те времена и торговал по экспоненциальным скользящим средним, но это держалось в секрете! В прошлом мы не могли знать, что они работают. Но поскольку я это знаю, значит, я все-таки воспользовался машиной времени… Несмотря на то, что я не использовал исторические данные, я все равно знаю, что это работает!

 

          Я называю этот вид подгонки негласным, потому что в его основе лежит негласное знание человека, оптимизирующего систему. Эти знания могут быть почерпнуты из научных работ, от других трейдеров, из презентаций, книг или даже из понимания тонкостей работы индустрии… Но суть в том, что это знание доступно нам только потому, что кто-то другой уже опробовал эту систему – либо в бэктестах, либо в реальных условиях. Ведь это не какое-то знание свыше! «Используй пересечение экспоненциальных скользящих средних, сын мой, и все будет хорошо» [смеются]. Не так это было! Прощу прощения, сегодня воскресенье, так что религиозные отсылки получаются у меня сами собой. Но… Смысл в том, что да, действительно, если говорить формально, подгонка отсутствовала, потому что я не протестировал абсолютно ничего, кроме единственной системы пересечения экспоненциальных скользящих средних! Но и мой бэктест, и мой коэффициент Шарпа будут завышены, потому что я знаю о прибыльности этой системы только благодаря тому, что воспользовался машиной времени.

 

          Мне нравится приводить еще один пример, доводя все до абсурда. Если мы хотим торговать тренды, мы можем воспользоваться для этого комбинацией «быстрая скользящая средняя минус медленная скользящая средняя». Если взять противоположную комбинацию, то мы, по сути, получим систему возврата к среднему, которая ищет развороты тренда. Откуда мы знаем, что из этого работает? Когда приходит время для оптимизации, никто не говорит «так, сейчас я протестирую все варианты быстрой и все варианты медленной скользящей средней, но моя быстрая всегда будет быстрее медленной». Никто так не говорит, но все это подразумевают! Получается, люди автоматически отсеивают половину всех торговых стратегий, которые можно создать на основе пересечения скользящих средних! Вы игнорируете этот вид систем возврата к среднему, потому что знаете, что он не работает! А все из-за негласного знания. Оно значительно завышает ваш коэффициент Шарпа на истории. Я пробовал это измерить – разница получается примерно в два раза!

 

          Более честным подходом будет сказать: «Я не знаю, работает ли возврат к среднему или скользящие средние, потому что у меня нет негласного знания, так что я протестирую и то, и другое». Или, если использовать ваш пример, «протестирую и простую, и экспоненциальную скользящую среднюю. И пусть со временем мои системы сами покажут мне, какая из них лучше. Так результаты моего портфолио для бэктестов не будет завышены, потому что в нем будут содержаться не только хорошие системы, но и плохие».

 

          — Да, интересно подмечено! Вы заставили меня серьезно задуматься… Мне кажется, многие трейдеры любят читать результаты исследований и все такое! Но это, как вы подметили, продукт бэктестов и датамайнинга, просто их за нас сделал кто-то другой… А мы смотрим и думаем – окей, выглядит неплохо, воспользуюсь этим! Еще в сети часто можно наткнуться на результаты статистических тестов, например, «на второй день после выхода на уровень максимума последнего месяца в 56% случаев рынок проходит такое-то расстояние»… Для определения этих закономерностей обычно используются все доступные данные, ну, или весьма значительная их часть! Получается, люди выстраивают стратегии, используя машину времени… И ведь можно легко подвергнуться этой проблеме, даже не осознавая ее! Думаю, это случалось с большинством трейдеров… Включая меня! Причем, кажется, я делал это недавно… Придется теперь все переосмыслить! И ведь если ты этого не знаешь, то даже не осознаешь, что ты это делаешь. Вы открыли мне глаза! Думаю, очень важно понимать это и всегда быть начеку. Можете прокомментировать?..

 

          — Хотите, чтобы я рассказал о том, как можно избежать негласного вида подгонки? Я поставил его последним, потому что это – самый сложный и коварный вид чрезмерной оптимизации! Представьте: вам говорят – просто забудьте все, что вы знаете о трейдинге! Сделайте ваш ум совершенно чистым и открытым для новых идей! И просто пробуйте все на свете! Безумие какое-то. Кажется неразумным сбрасывать со счетов годы опыта…

 

          Кстати, с этой точки зрения новички обладают преимуществом над опытными трейдерами! Как ни странно, есть много фондов количественного трейдинга, которые никогда не берут на работу людей с опытом торговли. Или, по крайней мере, не брали в течение долгого времени… AHL, на который я проработал много лет, раньше брал на работу только физиков-выпускников без опыта в сфере финансов! Прошло немало лет, прежде чем они начали нанимать людей типа меня – специалистов других специальностей, в том числе и с опытом торговли. Еще один пример – фонд Renaissance Technologies… Они тоже с большой неохотой берут к себе людей с опытом в сфере финансов. Их больше интересуют ученые с докторскими степенями по обработке естественного языка и все такое…

 

          И в этом есть свои плюсы! Они не нанимают трейдеров не потому, что боятся безусловной подгонки. Они не нанимают трейдеров потому, что хотят, чтобы у их сотрудников был свежий взгляд на трейдинг! Им не нужны люди, которые делают то же самое, что и все. Да, конечно, людям без опыта в сфере финансов придется заново открывать то, о чем другим известно уже давно... Но на мой взгляд, это – разумная плата. Куда более интересный вопрос – что таким фирмам делать с людьми, которые проработали на них уже несколько лет и получили опыт работы в индустрии? Нельзя же их просто уволить – они сразу отправятся к конкурентам! Мне кажется, выбор только один – убивать их [смеются]! Как это ни прискорбно! Я предлагал эту политику в нескольких фирмах, в которых занимался консультированием, но наткнулся на определенные сложности со стороны отдела кадров…

 

          Ладно, давайте серьезней! На самом деле именно здесь идут в дело технологии машинного обучения, главное – делать все правильно. Хороший алгоритм машинного обучения может протестировать множество подходов, причем надежным способом. Поскольку поиск будет вестись по огромному набору параметров… От негласного знания никуда не денешься! Ведь вам придется выбирать, какие данные вы будете скармливать этой штуке. Скармливая ей цену, вы как бы намекаете – «цена играет в трейдинге важную роль»! Можно поспорить, что это тоже относится к негласному знанию, но… Это – здравый смысл, так что ничего страшного. Но вот если вы скармливаете алгоритму какой-нибудь кастомный индикатор, который вы уже использовали в прошлом и про который точно знаете, что он работает… Вы, можно сказать, впускаете негласную подгонку через заднюю дверь!

 

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

 

          Правда, иногда это приводит к неудовлетворительным результатам. Помню, однажды я работал с трейдером, который использовал один исключительно вычурный алгоритм машинного обучения. Он выдал нам настолько сложные результаты, что нам пришлось пару недель разбираться в том, как их можно интерпретировать. В итоге оказалось, что этот впечатляющий алгоритм машинного обучения… Заново открыл торговлю по тренду! Но сделал это хорошим и надежным способом. С позиции ведения бизнеса ценности в этом было немного. Но мы по крайней мере были уверены в том, что этот бэктест чист и не заражен негласным знанием. Благодаря ему мы получили более реалистичное представление о том, каким должен быть коэффициент Шарпа, что само по себе ценно!

 

          Так что да, избежать негласного типа подгонки очень тяжело. Единственный способ – тестировать огромное количество подходов! Что на самом деле идет вразрез с самой идеей избегания подгонки… На мой взгляд, это – что-то вроде плохой привычки, с которой можно жить, главное – отдавать себе в ней отчет и понимать, что она может привести к завышенным результатам бэктестов. Мне тоже приходится с ней мириться! Каждый день живу в боли [смеются]! Думаю, использование вычурных алгоритмов машинного обучения для меня просто нереалистично... Получить устройство из «Людей в черном», которое стирает память – тоже не вариант. Как и убить себя, заменив выпускником со свежим взглядом. Так что я решил, что продолжу делать то, что я делаю! И постараюсь принять тот факт, что негласная подгонка всегда со мной.

 

          — Есть еще один вариант – допиться до такого состояния, что забудешь все свои знания о торговых стратегиях [смеются]! Но у него, конечно, есть свои минусы.

 

          — Наши слушатели, должно быть, сейчас закатывают глаза и думают: «Вот что бывает, когда на подкасте встречаются австралиец и англичанин!». Одна только выпивка и странные шутки! Стыд и позор.

 

          — Да уж, мой секрет – после завтрака я заменяю свою бутылку с водой на бутылку с водкой [смеются]! Ладно, в чате скопилась масса вопросов! Я не хотел бы вас задерживать, так что позвольте мне выбрать всего пару... Вопрос от GoogleUser2004 – он показался мне интересным! И, пожалуй, даже философским… «Роб, в чем смысл бэктестов? В том, чтобы открывать новые стратегии? Или в том, чтобы их оценивать?» Кажется, этот вопрос пришел тогда, когда вы рассказывали об изменении правил в поисках рабочего подхода! Полагаю, в этом контексте вопрос выглядит достаточно интересно. Что скажете?

 

          — Вопрос просто прекрасный! Ответ – и в том, и в другом. Как я уже сказал, вести эту игру можно двумя способами… В первом мы сначала берем идею, а потом тестируем ее. Во втором мы начинаем с данных и смотрим, что они нам скажут. Но на практике, конечно, приходится заниматься и тем, и другим. Вы пробуете какую-либо идею, тестируете ее, возможно, модифицируете, изменяя параметры с оглядкой на то, что говорят вам данные… Но можно делать это хорошо и надежно, а можно делать это плохо, как мы уже обсудили.

 

          Так что вопрос, на мой взгляд, нельзя отнести к бинарным! Это – два конца спектра. На одном конце – чистое машинное обучение, когда ты понятия не имеешь, какой окажется твоя стратегия и что тебе скажут исторические данные. При правильном использовании этот подход является прекрасным способом избежать негласной подгонки. При неправильном – он оказывается худшей подгонкой, какая только вообще возможна, и… Я бы сказал, что, пожалуй, около 95% людей, которые занимаются этой темой в сфере финансов, используют его неправильно.

 

          А на другом конце этого спектра – человек, который придумывает идею, тестирует ее, оценивает… И либо начинает по ней торговать, либо нет. Но не уверен, что такие люди вообще существуют! Вряд ли кто-то когда-либо придумывал прекрасную торговую идею, обнаруживал, что она идеально работает, и – все, работа сделана! А если не работает – в мусор ее! Думаю, большинство трейдеров находятся где-то посередине. Я, пожалуй, больше склоняюсь к концу идей. Я начинаю с идей, я тестирую их… И да, оптимизирую – до определенной степени! Даю данным возможность сказать мне, как именно моя модель должна выглядеть. Но в целом большинство трейдеров находятся примерно посередине.

 

          — Окей, еще один вопрос, поступивший к нам примерно в то же время! «Как вы считаете, стоит ли вообще заниматься тестированием новых стратегий? Или лучше торговать по существующим стратегиям, про которые уже известно, что они работают? Многие пытаются достичь экстраординарных доходностей, что и приводит к подгонке».

 

          — Должен сказать, я симпатизирую вашей точке зрения! Да, можно делать так, если вы тоже следуете подходу «сперва идеи». Просто в данном случае вы начинаете с чужих идей, про которые уже известно, что они работают… Причем есть немало торговых правил, которые работают сравнительно неплохо! Но это возможно только в том случае, если вы не соревнуетесь с другими за одну и ту же альфу! К примеру, если вы – высокочастотный трейдер, вам нельзя торговать по чужим стратегиям! Вообще, стоило бы начать с того, что все стратегии высокочастотного трейдинга засекречены… Стоит информации выйти наружу – и все, стратегия перестает работать. Они очень быстро приходят в негодность. Так что эта игра нам с вами не по зубам!

 

          Но если вы торгуете самостоятельно, как я, то да… Я бы сказал, около 90% моего капитала вложено в стратегии, которые являются общеизвестными, причем уже очень давно. А 10%... Не стану утверждать, что о них не известно никому, кроме меня, но это, скажем так, не общедоступное знание. Я обнаружил эти закономерности самостоятельно.

 

          Если задуматься, соотношение 90 к 10 выглядит достаточно депрессивно [смеются]! Вполне можно было бы торговать готовыми стратегиями не на 90, а на все 100%! Пожалуй, это правда. Помню, проводились какие-то исследования – используя общедоступные стратегии, можно достичь 90% доходности Уоррена Баффетта. Возможно, эта идея не так уж плоха!

 

          — Окей, спасибо, Роб! Вопрос от Амера. «Часто говорят, что проводить оптимизацию с оглядкой на годовую доходность – это грех. Что можно использовать вместо этого? Может, подойдет волатильность или асимметрия [skew]

 

          — Кажется, я слишком часто использую слово «грех» [смеются]! Пожалуй, ответить на ваш вопрос можно так… Все зависит от того, какие цели вы преследуете! Если вы проводите оптимизацию, чтобы получить лучшую торговую стратегию (в том числе и при работе вне выборки), и при этом делаете все правильно… Тогда вам не обойтись без какого-нибудь параметра, в котором учитывается доходность с поправкой на риски. Например, коэффициент Шарпа, коэффициент Сортино, доходность, скорректированная на просадку… Что-то в этом роде! Одни статистические параметры хуже, другие – лучше. Не будем начинать долгую и скучную беседу на эту тему!

 

          Волатильность и асимметрия в этом плане немного отличаются. Мне не кажется, что есть смысл оптимизировать стратегию по волатильности, но я всегда интересуюсь волатильностью своих стратегий! В предыдущем вопросе говорилось, что бэктесты проводятся по двум причинам… Но на самом деле их три! Третья – желание побольше узнать о поведении стратегии! Как часто она торгует? Каким соотношением продаж к покупкам обладает? Каковы издержки? Волатильность? Асимметрия? Все это – полезная информация! Не обязательно проводить оптимизацию этих параметров, но их понимание поможет вам спрогнозировать, чего можно ожидать от стратегии в будущем. Что, если повезет, поможет вам не вмешиваться в ее работу, когда начнется просадка.

 

          Что касается асимметрии… В некоторых фирмах этот параметр действительно используется при оптимизации. Например, это принято в среде CTA [управляющие на фьючерсном рынке], потому что там положительная асимметрия – распространенное требование инвесторов. Так что этот параметр действительно могут оптимизировать… Но учитывать – обязательно! Это значение должно хорошо выглядеть. Лично я асимметрию не оптимизирую, но учитываю. Так что да, если вы ищете лучшую торговую стратегию, вам не избежать оптимизации какого-либо параметра, связанного с доходностью, скорректированной на риск, потому что высокая доходность и низкие риски – это, можно сказать, и есть определение лучшей стратегии.

 

          — Окей, спасибо, Роб! У вас есть еще пара минут? Мы беседуем уже больше часа…

 

          — Да-да!

 

          — Хорошо! Вопрос от Truestox о том, как размер выборки влияет на параметр ошибки предсказания. «Говоря о законе больших чисел… Если использовать крупный объем выборки, скажем, 10-15 лет исторических данных, поможет ли это снизить ошибку предсказания?»

 

          — И да, и нет! Если говорить чисто статистически, все это можно рассчитать, используя квадратный корень. 10 лет данных – это в 1,414 раза лучше, чем 5 лет данных. 10 в два раза больше, чем 5, а корень из двух – 1,414. В этом смысле чем больше данных, тем лучше… Но чем большие отрезки времени мы сравниваем, тем меньше становится преимущество! 30 лет данных принесут вам ненамного больше пользы, чем 10. Но по сравнению с 1 годом 10 лет данных совершенно неоценимы! Есть и другая проблема, которой мы уже коснулись – данные, которым 30 лет, возможно, окажутся для вас не особенно полезными, потому что мир с тех пор слишком сильно изменился!

 

          Так говорит статистика. Но что касается практики… Использование более крупной выборки вовсе не обязательно поможет вам создать стратегию с более высокой доходностью. А вот с более высокой надежностью – вполне! Ведь так ваша модель повидает больше разных рыночных событий. Например, если вы будете использовать для тестов выборку в 15 лет, ваша модель застанет кризис 2008 года! И повидает немало рыночных циклов

 

          А если оптимизировать модель на отрезке длиной всего в год… Модель получится очень странной, не так ли [смеются]? Только представьте систему, которая стартовала бы в феврале 2020! Ее торговля не будет похожа ни на одну модель прошлого. И сомнительно, что она покажет хорошие результаты в будущем… Если, конечно, все это безумие не продолжится и дальше. Так что для нас наибольшей ценностью обладает, если можно так выразиться, не длинный набор данных, а широкий. Мне нравится проводить оптимизацию своих моделей на разных инструментах… Конечно, издержки везде разные, но так модель получается более надежной. В общем, чем больше данных, тем лучше, но большое количество данных не гарантирует вам получение прибыльной стратегии, если вы неправильно их используете.

 

          — Окей! Вопрос от Джеффа. «Какие данные лучше всего подходят для бэктестов? К примеру, многие брокеры предоставляют данные, дающие только 90% качества модели. Насколько важны данные для бэктестов?»

 

          — Не уверен, что имеется в виду под «90% качества модели»… И как вообще можно объективно измерить качество модели? Эндрю, у вас есть идеи? Хотелось бы ответить на вопрос наилучшим образом...

 

          — Нет, я тоже не уверен! Возможно, Джефф захочет уточнить свой вопрос…

 

          — Ладно, тогда пока отвечу вкратце! Все зависит от того, каким типом трейдинга вы занимаетесь. Я провожу тесты на D1, так что не нуждаюсь в высокоточных внутридневных данных. Но, пожалуй, перед тем, как использовать данные, всегда стоит проверить их и почистить, если необходимо. Самое простое, что можно сделать – разметить линии и поискать пробои, скачки и любое необычное поведение. Можно написать программу, которая будет проверять данные за вас. Лично я использую фильтр, анализирующий ценовые данные по мере их поступления от брокера. Если программа замечает слишком резкий скачок цены, она не станет загружать данные в базу, а отправит мне письмо на электронную почту: «Проверь-ка, это выглядит немного странно». И пока я не дам добро, подозрительные данные не попадут ко мне в базу!

 

          Я всегда стараюсь максимально снизить вероятность получения плохих данных. Но какая-то их часть просачивается! Одно из решений этой проблемы – разрабатывайте только те системы, которые не отличаются высокой чувствительностью к плохим данным. Хороший пример – скользящие средние! Они сглаживают ценовые данные. Если цена резко скакнет вверх, а на следующий день опустится обратно, скользящая средняя лишь немного повысится, а потом быстро вернется на место, что почти не повлияет на ваши позиции… Возможно, вы вообще не заметите, что что-то не так!

 

          Есть и другие приемы для сглаживания и буферизации сделок, например, диверсификация между большим количеством торговых правил и торговых инструментов… Все это снижает урон, который могут нанести вам плохие данные. Но… Могу судить по многолетнему опыту торговли в институциональных фирмах! Даже если ваш бюджет на исторические данные исчисляется десятками и сотнями миллионов в год, плохие данные все равно найдут дорогу! Конечно, нужно стараться это предотвращать, но… Лучше на всякий случай использовать системы, не отличающиеся высокой чувствительностью к плохим данным.

 

          — Окей! Джефф дополнил свой вопрос, но вы и так прекрасно все объяснили. Вопрос от JG… Незнакомое имя, добро пожаловать, JG! «Применяете ли вы поэтапные входы и доливки? Если да, то какой подход для управления рисками вы используете?»

 

          — Да, я их применяю… Но, если можно так выразиться, неосознанно! Это – что-то вроде артефакта моего подхода. Я использую не дискретные системы, а континуальные. Возьмем, для примера, пересечение скользящих средних… Когда одна отдаляется от другой, расстояние между ними растет. Для меня это показатель того, что сила моего сигнала увеличивается, что является поводом для доливки. А когда все идет в другую сторону, я снижаю размер своей позиции до тех пор, пока не закрою ее совсем… После чего я вхожу в другую сторону!

 

          Так что да, я использую поэтапные входы и выходы, но у меня нет правил типа «если цена дойдет до этого уровня, я открою дополнительную сделку». Это – своеобразный артефакт движения цены в тренде, если мы, конечно, говорим о трендовых системах. А что касается риск-менеджмента – риск по позиции у меня всегда зависит от текущей рыночной волатильности. Опять же, я не использую правил типа «здесь закуплюсь с риском в один юнит, здесь – еще, здесь – еще». Для этого приходится использовать разные стоп-лоссы, разное сопровождение сделок… На мой взгляд, это слишком сложно! Но мне и не приходится этим заниматься, так как мои системы устроены иначе!

 

          — Окей, у нас осталось еще несколько вопросов, но, думаю, пора заканчивать, ведь нам еще нужно сходить на отпущение торговых грехов [смеются]! Ну, я-то точно пойду! В чате спрашивают, какой тип оптимизации вы одобряете и производите ли рекалибровку своих моделей… Давайте выберем один из них, он станет последним. Вопрос от Джона – спасибо за активное общение в чате! «Существует ли тип оптимизации, который вы одобряете?»

 

          — Я одобряю явную оптимизацию! Которая проводится компьютером, причем надежным способом, о котором я уже рассказал. Скрытая оптимизация – здесь не может быть никаких оправданий! Ею не стоит заниматься в принципе! А негласная… Я с ней просто смирился! Я ее не одобряю, но это – слишком сложная проблема, чтобы ее решать.

 

          — Комментарий в чате от Truestox – «аминь!» [смеются]. Ладно, Роб, большое спасибо, что уделили нам время! Знаю, мы задержались и у вас уже вечер воскресенья, так что вам, наверное, пора ужинать… Большое спасибо за все, чем вы с нами сегодня поделились! Как с вами можно связаться? И где можно побольше узнать о вас?

 

          — Можете посетить мой сайт systematicmoney.org! Там есть ссылки и на мои аккаунты в соцсетях, и на мой блог. Пожалуй, лучше начать с этого!

 

          — Окей, здорово! В чате пишут хорошие комментарии, давайте выведем парочку на экран, чтобы закончить выпуск на позитивной ноте… «Спасибо, Роб!» Кевин: «Спасибо за вебкаст, всегда рад, когда Роб делится своими идеями!». Даже если это вызывает чувство вины!  

 

          — Эй, последнего он не говорил! Это вы от себя добавили [смеются]!

 

          — Не знаю, должно быть, просто не поместилось на экране! Слушатели продолжают благодарить вас… Очевидно, людям понравилось то, чем вы с нами сегодня поделились! Пожалуйста, оставляйте комментарии, это помогает продвижению видео! И спасибо, что присоединились к нам сегодня! На следующей неделе у нас запланирован новый выпуск, точно не помню, кого я на него пригласил, но могу сказать, что потягаться с Робом будет непросто! Еще раз спасибо, Роб, всего вам наилучшего!

 

          — Спасибо, пока-пока!

 

 

Переведено специально для Tlap.com

  • Лайк 7
  • Спасибо 4
  • Огонь! 1
Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...