первые результаты
Приступим к построению механической торговой системы при помощи Data Mining и оптимального управления.
1. Выбираем торговую идею
Первым делом возникает соблазн собрать всевозможные индикаторы теханализа, загрузить ими какой-нибудь модный турбо-нейро-фаззи-генетический алгоритм, и подождать с недельку, пока он не найдет для нас Holy Grail. К сожалению, почти наверняка это будет артефакт, а не реально существующая закономерность.
В одном хорошем месте, при приеме на работу на должность статистика, кандидатам перед интервью предлагался тест: в таблице данных из 1000 строк и 51-го столбца надо было найти закономерные связи, если они есть, между первым столбцом и остальными 50-ю столбцами. Кандидатам предоставлялся компьютер и статистические пакеты на выбор. Время теста не ограничивалось. Большинство находили закономерности, хотя все значения в таблице данных были получены при помощи генератора случайных чисел.
Собственно, поэтому мы с недоверием относимся к традиционной технологии построения МТС, основанной на оптимизации индикаторов на исторических данных. Люди тестируют всевозможные стохастики на истории, торгуют их в реале и теряют деньги. Потому что эти стохастики – не более чем числа. В основе торговой стратегии должна быть идея, основанная на фундаментальных, поведенческих или иных закономерностях. По нашему глубокому убеждению, МТС можно использовать, когда мы понимаем, почему и за счет кого на рынке она делает деньги. Самый лучший способ построить приносящую деньги МТС – взять за основу заведомо работающий классический метод и заведомо предиктивные данные, и, применяя к ним современные технологии Data Mining, найти скрытые от остальных паттерны и оптимальным образом их эксплуатировать.
2. По нашему убеждению, большую ценность имеют неценовые данные
Сюда же можно отнести интермаркет и парный трейдинг. В свое время произвела впечатление фраза известного в сети трейдера Марка Брауна (Mark Brown): «самая лучшая торговая система, которую я когда-либо видел, не использовала ценовых данных вообще». А из Энциклопедии торговых стратегий запомнилось то, что «поиск необычных данных открывает интересные возможности – зачастую, чем более необычны и труднодоступны данные, тем они ценнее», а также, что торговля по солнечным и лунным циклам при бэктестинге показала лучшие результаты, чем популярные методы теханализа. Это не означает, что теханализ бесполезен. Напротив, он очень полезен тем, что структурирует неоднородную толпу трейдеров по конфессиям верующих в те или иные его методы и постулаты. Например, что "МТС должна работать с ценами, а не обращать внимание на всякую около рыночную чушь... которую создают исключительно для обувания лохов...". Но это не та вера, по которой воздастся.
3. В качестве приложения сил рассмотрим фьючерсные рынки
Как обычно, следуем методу «contrarian opinion», то есть, зрим в корень. Основной экономический смысл фьючерсных рынков – перераспределить ценовые риски между участниками, имеющими дело с реальными товарами, и желающими застраховаться от нежелательных для них изменений цен при помощи противоположных фьючерсных позиций, и участниками, желающими получить прибыль от этих изменений цен. Первые – это, по терминологии CFTC, commercials, или хеджеры. Вторые – noncommercials, или крупные спекулянты. Хеджеры, согласно их роли на фьючерсных рынках, минимизируют ценовые риски, открывая позиции против тренда. Действительно, когда они ожидают повышения цен, они используют т.н. «короткий хедж», т.е. открывают шорты на фьючерсах. И наоборот, когда они ожидают понижения цен, они используют т.н. «длинный хедж», т.е. открывают лонги на фьючерсах. Обратной стороной сделок для них выступают спекулянты, выкупающие риски. Следовательно, спекулянты, по крайней мере, теоретически, открывают позиции в сторону тренда, со всеми вытекающими последствиями. Что мы и будем использовать в процессе подготовки данных.
CFTC еженедельно публикует отчет – Commitment of Traders Report (COT) – о текущем числе открытых длинных и коротких позиций (открытом интересе) для 3-х различных групп трейдеров: commercials, noncommercials и мелких спекулянтов. Важно, что эти группы трейдеров открывают и закрывают позиции по разным причинам. В частности, из того, что хеджеры, как правило, стоят против тренда, не следует, что они систематически «сливают» деньги в пользу спекулянтов: они не извлекают прибыль из изменений цен, а фиксируют устраивающие их цены на споте. Нам кажется естественным и разумным использовать данные СОТ вместе с ценами.
4. Мнения о предсказательной ценности СОТ неоднозначны
Гэри Смит (Gary Smith), ссылаясь на статью, на самостоятельные исследования, и на известные ему работы других трейдеров, пришел к заключению, что «СОТ потерял большую часть своей прогнозирующей силы».
С другой стороны, академическая статья Чангюн Ванга (Changyun Wang) утверждает, что «индекс сентимента инвесторов, основанный на действительных позициях трейдеров, полезен для предсказания приращений цен фьючерсов на индекс S&P500». В частности, он нашел, что сентимент крупных спекулянтов является индикатором продолжения движения, а сентимент хеджеров – слабым противоположным индикатором. В статье приводится статистически значимая стратегия:
– когда сентимент крупных спекулянтов экстремально бычий, а сентимент хеджеров экстремально медвежий, то время открывать лонги, и наоборот. Когда сентимент крупных спекулянтов экстремально медвежий, а сентимент хеджеров экстремально бычий, то время открывать шорты. Время удержания позиций – 1-8 недель.
Чтобы количественно оценить сентимент, в качестве индекса сентимента, SI, в момент времени t автор использовал нормализованные в диапазоне 1:100 нетто-позиции для соответствующих групп трейдеров:
SI(t) = (NetPosition(t) – min(NetPosition(1:t))) / …
(max(NetPosition(1:t)) - min(NetPosition(1:t)))*100.
Индекс сентимента меньше 25% считается экстремально медвежьим, а выше 75% – бычьим. В то же время автор не нашел предсказательной ценности прошлых приращений цен по отношению к будущим.
Недавно переведенная книга Ларри Уильямса (Larry Williams) целиком посвящена СОТ. Пролистав ее, мы не нашли там стратегии в явном виде. Но мы знаем, что на него долгое время работал Мюррей Руджеро (Murray Ruggiero), а в его книге 1997 года приведена такая стратегия. Можно предположить, что это и есть стратегия Ларри Вильямса. Идея ее заключается в том, что 1) Commercials торгуют против трендов. Будучи инсайдерами и из-за размера своих позиций, они начинают и завершают тренды. 2) Мелкие спекулянты, напротив, обычно покупают у вершин и продают на дне. Отсюда, собственно, стратегия:
"Если хеджеры открыли экстремально большие лонги, а мелкие спекулянты открыли экстремально большие шорты, то время покупать. И наоборот, если хеджеры открыли экстремально большие шорты, а мелкие спекулянты – лонги, то время продавать"
Здесь используется индекс сентимента, аналогичный SI, за исключением того, что нормализация производится не на всей предыдущей истории, а на скользящем окне длиной 1.5-4 года. Стратегия покупает около существенных минимумов, продает около существенных максимумов, имеет на T-Bonds 75% выигрышных сделок и профит-фактор = суммарная прибыль / суммарный убыток = 7.45. Утверждается, что СОТ является ценным индикатором для многих рынков – T-Bonds, S&P500, сельскохозяйственных рынков, таких как кукуруза или соевые бобы, и таких рынков, как золото и нефть.
5. Очень важно правильно синхронизировать данные с ценами
Еженедельные данные СОТ представляют собой значения открытого интереса при закрытии торгов во вторник, а публикуются они по пятницам, после закрытия торгов. Следовательно, обновленные данные мы можем использовать только в следующий понедельник с открытия торгов, и запаздывание по отношению к ценам составляет от 4-х до 9-ти торговых дней. Поэтому необходимо моделировать последовательное поступление данных СОТ в реальном времени с корректировкой их задним числом при получении новых значений. В частности, при использовании weekly разрешения необходимо на баре t использовать данные СОТ в момент t-1. То же самое справедливо для любых других данных, если время их публикации не совпадает с их отметкой времени. Подглядывание в будущее является одной из наиболее частых ошибок при создании «граалей».
6. Проверим эти стратегии
Возьмем, к примеру, кукурузу. Результаты, мягко говоря, не впечатляют:
Справедливости ради, не утверждалось, что «академическая» стратегия должна работать на других фьючерсах, помимо индекса S&P500. Можно, конечно, подобрать рынки и оптимизировать на истории уровни для экстремального сентимента и размер окна нормализации. Но, как вы понимаете, лучше что-то подправить в консерватории. Поэтому «мы пойдем другим путем».
7. Этапы большого пути
1) Мы решали непосредственно заявленную задачу: максимизировать ожидаемую прибыль при ограничениях на ожидаемую максимальную просадку. Обычно же декларируют одно, а решают совсем другое. Например, часто приходится слышать, что ПИФам очень сложно превзойти бенчмарк из-за ограничений на структуру активов. Но вместо того, чтобы непосредственно искать управление, максимизирующее матожидание разности (или отношения) эквити ПИФа и бенчмарка, при заданных ограничениях, люди накручивают какие-то коэффициенты Шарпа и прочие малозначимые в рамках поставленной задачи величины. Естественно, речь здесь идет о ликвидных активах. Хотя, может быть, и «рисование» неликвидами имеет смысл оптимизировать.
2) Наш препроцессинг основан не на формальных преобразованиях данных из учебников, а на знаниях предметной области и сформулированной на их основе торговой идее.
3) Мы использовали «правильный» для нашего круга задач метод Data Mining, созданный нашим партнером, неопубликованный, и значительно превосходящий разрекламированные публичные аналоги.
4) В свое время мы немало времени потратили на управление капиталом. Сейчас мы используем наиболее эффективный из возможных способов оптимального управления – с обратной связью и упреждением.
8. Оценим полученные результаты
Для корректного сравнения с традиционными МТС мы решили «игрушечную» задачу, ограничив область допустимых управлений множеством {-1, 0, 1}, что соответствует торговле одним контрактом без реинвестирования. Здесь «-1» соответствует позиции «шорт», «0» – «позиция отсутствует», и «1» – «лонг». Каждому недельному бару исторического ряда цен мы поставили в соответствие требуемую позицию. Случайным образом выбрали из ряда цен out-of-sample множество объемом в половину длины выборки. На оставшемся, обучающем, подмножестве мы нашли закономерности между текущими и прошлыми данными и нужной позицией. Точность распознавания правильных позиций на out-of-sample составила 80%.
Отметим, что на 7% баров никаких закономерностей обнаружить не удалось. Эти бары соответствуют так называемым джокерам. Примечательно, что в 22% случаев джокеры объединены в связные множества из 2-х и более последовательных баров, т.е. прогнозируемые области чередуются с непрогнозируемыми, на которых лучше не торговать. Наилучший прогноз при джокере – это предыдущее значение, или приращение = 0.
Если бы мы могли торговать справа налево, то мы бы ограничились траекторией эквити на тестовом множестве. Но, поскольку траектория цен в будущем заведомо будет другой, мы методом Монте-Карло на распределении приращений цен out-of-sample строим множество всевозможных эквити:
Среднегодовая прибыль в единицах начальной маржи варьируется от 5.81 до 9.68, с матожиданием 7.58. Матожидание максимальной просадки за весь 10-летний тестовый период составляет 2.2 начальных маржи. Это означает, что минимальный размер капитала должен быть больше $9500. В «привычных» терминах мы имеем:
средняя прибыль за один недельный бар – $152 (14% от начальной маржи);
прибыльных баров – 61%;
коэффициент Шарпа – от 2.05 до 3.7, с матожиданием 2.85 (при безрисковой доходности 6.38%).
Фактически, торгуя одним контрактом, мы использовали только результаты шагов 1)-3). Отметим, что аналогичные результаты получаются на всех товарах из разных групп, которые мы успели проанализировать.
9. Оптимальное управление фьючерсным портфелем обсудим в следующий раз
Для затравки, приведем пример управления размером позиции для одного актива – кукурузы. Задавая ограничения на ожидаемую максимальную просадку, мы можем построить оптимальную границу в плоскости доход-риск, аналогично тому, как это делается в классической теории портфеля. В частности, задав максимальную просадку в 30%, мы получаем следующую картинку для эквити, разумеется, out-of-sample:
Здесь начальный капитал $100000, на проскальзывание и комиссию вычитается $25 на контракт. Среднегодовая прибыль составляет 169.4%. При ограничении на просадку в 50% среднегодовая прибыль при тех же условиях составляет уже 402.7%.
Приступим к построению механической торговой системы при помощи Data Mining и оптимального управления.
1. Выбираем торговую идею
Первым делом возникает соблазн собрать всевозможные индикаторы теханализа, загрузить ими какой-нибудь модный турбо-нейро-фаззи-генетический алгоритм, и подождать с недельку, пока он не найдет для нас Holy Grail. К сожалению, почти наверняка это будет артефакт, а не реально существующая закономерность.
В одном хорошем месте, при приеме на работу на должность статистика, кандидатам перед интервью предлагался тест: в таблице данных из 1000 строк и 51-го столбца надо было найти закономерные связи, если они есть, между первым столбцом и остальными 50-ю столбцами. Кандидатам предоставлялся компьютер и статистические пакеты на выбор. Время теста не ограничивалось. Большинство находили закономерности, хотя все значения в таблице данных были получены при помощи генератора случайных чисел.
Собственно, поэтому мы с недоверием относимся к традиционной технологии построения МТС, основанной на оптимизации индикаторов на исторических данных. Люди тестируют всевозможные стохастики на истории, торгуют их в реале и теряют деньги. Потому что эти стохастики – не более чем числа. В основе торговой стратегии должна быть идея, основанная на фундаментальных, поведенческих или иных закономерностях. По нашему глубокому убеждению, МТС можно использовать, когда мы понимаем, почему и за счет кого на рынке она делает деньги. Самый лучший способ построить приносящую деньги МТС – взять за основу заведомо работающий классический метод и заведомо предиктивные данные, и, применяя к ним современные технологии Data Mining, найти скрытые от остальных паттерны и оптимальным образом их эксплуатировать.
2. По нашему убеждению, большую ценность имеют неценовые данные
Сюда же можно отнести интермаркет и парный трейдинг. В свое время произвела впечатление фраза известного в сети трейдера Марка Брауна (Mark Brown): «самая лучшая торговая система, которую я когда-либо видел, не использовала ценовых данных вообще». А из Энциклопедии торговых стратегий запомнилось то, что «поиск необычных данных открывает интересные возможности – зачастую, чем более необычны и труднодоступны данные, тем они ценнее», а также, что торговля по солнечным и лунным циклам при бэктестинге показала лучшие результаты, чем популярные методы теханализа. Это не означает, что теханализ бесполезен. Напротив, он очень полезен тем, что структурирует неоднородную толпу трейдеров по конфессиям верующих в те или иные его методы и постулаты. Например, что "МТС должна работать с ценами, а не обращать внимание на всякую около рыночную чушь... которую создают исключительно для обувания лохов...". Но это не та вера, по которой воздастся.
3. В качестве приложения сил рассмотрим фьючерсные рынки
Как обычно, следуем методу «contrarian opinion», то есть, зрим в корень. Основной экономический смысл фьючерсных рынков – перераспределить ценовые риски между участниками, имеющими дело с реальными товарами, и желающими застраховаться от нежелательных для них изменений цен при помощи противоположных фьючерсных позиций, и участниками, желающими получить прибыль от этих изменений цен. Первые – это, по терминологии CFTC, commercials, или хеджеры. Вторые – noncommercials, или крупные спекулянты. Хеджеры, согласно их роли на фьючерсных рынках, минимизируют ценовые риски, открывая позиции против тренда. Действительно, когда они ожидают повышения цен, они используют т.н. «короткий хедж», т.е. открывают шорты на фьючерсах. И наоборот, когда они ожидают понижения цен, они используют т.н. «длинный хедж», т.е. открывают лонги на фьючерсах. Обратной стороной сделок для них выступают спекулянты, выкупающие риски. Следовательно, спекулянты, по крайней мере, теоретически, открывают позиции в сторону тренда, со всеми вытекающими последствиями. Что мы и будем использовать в процессе подготовки данных.
CFTC еженедельно публикует отчет – Commitment of Traders Report (COT) – о текущем числе открытых длинных и коротких позиций (открытом интересе) для 3-х различных групп трейдеров: commercials, noncommercials и мелких спекулянтов. Важно, что эти группы трейдеров открывают и закрывают позиции по разным причинам. В частности, из того, что хеджеры, как правило, стоят против тренда, не следует, что они систематически «сливают» деньги в пользу спекулянтов: они не извлекают прибыль из изменений цен, а фиксируют устраивающие их цены на споте. Нам кажется естественным и разумным использовать данные СОТ вместе с ценами.
4. Мнения о предсказательной ценности СОТ неоднозначны
Гэри Смит (Gary Smith), ссылаясь на статью, на самостоятельные исследования, и на известные ему работы других трейдеров, пришел к заключению, что «СОТ потерял большую часть своей прогнозирующей силы».
С другой стороны, академическая статья Чангюн Ванга (Changyun Wang) утверждает, что «индекс сентимента инвесторов, основанный на действительных позициях трейдеров, полезен для предсказания приращений цен фьючерсов на индекс S&P500». В частности, он нашел, что сентимент крупных спекулянтов является индикатором продолжения движения, а сентимент хеджеров – слабым противоположным индикатором. В статье приводится статистически значимая стратегия:
– когда сентимент крупных спекулянтов экстремально бычий, а сентимент хеджеров экстремально медвежий, то время открывать лонги, и наоборот. Когда сентимент крупных спекулянтов экстремально медвежий, а сентимент хеджеров экстремально бычий, то время открывать шорты. Время удержания позиций – 1-8 недель.
Чтобы количественно оценить сентимент, в качестве индекса сентимента, SI, в момент времени t автор использовал нормализованные в диапазоне 1:100 нетто-позиции для соответствующих групп трейдеров:
SI(t) = (NetPosition(t) – min(NetPosition(1:t))) / …
(max(NetPosition(1:t)) - min(NetPosition(1:t)))*100.
Индекс сентимента меньше 25% считается экстремально медвежьим, а выше 75% – бычьим. В то же время автор не нашел предсказательной ценности прошлых приращений цен по отношению к будущим.
Недавно переведенная книга Ларри Уильямса (Larry Williams) целиком посвящена СОТ. Пролистав ее, мы не нашли там стратегии в явном виде. Но мы знаем, что на него долгое время работал Мюррей Руджеро (Murray Ruggiero), а в его книге 1997 года приведена такая стратегия. Можно предположить, что это и есть стратегия Ларри Вильямса. Идея ее заключается в том, что 1) Commercials торгуют против трендов. Будучи инсайдерами и из-за размера своих позиций, они начинают и завершают тренды. 2) Мелкие спекулянты, напротив, обычно покупают у вершин и продают на дне. Отсюда, собственно, стратегия:
"Если хеджеры открыли экстремально большие лонги, а мелкие спекулянты открыли экстремально большие шорты, то время покупать. И наоборот, если хеджеры открыли экстремально большие шорты, а мелкие спекулянты – лонги, то время продавать"
Здесь используется индекс сентимента, аналогичный SI, за исключением того, что нормализация производится не на всей предыдущей истории, а на скользящем окне длиной 1.5-4 года. Стратегия покупает около существенных минимумов, продает около существенных максимумов, имеет на T-Bonds 75% выигрышных сделок и профит-фактор = суммарная прибыль / суммарный убыток = 7.45. Утверждается, что СОТ является ценным индикатором для многих рынков – T-Bonds, S&P500, сельскохозяйственных рынков, таких как кукуруза или соевые бобы, и таких рынков, как золото и нефть.
5. Очень важно правильно синхронизировать данные с ценами
Еженедельные данные СОТ представляют собой значения открытого интереса при закрытии торгов во вторник, а публикуются они по пятницам, после закрытия торгов. Следовательно, обновленные данные мы можем использовать только в следующий понедельник с открытия торгов, и запаздывание по отношению к ценам составляет от 4-х до 9-ти торговых дней. Поэтому необходимо моделировать последовательное поступление данных СОТ в реальном времени с корректировкой их задним числом при получении новых значений. В частности, при использовании weekly разрешения необходимо на баре t использовать данные СОТ в момент t-1. То же самое справедливо для любых других данных, если время их публикации не совпадает с их отметкой времени. Подглядывание в будущее является одной из наиболее частых ошибок при создании «граалей».
6. Проверим эти стратегии
Возьмем, к примеру, кукурузу. Результаты, мягко говоря, не впечатляют:
Справедливости ради, не утверждалось, что «академическая» стратегия должна работать на других фьючерсах, помимо индекса S&P500. Можно, конечно, подобрать рынки и оптимизировать на истории уровни для экстремального сентимента и размер окна нормализации. Но, как вы понимаете, лучше что-то подправить в консерватории. Поэтому «мы пойдем другим путем».
7. Этапы большого пути
1) Мы решали непосредственно заявленную задачу: максимизировать ожидаемую прибыль при ограничениях на ожидаемую максимальную просадку. Обычно же декларируют одно, а решают совсем другое. Например, часто приходится слышать, что ПИФам очень сложно превзойти бенчмарк из-за ограничений на структуру активов. Но вместо того, чтобы непосредственно искать управление, максимизирующее матожидание разности (или отношения) эквити ПИФа и бенчмарка, при заданных ограничениях, люди накручивают какие-то коэффициенты Шарпа и прочие малозначимые в рамках поставленной задачи величины. Естественно, речь здесь идет о ликвидных активах. Хотя, может быть, и «рисование» неликвидами имеет смысл оптимизировать.
2) Наш препроцессинг основан не на формальных преобразованиях данных из учебников, а на знаниях предметной области и сформулированной на их основе торговой идее.
3) Мы использовали «правильный» для нашего круга задач метод Data Mining, созданный нашим партнером, неопубликованный, и значительно превосходящий разрекламированные публичные аналоги.
4) В свое время мы немало времени потратили на управление капиталом. Сейчас мы используем наиболее эффективный из возможных способов оптимального управления – с обратной связью и упреждением.
8. Оценим полученные результаты
Для корректного сравнения с традиционными МТС мы решили «игрушечную» задачу, ограничив область допустимых управлений множеством {-1, 0, 1}, что соответствует торговле одним контрактом без реинвестирования. Здесь «-1» соответствует позиции «шорт», «0» – «позиция отсутствует», и «1» – «лонг». Каждому недельному бару исторического ряда цен мы поставили в соответствие требуемую позицию. Случайным образом выбрали из ряда цен out-of-sample множество объемом в половину длины выборки. На оставшемся, обучающем, подмножестве мы нашли закономерности между текущими и прошлыми данными и нужной позицией. Точность распознавания правильных позиций на out-of-sample составила 80%.
Отметим, что на 7% баров никаких закономерностей обнаружить не удалось. Эти бары соответствуют так называемым джокерам. Примечательно, что в 22% случаев джокеры объединены в связные множества из 2-х и более последовательных баров, т.е. прогнозируемые области чередуются с непрогнозируемыми, на которых лучше не торговать. Наилучший прогноз при джокере – это предыдущее значение, или приращение = 0.
Если бы мы могли торговать справа налево, то мы бы ограничились траекторией эквити на тестовом множестве. Но, поскольку траектория цен в будущем заведомо будет другой, мы методом Монте-Карло на распределении приращений цен out-of-sample строим множество всевозможных эквити:
Среднегодовая прибыль в единицах начальной маржи варьируется от 5.81 до 9.68, с матожиданием 7.58. Матожидание максимальной просадки за весь 10-летний тестовый период составляет 2.2 начальных маржи. Это означает, что минимальный размер капитала должен быть больше $9500. В «привычных» терминах мы имеем:
средняя прибыль за один недельный бар – $152 (14% от начальной маржи);
прибыльных баров – 61%;
коэффициент Шарпа – от 2.05 до 3.7, с матожиданием 2.85 (при безрисковой доходности 6.38%).
Фактически, торгуя одним контрактом, мы использовали только результаты шагов 1)-3). Отметим, что аналогичные результаты получаются на всех товарах из разных групп, которые мы успели проанализировать.
9. Оптимальное управление фьючерсным портфелем обсудим в следующий раз
Для затравки, приведем пример управления размером позиции для одного актива – кукурузы. Задавая ограничения на ожидаемую максимальную просадку, мы можем построить оптимальную границу в плоскости доход-риск, аналогично тому, как это делается в классической теории портфеля. В частности, задав максимальную просадку в 30%, мы получаем следующую картинку для эквити, разумеется, out-of-sample:
Здесь начальный капитал $100000, на проскальзывание и комиссию вычитается $25 на контракт. Среднегодовая прибыль составляет 169.4%. При ограничении на просадку в 50% среднегодовая прибыль при тех же условиях составляет уже 402.7%.
0 коммент.:
Отправить комментарий