Чтение онлайн

ЖАНРЫ

Компьютерный анализ фьючерсных рынков
Шрифт:

Программное обеспечение

Компьютерное тестирование механических торговых систем витало в воздухе на протяжение 20 лет, но приобрело популярность только за последние несколько лет, когда были представлены пакеты программного обеспечения для ПК, которые сдела­ли этот процесс возможным без обязательного наличия обширных навыков програм­мирования. Практически любой сейчас может создать "прибыльную" торговую сис­тему, демонстрирующую фантастические гипотетические результаты на исторических данных. Большинство торговых систем, продававшихся за большие деньги в после­дние 20 с чем-то лет, были созданы таким способом. К несчастью, как могут свиде­тельствовать тысячи разочарованных инвесторов, коммерческие системы - "черные ящики" редко, если вообще когда-то работают так, как от них ожидают. Насколько нам известно, то же можно сказать о подавляющем^ большинстве торговых систем, созданных с помощью тестирующего программного обеспечения. Причины этих оче­видных неудач лежат не в тестирующем программном обеспечении, а в методах тести­рования и оценки. Для нашего тестирования мы используем System Writer Plus и Computrac/SNAP. Оба продукта являются отличными программами, которые мы мо­жем рекомендовать без колебания. Ни одна из них не демонстрирует погрешности или недостатка гибкости, которые могли бы вынудить исследователя применять неадек­ватные методы тестирования. Проблема, как мы подчеркивали, заключается в мето­дах тестирования, а не в программном обеспечении.

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

Элементы торговой системы

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

Первым необходимым качеством торговой системы для проведения серьезного тестирования должен быть ее абсолютный автоматизм. Единственным элементом, тре­бующим вмешательства, должно быть решение торговать ли полностью по этой систе­ме или нет. Все прочие решения должны быть встроены в систему. Мы понимаем, что многие, если не большинство спекулянтов в настоящее время торгуют по системам, которые по крайней мере отчасти требуют ручного вмешательства. Также мы знаем, что большая часть по-настоящему успешных трейдеров рассматривает личное вмеша­тельство как необходимый компонент торговли. Мы не собираемся оспаривать такую позицию, но подобную систему совершенно невозможно тестировать, потому что она безнадежно субъективна. Элементам личного вмешательства трейдера нет места в ме­ханической торговой системе, которая подготавливается к тестированию.

Ожидайте худшего

Система, которую вы разрабатываете для тестирования, должна пытаться учесть все неожиданности. Мы очень часто слышим о трейдерах, оправдывающих отсут­ствие некоторых элементов в их любимых торговых системах. Типичный ответ таков:

"Со мной такого никогда не случалось, так зачем к этому готовиться? Зачем мне использовать остановки, если моя система всегда ловит пики и впадины, и еще не было убытка, который я не мог бы себе позволить?"

Это не просто наивно, но опасно. Всегда предполагайте: то, что может случить­ся , обязательно произойдет. Система должна всегда ожидать худшего и быть готовой

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

Вот типичный пример. Многие трейдеры предпочитают испольувать остановки только на закрытии» чтобы избежать потерь на дерганиях при остановках внутри-дневной торговли. Это может быть объяснено тем, что внутридневное ценовое движе­ние непоследовательно, и только закрытия имеют значение. (На самом деле, останов­ки только на закрытии обычно применяются трейдерами, которые были остановлены на потенциально прибыльных торгах, и считающими, что такого больше не повторит­ся.) Можете ли вы представить себе такого глупца, который был в на длинной позиции на SP 16 или 19 октября 1987 с остановками только на закрытии?! Одна только вероятность таких ситуаций должна убедить любого в том, что лучше иметь обычные остановки и стратегию повторного вхождения. Ожидайте наихудшего, тогда вы не будете застигнуты врасплох.

Опасности оптимизации

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

Как правило, тестирование происходит следующим образом. Трейдер покупает самое современное программное обеспечение и необходимые данные. Он складывает вместе несколько любимых технических исследований или графических фигур, кото­рые хорошо себя показали в прошлом, и гоняет компьютер час за часом в поисках точных значений для каждого параметра, которые давали бы наибольший доход. Под впечатлением фантастических результатов побеждает жадность, и он или она начинают сразу же торговать- Неизбежно трейдер попадает в полосу потерь и реша­ет, что что-то не так с его торговыми методами. Наиболее очевидным выходом будет оптимизировать систему снова и избавиться от проигрышных компонентов. Трейдер оптимизирует заново и с удовлетворением замечает, что изменения удалили большую часть проигрышных торгов. Снова уверенный, несмотря на предыдущие потери, он возобновляет торговлю только для того, чтобы получить новую неожиданную серию потерь. Многие трейдеры продолжают такие попытки до тех пор, пока не закончатся либо их деньги, либо терпение. Обычно подводят деньги, приводя их к убеждению, что они непременно добились бы успеха, если бы только могли себе позволить переоп­тимизировать систему и войти в торговлю еще разок. Другие трейдеры заключают, что ошибка кроется в использовании механических торговых систем, и они переклгочаются на субъективные торговые методы, которые никак нельзя протестировать. Потери, разумеется, продолжаются, но сейчас они являются просто результатом неве­зения, плохого исполнения приказов, срабатывания остановок, манипуляций инсай-деров или недостаточного внимания брокера.

Что действительно не так?

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

При столкновении с соблазном практически мгновенного обогащения, о чем сви­детельствуют вдохновляющие результаты оптимизации, искушение немедленно на­чать торговлю становится непреодолимым. Вера в процесс оптимизации настолько сильна, что трейдеры будут оптимизировать снова и снова, хотя состояние их торго­вых счетов должно было бы подсказать им, что они делают что-то не так. Это про­изошло с нашим трейдером в предыдущем примере. Вы можете услышать, как трей­дер говорит: "Только еще одна оптимизация, и я это сделаю." К сожалению, еще одна оптимизация никогда не решит проблемы.

Оптимизировать или не оптимизировать

Любому, кто верит, что полная оптимизация работает так же хорошо, как пропа­гандируется некоторыми поставщиками систем, не помешало бы прочитать "The Usefulness of Historical Data in System Parameters for Technical Trading Systems" Луиса Б. Лукаса и Б. Уэйд Брорсена. Их работа систематичная и полная. Они тестировали системы следования за трендом, прорыв канала и систему направленного движения Уайлдера, используя 20-летние данные. Единственной переменной, подвергавшейся оптимизации, было количество дней, использовавшееся в каждом вычислении. Этот параметр проходил через временной период от 2 до 60 дней с шагом в 5 дней.

Поделиться с друзьями: