Компьютерный анализ фьючерсных рынков - ЛеБо Ч., Лукас Д.В. Компьютерный анализ фьючерсных рынков - ЛеБо Ч., Лукас Д. Computer analysis of the futures market
Скачать 3.28 Mb.
|
Выбор периода тестирования Другой важной и часто недооцениваемой областью является выбор периода тестовых данных. По крайней мере, период тестирования должен быть достаточно продолжительным для проведения минимум 30 торгов на каждом рынке. Получение менее 30 торгов нарушает одно из основных правил теории выборок, которое гласит, что должно существовать по меньшей мере 30 точек данных для того, чтобы набор данных отвечал нормальному распределению. Отметьте, что это касается не дней, недель или месяцев данных, а происшедших торгов. Любое число менее 30 произведет статистически ненадежные результаты. Чем больше количество торгов, тем лучше. Не менее важно, чтобы рыночные периоды, которые вы тестируете, включали в себя как можно больше примеров всевозможных рыночных условии. Направления вверх, вниз и вбок являются простейшими (хотя и субъективными) примерами возможных рыночных условий. Исследуемый вами период должен содержать как можно боль-1 ше примеров. Нашей целью является моделирование возможных условий будущего путем включения максимального числа рыночных условий прошлого. Если тестовый период представлен только несколькими годами данных, это может повлечь за собой проблемы. Например, если рынок акций не имел периода серьезного падения цен, и соответственно на представленных данных по фьючерсам на фондовые индексы также не было серьезных падений, то тестирование на таких данных будет отдавать предпочтение системам с бычьим уклоном. За все время своего существования рынки фондовых индексов не дают данных достаточно, чтобы отвечать рыночным условиям будущего. Рынок нефти, с другой стороны, продемонстрировал нам разнообразие в значительно большей степени, и можно ожидать, что на его данных можно произвести более здоровую и устойчивую торговую систему. Давайте разъясним это иначе: результаты короткого периода тестирования на данных рынка сырой нефти могут дать более правдоподобные результаты, чем более продолжительный период тестирования на индексах акций, потому что данные фондовых индексов пока содержат очевидный восходящий уклон. Система, основанная на покупках на рынке фондовых индексов, вероятно, даст лучшие результаты по сравнению с системой только продаж. Однако, как однажды заметил Йоги Берра: "Будущее не повторяется". Интересное следствие заключается в том, что система никогда не должна иметь уклона одну из сторон рынка. Очевидно, за несколькими достопримечательными исключениями, большая часть доходов на фондовых индексах будет приходиться на длинную сторону рынка. Это не означает, что торговая система должна отдавать предпочтение этой стороне. Система не должна иметь собственного мнения или уклона в какую бы то ни было из сторон рынка. Если это кажется очевидным, вспомните, что в 70-х большая часть доходов на товарных рынках была получена на длинной стороне. Множество торговых систем, разработанных в этот период, стали по существу системами бычьего рынка. Простейшим способом улучшить ваши результаты на этом периоде было сократить или вообще избавиться от коротких позиций. Мы подозреваем, что этот бычий уклон был принципиальной причиной слабой производительности многих консультантов по товарным рынкам в начале 80-х. Наше заключение: не существует строгого определения того, какое количество данных должен включать в себя тест. Если мы предположим, что средняя система следования за трендом торгует примерно раз в месяц на каждом рынке, то по меньшей мере три года должны браться в качестве минимального периода тестирования для того, чтобы первичный тест произвел по крайней мере 30 торгов. Затем добавьте два или более лет для опережающего тестирования (мы объясним это позднее) и вы получите пять лет, что и является обычно приемлемым минимумом. Добавьте еще времени, если рынок не был разноплановым (падающим, растущим, боковым) на изучаемом периоде. Вы должны включить в ваше исследование как можно больше разнообразных рыночных условий. Мы предпочитаем использовать большое количество данных и тестировать на различных временных периодах. Пока вы не проделаете этого сами, вы никогда полностью не оцените, насколько иллюзорной может быть прибыльность торговой системы, и насколько результаты тестирования зависят от выбора временного интервала. Мы очень настороженно относимся к системам, которые не были протестированы на временных периодах, отвечающих репрезентативной выборке рыночных условий. Отметьте, как в таблице 3.1 на результаты влияет изменение временных отрезков, особенно это относится к убыткам. Отдача реагирует сходным образом, что подводит нас к любопытной мысли. При проведении всех процедур оптимизации/тестирования мы сконцентрировали внимание на совокупной отдаче как на единственном критерии выбора оптимальных параметров для использования в последующих тестах или в торговле в реальном времени. В нашем простом примере отдачи примерно соответствуют друг другу. Потери, однако, существенно различаются. Сколько трейдеров хотели бы наяючить на убыток в $10000 при торговле контрактом со средним запасом примерно в $2500? Этот пример на рисунке 3-1 иллюстрирует одну из редко упоминаемых опасностей тестирования вообще, и оптимизации в частности. Когда вы тестируете для улуч- шения только одного результата (обычно совокупной отдачи), вы игнорируете другие не менее важные данные. Мы рекомендуем проводить тестирование для серии параметров, а не только для одного. Мы понимаем, что это усложняет процедуру и во многом делает ее субъективной, но тестирование только для улучшения совокупной отдачи часто уводит с правильного пути и может оказаться опасным для вашего финансового здоровья. Выбор данных для тестирования Насколько нам известно, не существует коммерческого тестового программного обеспечения, включающего возможность проводить торговлю от одного контрактного месяца до другого без того, чтобы вызвать разрыв в значениях любого технического исследования, которое оно в это время вычисляет. Разрыв делает неполноценным исследование и, следовательно, сам тест. Разумеется, теоретически возможно снабдить компьютер сериями контрактных месяцев по данному товару, протестировать каждый месяц по отдельности и затем объединить результаты, но мы не можем себе представить более утомительной и склонной к ошибкам процедуры. Решение кроется в расположении ваших данных последовательно без разрывов, что позволит проводить непрерывное тестирование. Мы не будем углубляться в детали, как обеспеченить гладкий переход от одного контракта к другому, но мы довольствуемся этим, при условии, что результаты получатся в разумной степени точными. У нас есть данные из двух источников: FutureSource и Technical Tools. Наши данные Technical Tools поступили вместе с программным обеспечением для создания наших собственных продолжительных (или другого рода) контрактов. Если вы обладаете несколькими различными пакетами аналитического программного обеспечения, Quote Butler от Technical Tools является отличным способом перебрасывания данных из одного пакета в другой без необходимости покупать данные отдельно для каждого приложения. Мы давно не общались с другими поставщиками данных, но существует еще несколько надежных источников недорогих и достоверных данных. Проскальзывания и комиссионные Не доверяйте результатам тестирования, которые не включают некоторой свободы для проскальзываний и комиссионных. Эти составляющие очень существенно изменят ваши результаты. Множество торговых систем дают небольшой стабильный доход при тестировании без допуска на Проскальзывания и комиссионные и оказываются убыточными, когда включается стоимость трансакций. Это особенно верно для систем краткосрочной дневной торговли. Чем чаще торгует система, тем более важной становится стоимость трансакций. Ярким примером являются недавние публикации в прессе. В статье описывался индикатор, который должен был откликаться на внутридневные повороты фьючерсов на фондовые индексы. Несмотря на то, что объем торгов был большим, не было сделано скидки на стоимость трансакций. Мы подсчитали, что при учете очень небольших комиссионных и только редких проскальзываний, система будет в лучшем случае безубыточной, а в худшем - постоянно убыточной. У каждого есть свои любимые числа для стоимости трансакций. Мы отводим $75 на проскальзывания и $50 на комиссионные за оборот контракта, что в общей сложности составляет $ 125 на торговлю. Эти цифры могут показаться высокими, но мы предпочитаем ошибаться в худшую сторону. Когда мы тестируем части торговой системы, мы можем умышленно закрыть глаза на проскальзывания и комиссионные для упрощения операций, но мы обязательно убедимся, что они участвуют в итоговом тестировании. Типы тестирования * Мы разъясним несколько наиболее общих схем оптимизации и тестирования. Простая оптимизация Она так же проста, как звучит. Вы создаете торговую систему, затем оптимизируете ее на полном объеме значений параметров до тех пор, пока не находите тот набор, который дает лучшую отдачу. С нашей точки зрения, это наименее продуктивный метод тестирования системы. Это подстраивание под кривую в своем худшем проявлении. Совокупное опережающее тестирование Это также называется "прогонной" оптимизацией. Совокупное опережающее тестирование требует, чтобы вы оптимизировали систему на периоде в начале ваших данных, а затем тестировали результаты на относительно небольшом последующем участке. Затем вы должны переоптимизировать на периоде, включающем оба набора данных, и повторить цикл. Например, если у вас есть 10-летние данные по казначейским обязательствам, вы могли бы оптимизировать на первых 3 годах, а затем тестировать на следующем за ними году. Если результаты все еще хороши, вы должны затем оптимизировать на всех четырех годах и тестировать на пятом году, и так далее. Это одна из форм оптимизации, которая была протестирована Лукасом и Брорсеном, и которую они нашли не лучшей, чем простая оптимизация (смотрите выше). Простое опережаюшее тестирование * Этот способ называют также "слепым моделированием" или "тестированием за пределами выборки". Вы разрабатываете вашу систему на начальных данных (скажем, первые 5 лет 10-летнего набора данных) и затем тестируете без изменения то, что вы считаете вашей лучшей комбинацией параметров и правил на более свежем временном периоде. Если результат не устраивает-процесс повторяется. Оптимизируете вы или нет в первой фазе тестирования, это не так важно, как удерживание количества переменных на небольшом уровне. Самое важное, что любая торговая система, подвергаемая простому тестированию или оптимизации без опережающего тестирования, скорее всего будет обречена на провал. Опережающее тестирование является наиболее элегантным тестированием системы. Если ваша система не доказала свою прибыльность на процедуре опережающего тестирования, выбросьте ее. Измерение производительности Очевидной целью торговой системы является прибыльность. Сколько денег делает ваша модель? Другим способом вычисления этого фактора является процент отдачи, который является годовой отдачей, основанной на количестве средств, требуемых для торгового счета. Процент отдачи следует искать на всем периоде тестирования, а затем разбить его на небольшие отрезки для изолирования негативных периодов. Помните, что процент отдачи - это просто функция от объема используемого капитала. Вы можете удвоить процент отдачи, если начнете торговать только с половиной капитала, но систему вы при этом не улучшите. Вы можете улучшить систему, начав торговать с большим капиталом, но процент отдачи соответственно уменьшится. Несерьезные и бессмысленные торговые соревнования выигрываются путем получения большой отдачи при небольших размерах начального капитала. Эти переоцениваемые торговые соревнования дают в результате нежизнеспособные или наигранные исторические записи, что становится очевидным, когда мы наблюдаем низкую производительность товарных паевых фондов, управляемых некоторыми известными победителями подобных соревнований. Отношение Шарпа (The Sharpe Ratio) Популярной мерой производительности, получаемой из процента отдачи, является отношение Шарпа, разработанное Уильямом Шарпом, и которое определяется как годовая отдача (мера прибыльности) за вычетом неподверженного риску отношения отдачи, поделенная на годовое стандартное отклонение от отдачи (мера вола-тильности). Некоторые удаляют неподверженное риску отношение отдачи, так что проверьте это прежде, чем сравнивать результаты. Чем выше отношение Шарпа, тем выше отдача и ниже волатильность. Как правило, консультанты по товарной торговле вычисляют отношение Шарпа на месячных данных. Мы понимаем, что отношение Шарпа имеет свои ограничения (например, увеличение волатильности в восходящем направлении даст понижение отношения Шарпа), но, тем не менее, это самый распространенный индекс такого рода. Может быть, вам будет полезно сравнить результаты одной системы с другой и сравнить ваши результаты с результатами профессиональных консультантов. Лучшей системой будет не та, что делает больше денег, а та, что дает более высокое отношение Шарпа. Отношение Стерлинга (The Sterling Ratio) Поскольку, отношение Шарпа имеет определенные недостатки, были разработаны другие статистические приемы для беспристрастной оценки производительности. Наиболее популярным из таковых является отношение убытка к размеру отдачи. Отношение Стерлинга было создано Дианом Джонсом из Jones Commodities. Формула следующая: Основным недостатком отношения Стерлинга является то, что оно обычно вычисляется ежегодно и, следовательно, слишком медленно реагирует на изменения производительности. Отношение Калмара (The Calmar Ratio) Отношение Калмара, изобретенное Терри Янгом из СМА Reports, представляет собой размер отдачи за последние 36 месяцев, поделенный на максимальный убыток на том же периоде. Оно вычисляется ежемесячно, что делает его более чувствительным, чем отношение Стерлинга, Среднее геометрическое Наверное, самым математически точным измерением потенциала торговой системы является среднее геометрическое Ральфа Вайнса. Среднее геометрическое измеряет фактор роста вашей торговой системы. Чем выше среднее геометрическое, тем более вероятно, что ваша система будет давать большую отдачу при дополнительном инвестировании. Для любой системы со средним геометрическим более 1 вы можете увеличить отдачу на ваш счет до максимума путем вычисления оптимальной f, оптимальной фиксированной части вашего наибольшего проигрыша, для использования в качестве ставки на каждой торговле. У нас нет места для вывода геометрического среднего и оптимальной f, мы также не можем разъяснить все с той же элегантностью, что и Вайнс. Мы считаем, что его книга является одним из самых значительных достижений в области управления денежными средствами на фьючерсных рынках. Заметьте, что ваша система может быть прибыльной на большинстве рынков и убыточной на нескольких из них. Один наш знакомый консультант по товарной торговле проводит операции на всех рынках, которые он тестировал (выигрышных и убыточных), и утверждает, что кривая изменения его счета становится глаже от этого разнообразия. Он умышленно ищет отрицательную корреляцию между товарами в портфеле и находит, что прибыльные периоды на его проигрышных рынках обычно совпадают с проигрышными периодами на его выигрышных рынках. Торговая система не будет прибыльной на всех рынках постоянно. Если вы ее правильно разработали, то убытки на проигрышных рынках будут минимальными, и, кроме того, эти рынки будут время от времени давать прибыльные периоды. Будьте осторожны при тестировании большого количества рынков, а затем конструировании портфеля на одних только выигрышных контрактах. Это обычный прием поставщиков систем, когда результаты являются чистой фантазией, несмотря на то что это может произвести впечатляющую запись о вашей исторической производительности. Это, очевидно, является еще одной формой подстраивания под кривую. Тестирование для получения определенных результатов Торговую систему необходимо разрабатывать с нуля, чтобы она достигла определенных значений критериев производительности. Вероятно, наиболее важными из возможных целей являются процент выигрышей и отношение среднего выигрыша к среднему проигрышу. Эти критерии могут быть использованы для вычисления вероятности провала (FOR - probability of ruin), которая дает вам некоторое представление о надежности вашей системы. Большая часть программного обеспечения для тестирования дает и другие полезные данные. Ниже приведено их перечисление с комментариями. Совокупный доход (Net Profit) Совокупный доход является переоцененной мерой успеха по нескольким причинам. Во-первых, убедитесь, что несколько больших торгов не отклонили ваши результаты. Вы же не хотите использовать систему, успех которой зависит от неповторяющихся событий (типа угла Ханта на рынке серебра или падения фьючерсов на сахар на 63 цента). Не надо думать, что в реальном времени ваша система будет воспроизводить что-либо подобное совокупному доходу из ваших тестов. Неправильно планировать будущие результаты на основе прошлых - мы знаем, что они не повторятся. Вы можете только убедиться, что ваша система готова справиться с большей частью предсказуемых рыночных условий будущего. Количество торгов на тестовой выборке (Number of Trades in the Test Sample) Общее количество должно превосходить 30 для уверенности в статистической значимости результатов. Даже если вы тестировали 25 лет данных и не получили по крайней мере 30 торгов, ваши результаты будут неубедительны. Мы однажды слушали лекцию о работоспособности индикатора рынка акций, который производил одну торговлю каждые 40 лет. Нам бы хотелось увидеть результаты тестирования за 1200 лет, чтобы этот метод произвел на нас впечатление. Чем больше у вас получилось торгов, тем лучше. |