Д.Катс.Д.Маккормик.Энциклопедия торговых стратегий. Донна л. Маккормик
Скачать 5.96 Mb.
|
ГЛАВА 11 НЕЙРОННЫЕ СЕТИ 275 В пределах выборки только четыре рынка не были высокоприбыль- ными: британский фунт, серебро, живой скот и кукуруза. Рынок сереб- ра, как известно, вызывал проблемы у всех испытанных моделей. Вне пре- делов выборки сеть приносила прибыль при всех видах входов на рынках S&P 500, иены, сырой нефти, неэтилированного бензина, палладия, соевых бобов и соевого масла. По крайней мере с одним из видов входов работа- ли прибыльно еще несколько рынков. График изменения капитала пока- зывал постоянный рост вплоть до конца периода выборки, откуда начи- налось постоянное снижение. Результаты для сети 18-20-6-1. Эти данные получены в тестах 10, 11 и 12 (вход по цене открытия, по лимитному приказу и стоп-приказу соот- ветственно) . Эффективность этой сети в пределах выборки взлетела до невероятного уровня. При входе по цене открытия годовая прибыль со- ставила 768%, причем 83% из 699 сделок были прибыльны. Средняя при- быль в сделке составила $18 588. Как ни странно, при большем размере этой сети и, следовательно, большей возможности подгонки под данные ее эффективность вне пределов выборки по показателю средней прибы- ли в сделке превосходила меньшую по размерам сеть, особенно в случае входа по стоп-приказу, где убыток составил всего $518. Все рынки в пределах выборки без исключения были прибыльными с использованием любых входов. Вне пределов выборки со всеми видами входов прибыльными были рынки S&P 500, британского фунта, платины, палладия, соевой муки, пшеницы, канзасской пшеницы, миннесотской пшеницы и леса. Результаты торговли для модели, основанной на верхней точке разворота Две выбранные нейронные сети с максимальной вероятностью устойчивой работы вне пределов выборки (согласно их скорректированным корреляци- ям) были исследованы в отношении их торговой эффективности. Ниже рас- смотрена эффективность большей (18-20-6-1) и меньшей из них (18-10-1). Результаты для сети 18-10-1. Как обычно, в пределах выборки эта сеть была чрезвычайно прибыльной. Вне пределов выборки прибыль была получена с использованием двух видов входных приказов — по цене от- крытия (тест 13) и по лимитному приказу (тест 14). При использовании входа по стоп-приказу (тест 15) были получены умеренные убытки. Это неожиданно, учитывая то, что короткие позиции обычно бывали менее прибыльными, чем длинные. Разбор отдельных рынков показывает, что в пределах выборки толь- ко рынки канадского доллара, откормленного скота, соевого масла, пше- 276 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК ницы и какао не были прибыльны со всеми тремя видами входов. Вне пре- делов выборки при использовании всех трех входов значительные при- были были получены на рынках немецкой марки, иены, сырой нефти, мазута, откормленного скота, живого скота и кукурузы. Прибыльность рынков иены, сырой нефти и до некоторой степени кукурузы соответ- ствовала хорошей работе на этих рынках модели нижней точки разворо- та. Вне пределов выборки эти рынки работали прибыльно с обеими моде- лями точек разворота (нижней и верхней). График изменения капитала (рис. 11-2 для входа по цене открытия) показывает резкий рост капитала до августа 1993 г., а затем более медлен- ный подъем в течение всего остального периода выборки и двух третей периода вне выборки. После этого начинается плавное снижение. Результаты для сети 18-20-6-1. Как и ожидалось, эта сеть, наибольшая из двух выбранных, показала самую высокую эффективность в пределах выборки. Вне пределов выборки эта сеть работала со всеми видами вхо- дов отвратительно (тесты 16, 17и 18 — вход по цене открытия, по лимит- ному приказу и стоп-приказу соответственно). Наименее убыточные ре- зультаты были получены при использовании входа по стоп-приказу. В пределах выборки только рынки серебра, пшеницы, сахара и апель- синового сока не приносили прибыли со всеми тремя видами входов. Вне пределов выборки только рынок какао был прибылен со всеми тремя вхо- дами. Как ни странно, все рынки металлов показывали высокие прибыли при входе по цене открытия и по лимитному приказу вне пределов вы- борки, равно как и рынки откормленного скота, какао и хлопка. Анализ капитала портфеля показывает невероятно гладкую и устой- чивую прибыль в пределах выборки и убытки вне пределов выборки для всех видов входов. ОБЗОР РЕЗУЛЬТАТОВ В табл. 11-5 и 11-6 приведены результаты работы всех моделей, основан- ных на нейронных сетях на различных рынках. В первом столбце указано обозначение рынка, средний и правый столбцы содержат количество вы- годных тестов для данного рынка. Цифры в первой строке указывают на номер теста. Последняя строка показывает, на скольких рынках данная модель была выгодной. Степень прибыльности и убыточности рынков для каждой модели указана следующим образом: один минус ( — ) означает убыток в $2000 — 4000, два минуса ( ) — убыток более $4000; один плюс (+) означает прибыль от $1000 до $2000, два плюса (+ +) — прибыль бо- лее $2000; пустая ячейка означает прибыль до $1000 или убыток не более $1999 со сделки. (Названия рынков и их символы соответствуют обозна- чениям табл. II-1; часть II, введение.) В пределах выборки все виды входов Рисунок 11-2. График изменения капитала для модели, основанной на обращенном Медленном %К, нейронная сеть 18-10-1, вход по цене открытия. 278 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК Таблица 11—5. Эффективность в пределах выборки по тестам и рынкам ГЛАВА 11 НЕЙРОННЫЕ СЕТИ 279 Таблица 11—6. Эффективность вне пределов выборки по тестам и рынкам 280 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК Таблица 11—7. Эффективность нейронных сетей, распределенная по модели, виду приказа и выборке Модель В пределах выборки По По По открытию лимитному стоп- приказу приказу Вне пределов выборки По По По открытию лимитному стоп- приказу приказу Среднее В Вне пределах пределов Медленный обращенный %К, сеть 18-6-1 ДОХ% $СДЕЛ 129,9 181,9 153,9 6917 7879 6764 -2,9 -2,9 2,7 -233 -331 362 176,2 -1,0 7187 -67 Медленный обращенный %К, сеть 18-14-4-1 ДОХ% $СДЕЛ 534,7 547,4 328,9 7080 8203 6304 -17,7 -17,4 -16,2 -1214 -961 -1154 470,3 -17,1 7196 -1110 Точка разворота, длинные сделки, сеть 18-10-1 ДОХ% $СДЕЛ 311.1 308,4 236,8 9316 9373 10630 -16,8 -16,1 -11,1 -2327 -2197 -2868 285,4 -14,6 9773 -2464 Точка разворота, длинные сделки, сеть 18-20-6-1 ДОХ% $СДЕЛ 768,0 742,0 468,8 18588 18569 16392 -13,4 -12,7 -1,8 -2001 -1886 -518 659,6 -9,3 17516 -1468 Точка разворота, короткие сделки, сеть 18-10-1 ДОХ% $СДЕЛ 206,8 209,0 175,4 8448 8701 12553 12,1 8,0 -6,2 580 405 -1138 197,1 4,6 9901 -51 Точка разворота, короткие сделки, сеть 18-20-6-1 ДОХ% $СДЕЛ Среднее ДОХ% $СДЕЛ 601,9 603,8 387,3 18550 18905 6320 435,9 432,1 291,8 11483 11938 9661 -19,4 -19,7 -22,5 -5314 -5163 -2076 -9,7 -10,1 -9,2 -1752 -1689 -1232 531,0 -20,5 14592 -4184 386,6 -9,7 11027 -1557 со всеми моделями давали огромные прибыли (табл. 11-7). При усредне- нии по всем моделям лучше всего работали входы по цене открытия и по лимитному приказу, а хуже всего вход по стоп-приказу, но разница была очень небольшой. В пределах выборки наибольшая средняя прибыль в сделке отмечена для больших сетей на принципе максимальной и мини- мальной точек разворота. Вне пределов выборки лучше всего работал вход по стоп-приказу. В общем, лучше всего при усреднении по входам работа- ли модель на обращенном во времени Медленном %К и модель на верх- ней точке разворота. ГЛАВА 11 НЕЙРОННЫЕ СЕТИ 281 ЗАКЛЮЧЕНИЕ При первой попытке применить для анализа индивидуальных рынков нейронную сеть (Katz, McCormick, ноябрь 1996) мы пришли к выводу о полной бесполезности такого подхода. Поведение некоторых из прове- денных сейчас тестов вне пределов выборки немного обнадеживает по сравнению с нашим опытом исследования простых нейронных сетей. Эти результаты, почти несомненно, обусловлены большим количеством точек данных в обучающем наборе, включающем все рынки в составе портфеля, а не какой-либо один рынок. В общем, чем больше выборка, используемая для обучения (или оптимизации), тем больше вероятность сохранения положительной эффективности вне ее пределов. Увеличить размер выборки можно, используя более старые данные, что вполне воз- можно для ряда включенных в наше исследование рынков. Кроме того, можно ввести в портфель дополнительные рынки, что, возможно, пред- ставляет собой оптимальный способ улучшения обучающего набора. Принцип оптимизации состоит в том, что вероятность устойчивых ре- зультатов повышается со снижением количества параметров модели. Учи- тывая в чем-то положительные результаты некоторых из тестов, возмож- но, имеет смысл продолжать исследования с более усложненными моделя- ми. Как вариант можно было бы улучшить предварительную обработку данных в смысле уменьшения общего числа вводов без потери важной про- гностической информации — это может сделать систему очень прибыль- ной. При меньшем количестве вводов в сети будет меньше связей для оцен- ки, следовательно, подгонка под кривую — важная проблема, судя по ре- зультатам и уровням усадки, — будет представлять меньшую угрозу. ЧТО МЫ УЗНАЛИ? При выполнении некоторых условий нейронные сети могут использоваться в системной торговле. Критическим моментом для избежания вредной подгонки под исторические данные (в противоположность полезной оптимизации) является дости- жение адекватного соотношения размера выборки данных и количества свободных параметров сети. • Подгонка под исторические данные является значительной проблемой при использовании нейронных сетей. Следует об- ращать внимание на любой метод, способный уменьшить об- щее количество свободных параметров без потери важной информации, например тщательную предварительную обра- ботку и сжатие информации. Для обучения нейронных сетей необходимо использовать вы- борки большого размера. Поэтому обучение на целом порт- 282 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК феле финансовых инструментов приводит к лучшим резуль- татам, чем обучение на отдельных рынках, несмотря на поте- рю рыночной специфики. Один из возможных подходов — расширять количество рынков в портфеле и, по возможности, объем обучающей выборки данных. Доведя это до предела, воз- можно, имеет смысл обучать сеть на сотнях рынков разнооб- разных товаров, валют и ценных бумаг в попытке создать «уни- версальную систему прогнозирования цен». Если в таком все- мирном пространстве рынков существуют прогностически полезные модели, то такая попытка, вероятно, действительно будет оправданной. Некоторые из рынков работают плохо даже в пределах выбор- ки, другие удерживают прибыльность вне ее пределов, как это случалось с некоторыми моделями в предшествующих главах. Одни рынки, следовательно, больше подходят для применения определенных методов, чем другие. Поиск подходящих рын- ков на основе эффективности вне пределов выборки может стать полезным подходом при разработке и использовании тор- говых систем на основе нейронных сетей. ГЛАВА 12 Генетические алгоритмы Основываясь на моделях, используемых в биологии и экономике, мате- матик и психолог Джон Холланд (John Holland) разработал алгоритм ге- нетической оптимизации. Алгоритм впервые был опубликован в книге Холланда «Адаптация в естественных и искусственных системах» (J. Holland, Adaptation in Natural and Artificial Systems, 1975). Генетичес- кие алгоритмы (ГА) впервые стали применяться в компьютерных дисцип- линах в начале 1990-х годов (Yuret and de la Maza, 1994). Торговое сообще- ство впервые обратило на них внимание около 1993г., когда появилось несколько статей (Burke, 1993; Katz and McCormick, 1994; Oliver, 1994) и компьютерных программ. С тех пор несколько фирм добавили генетичес- кое обучение в свои программные пакеты, а у некоторых есть даже про- граммы генетической оптимизации профессионального уровня. В торговом обществе ГА никогда не пользовались таким успехом, как нейронные сети. Популярность этой технологии никогда не росла из-за самой ее природы. Среднему человеку трудно понять генетический алго- ритм и более чем сложно применять его правильно. Однако, по нашему мнению, ГА могут быть крайне выгодны для проектировщиков торговых систем. В данной книге представлен общий обзор ГА и их применения в торгов- ле. Читателям, заинтересованным в детальном изучении этого предмета, следует прочитать книгу Девиса (Davis, 1991), а также нашу главу в книге «Virtual Trading» (Katz, McCormick, 1995a, 1995b) и наши статьи (Katz, McCormick, июль/август 1994, декабрь 1996, январь 1997, февраль 1997). ЧТО ТАКОЕ ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ? Генетический алгоритм решает проблему, используя процесс, подобный биологическому развитию. Он работает как рекомбинация и мутация ге- нетических последовательностей. Рекомбинация и мутация — генетичес- кие операторы, т.е. они управляют генами. Ген — это последовательность кодов (генотипов), которая содержит всю информацию, необходимую для 284 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК того, чтобы создать функциональный организм с определенными харак- теристиками (генотипом). Хромосома — последовательность генов. В слу- чае генетической оптимизации, используемой для решения задач, связан- ных с торговлей, последовательность кодов обычно принимает форму ряда чисел. При моделировании эволюционного процесса ГА участвует в отборе и сопряжении членов из популяции (хромосом). Сопряжение — это про- цесс, содержащий скрещивание и мутацию. При скрещивании элементы, которые включают гены различных хромосом (члены популяции или ре- шения), комбинируются, чтобы создавать новые хромосомы. Мутацией называют возникновение случайных изменений в этих элементах. Это обеспечивает дополнительное изменение в наборах создаваемых хромо- сом. Как и в процессе биологического отбора (где менее пригодные чле- ны популяции оставляют меньше потомства), менее пригодные решения удаляются. При этом более пригодные решения размножаются, создавая другое поколение решений, которое может содержать несколько лучшие решения, чем предыдущие. Процесс рекомбинации, случайной мутации и отбора является чрезвычайно мощным механизмом решения задач. РАЗВИТИЕ МОДЕЛЕЙ ВХОДА, ОСНОВАННЫХ НА ПРАВИЛАХ Что бы произошло, если ГА позволяли искать не просто лучшие парамет- ры (именно так чаще всего используют ГА), но и лучшие правила? В этой главе приводится результат использования ГА для развития законченной модели входа путем поиска оптимальных правил и параметров для этих правил. Несмотря на сложность, эта методология оказалась эффективной в нашем первом исследовании (Katz, McCormick, февраль 1997). Как можно использовать ГА для поиска наилучших торговых правил? Доморощенный ГА просто жонглирует числами. Необходимо найти спо- соб нумерации различных наборов правил. Этого можно достичь мно- гими способами. Простой и эффективный метод включает в себя пост- роение набора шаблонов правил. Шаблон правила — это частичное опи- сание правила с оставленными пробелами, которые необходимо запол- нить. Например, если некоторые из правил предыдущих глав рассмот- реть как шаблоны правил, то пробелами будут значения периодов ус- реднения, порогов и других параметров. Шаблоны правил, определен- ные таким образом, несложно пронумеровать, поставив в соответствие каждому шаблону набор чисел. Первое число в наборе используется как индекс в таблице шаблонов правил. Оставшиеся числа набора исполь- зуются для заполнения пробелов в шаблоне, в результате чего мы полу- чаем четко определенное правило. Приведенный ниже компьютерный код содержит функцию C++ (Rules), которая производит нумерацию шаблонов; она будет описана позже. Хотя в данном исследовании ис- ГЛАВА 12 ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ 285 пользовался язык C++, данный метод также можно реализовать в TradeStation с помощью программы TS-EVOLVE, созданной Scientific Consultant Services (516-696-3333). Термин генетический поиск означает использование ГА для поиска са- мых лучших решений, т.е. имеющих максимальную функцию пригоднос- ти. Как правило, набор потенциальных решений, в котором ведется поиск, достигает огромных размеров. В данном приложении мы хотим использо- вать эволюционный процесс, чтобы выявить набор чисел (генотипов), ко- торые соответствуют основанным на правилах моделям входов (феноти- пам) с максимальной функцией пригодности (или торговой эффективнос- ти). Иными словами, мы собираемся заняться селективным выращивани- ем методов входа, основанных на правилах! Вместо того чтобы начинать с конкретного принципа, на котором основывается модель (сезонность, про- бой) , в данном случае для начала возьмем набор идей, которые могут спо- собствовать созданию выгодного метода входа. Вместо того чтобы после- довательно проверять ценность этих подходов, будет сделано нечто не- обычное: генетическому процессу эволюции представится возможность создать наилучшую модель входа из набора необработанных идей. ГА будут искать в чрезвычайно большом множестве решений наилуч- шую модель входа, которая может быть получена для определенных дан- ных и шаблонов правил. Количество правил для каждой модели будет ог- раничено во избежание подгонки под исторические данные. Данная за- дача сводится к поиску оптимальных наборов чисел. Без использования ГА такой массированный поиск решений был бы практически невозмо- жен и неразумен в любом смысле. Конечно, вместо ГА всегда можно осу- ществить лобовую оптимизацию — особенно, если вы располагаете не- сколькими тысячелетиями на проведение этой работы. В качестве другой альтернативы можно воспользоваться эмпирическим поиском оптималь- ных правил, т.е. попытаться найти наилучшие правила с помощью наблю- дений, однако этот подход не обязательно позволит максимизировать та- кую сложную функцию, как соотношение риск/прибыль. ГА обеспечи- вают эффективный способ выполнения очень больших поисков, особен- но когда нет простых эвристических методов решения данной задачи. ЭВОЛЮЦИОННЫЙ ПОИСК МОДЕЛИ ВХОДА В данном примере популяция моделей входа с тремя правилами была по- лучена с помощью генетического оптимизатора OptEvolve, написанного на С ++ (Scientific Consultants Services, 516-696-3333). Каждый ген соответ- ствует блоку из четырех чисел и шаблону правила — таким образом созда- ется соответствие наборов чисел и наборов правил. Каждая хромосома со- держит три гена и состоит из 12 чисел: первые четыре числа соответству- ют первому гену (или правилу), следующие четыре соответствуют второ- 286 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК му гену (или правилу), а последние четыре соответствуют третьему гену (или правилу). ГА должен знать размер гена, чтобы не разрушить важные гены при выполнении скрещивания. Скрещивание должно произойти толь- ко на границах генов (блоков из четырех чисел). В настоящем примере это будет достигнуто путем приравнивания размера гена, который является параметром генетического оптимизатора, к четырем. Как упомянуто, каж- дый ген составлен из четырех чисел. Первое число является индексом в таблице возможных шаблонов правил. Например, если это число 1, то вы- бирается шаблон сравнения цен, в котором различие между двумя ценами закрытия сравнивается с некоторым порогом (см. код). Остальные три чис- ла в гене соответствуют значению порога и двум анализируемым перио- дам для сравниваемых цен. Если первое число из блока 4 чисел равно 2, то будет выбран шаблон сравнения цены и скользящего среднего. В этом слу- чае два из оставшихся трех чисел контролировали бы период скользящего среднего и направление сравнения (должна ли цена быть выше или ниже скользящего среднего). Вообще, если первое число в блоке из четырех чи- сел равно n, тогда используется шаблон для правила n, а любые требуемые параметры определены оставшимися тремя числами в блоке из четырех чисел. Эта схема кодирования облегчает поддержание расширяемой базы данных для шаблонов правил. Каждый из трех блоков четырех чисел свя- зан с соответствующим правилом. Модель входа, состоящая из трех пра- вил, соответствует любой хромосоме, состоящей из 12 чисел. Шаблоны правил Первый шаблон правила (case l в функции Rules) определяет сравнение между двумя ценами и порогом: правило принимает значение ИСТИНА (TRUE), если цена закрытия 1b1 дней назад больше, чем некоторый поро- говый фактор (thr) плюс цена закрытия 1b2 дней назад. В остальных случа- ях правило принимает значение ЛОЖЬ (FALSE). Неизвестные (1b1, 1b2 и thr) оставлены пустыми для будущего использования при реализации про- граммы. Этот шаблон был включен, потому что тот вид правил, которые он представляет, был полезен в предыдущих исследованиях. Второй шаблон правила (case 2) включает простые скользящие сред- ние, которые часто используются для определения тренда. Обычно счи- тается, что рынок будет двигаться вверх, если цена выше ее скользящего среднего, и опускаться вниз, если цена ниже ее скользящего среднего. В шаблоне присутствуют только два неизвестных: первый (per) контроли- рует число дней в скользящем среднем и второй (v4) контролирует на- правление сравнения (выше или ниже). Третий шаблон правила (case 3) идентичен второму (case 2), за исклю- чением того, что вместо простого скользящего среднего используется экс- поненциальное . |