В нашей библиотеке: 321 книг 226 авторов 0 статей За всё время нас посетило 875319 человек которые просмотрели 17332480 страниц.
Читатели оставили 10 отзывов о писателях, 69 отзывов о книгах и 6 о сайте


Название: Энциклопедия торговых стратегий

Автор: Джеффри Оуэн Кац

Жанр: Технический анализ

Рейтинг:

Просмотров: 1769

Страница: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 |




Результаты торговли портфелем с нейронным выходом

 

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

366                                                                                           ЧАСТЬ III    ИССЛЕДОВАНИЕ выходов

 

В пределах выборки было получено улучшение общих результатов за счет применения дополнительного  нейронного выхода. Средняя прибыль в сделке достаточно медленно изменялась  при изменениях  значения  по- рога. Наилучшее значение порога составило 54, средняя сделка при этом приносила  убыток в $832. Процент прибыльных сделок составил 41%, го- довое соотношение  риска/ прибыли  —0, 87. Таким образом,  внедрение нейронного выхода  значительно повысило эффективность торговли по сравнению с результатами, приведенными в табл.  15-1. Вне пределов вы- борки,  впрочем, улучшения не наблюдалось: эффективность не особо от- личалась от работы базовой МССВ.  Когда исследовалась работа нейрон- ных сетей для генерации входов, эффективность при переходе на данные вне пределов выборки  падала весьма резко — видимо,  нечто подобное произошло  и в этом тесте, где в качестве элемента стратегии выходов ис- пользовалась та же нейронная сеть.

 

Результаты тестирования нейронных выходов на различных  рынках

 

В табл. 15-3 приводятся результаты торговли с использованием оптималь- ной МССВ и дополнительного  нейронного  сигнала выхода на различных рынках. Было использовано  оптимальное  значение порога (54) согласно табл. 15-2.

Значительная прибыль как в пределах, так и вне пределов выборки

была получена только на рынке живых свиней.  Ряд рынков  (например, немецкая марка и иена) показали  значительную прибыль в пределах вы- борки,  но были убыточны вне ее пределов. В длинных позициях рынки

N YF E и неэтилированного бензина были прибыльны как в пределах, так и вне пределов выборки — это можно объяснить и статистическим  арте- фактом, поскольку в пределах выборки в длинных позициях многие рын-

ки приносили прибыль.

 

Таблица  15—1.                     Эффективность базовой  МССВ,  предназначенной для использования в сочетании с нейронной сетью,  прогнозирую- щей сигналы  выхода

 

ВЫБ

ПРИБДЛ

ПРИБКР

Ф.ПРИБ

дох%

Р/ ПРИБ

ВЕР

СДЕЛ

ПРИБ%

$ СДЕЛ

ДНИ

В

-1976

-4073

0.83

-10.3

-1.46

1.0000

3826

39

-1581

8

ВНЕ

-974

-1632

0.84

-21.6

-1.45

0.998 5

1649

39

-1580

8

ГЛАВА 15     СОЧЕТАНИЕ выходов с ИСКУССТВЕННЫМ  ИНТЕЛЛЕКТОМ                                                    367

 

Таблица   15—2.                    Эффективность  торговли  портфелем  при  сочетании  МССВ и нейронного сигнала выхода  для различных значений пара- метра   порога

 

 

МЕТОДОЛОГИЯ ТЕСТИРОВАНИЯ ГЕНЕТИЧЕСКОГО КОМПОНЕНТА   ВЫХОДОВ

 

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

 

static void Model {float *parms, float *dt, float *opn, float *hi, float *lo, float *cls, float *vol, float *oi, float *dlrv, int nb, TRDSIM &ts, float *eqcls) {

 

// Выполняет случайные входы с модифицированным стандартным выходом

// и с дополнительным генетически развитым "сигнальным выходом"

// File = x21mod01.c

// parms            - набор [1..MAXPRM] параметров

// dt      - набор [1..nb] дат в формате ГГММДД

//          орn      - набор [ 1..nb] цен открытия

// hi       - набор [1..nb] максимальных цен

368      ЧАСТЬ III   ИССЛЕДОВАНИЕ выходов

 

// lo      - набор  [l..nb]  минимальных  цен

//          cls        — набор [l..nb] цен закрытия

// vol     - набор  [l..nb]  значений объема

// oi      - набор [l..nb] значений открытого интереса

// dlrv   — набор  [l..nb]  средних долларовой  волатильности

// nb     - количество дней в наборе данных

// ts       — ссылка на класс торгового  симулятора

// eqcls             — набор [l..nb] уровней капитала по ценам закрытия

 

// объявляем локальные переменные

static int rc, cb, ncontracts, maxhold, signal, ranseed; static float iranstp, ptlim, limprice, stpprice, entryprice; static int entryposted, entrybar, exitsignal, modeltype; static int rulel[MAXBAR+1], rule2[MAXBAR+1], rule3[MAXBAR+1]; static float exitatr[MAXBAR+1], rnum, thresh;

static long iseed;

 

// копируем параметры в локальные переменные для удобного обращения ranseed = parms[14];  // используется  для инициализации  случайной

// последовательности

modeltype  = parms[15];          // 1=длинные  позиции,  2=короткие  позиции maxhold = 10;       // период максимального  удержания  позиции

ptlim =4.5;        // целевая прибыль в единицах среднего истинного диапазона

mmstp = 1.5; // защитная остановка в единицах среднего истинного диапазона

 

// выполняем  вычисления  по всему объему данных,  включая правила

AvgTrueRangeS{exitatr,hi,lo,cls,50,nb);            // средний истинный диапазон для

/ / выхода

Rules{opn, hi, lo, cls, vol, oi, exitatr, nb,

parms [1] , parms[2], parms[3], parms [4] , rulel); Rules (opn, hi, lo, cls, vol, oi, exitatr, nb,

parms[5], parms[6], parms[7], parms[8], rule2); Rules (opn, hi, lo, cls, vol, oi, exitatr, nb,

parms[9],  parms[10],  parms[11],  parms[12],  rule3);

 

// запускаем генератор случайных чисел

// ... используем различные случайные последовательности для каждого рынка

// ... ts.model() возвращает индекс рынка (SP=1, YX=2, ...)

iseed = -(ranseed + 10 * ts.model());

rnum = ran2(&iseed);

 

// проходим через дни, чтобы смоделировать  реальную торговлю for(cb = 1; cb <= nb; cb++)  (

 

// не открываем позиций до начала периода выборки

// ... то же самое, что установка MaxBarsBack в TradeStation if(dt[cb]  < IS_DATE)  ( eqcls[cb]  = 0.0; continue;  ]

 

// выполняем  ожидающие  приказы и считаем кумулятивный  капитал rc = ts.update(opn[cb], hi[cb], lo[cb], cls[cb),cb);

if(rc != 0) nrerror("Trade buffer overflow");

eqcls[cb] = ts.currenteguity(EQ_CLOSETOTAL);

 

// считаем количество контрактов для позиции

// ... мы хотим торговать эквивалентом долларовой волатильности

// ... 2 новых контрактов на S&P-500 от 12/31/98 ncontracts  = RoundToInteger(5673.0 / dlrv[cb]); if(ncontracts < 1) ncontracts = 1;

 

// избегаем устанавливать приказы на дни с ограниченной торговлей if(hi[cb+l] == lo[cb+l]) continue;

ГЛАВА 15    СОЧЕТАНИЕ выходов с ИСКУССТВЕННЫМ ИНТЕЛЛЕКТОМ

 

// генерируем "стандартные" случайные сигналы входа signal = 0;

rnum = ran2 (Stiseed) ;

if (rnum < 0.025 &&

modeltype == 2) signal = -1; // случайный короткий вход else if (rnum > 0.975 &&

modeltype == 1) signal = 1;  // случайный длинный вход

 

// входим в сделки по цене открытия entryposted = 0;

if(ts.position() <= 0 && signal == 1) ( ts.buyopen('1',  ncontracts); entryposted = 1;

entryprice = opn[cb+l];

entrybar = cb + 1;

369

}

else if(ts.position() >= 0 && signal == -1) {

ts.sellopen('2', ncontracts);

entryposted = -1; entryprice = opn[cb+l] ; entrybar = cb + 1;

}

 

// выходим из сделок, используя модифицированный стандартный выход

// вместе с нейросетевым выходом

exitsignal = rulel[cb] && rule2[cb] && rule3[cb];

if(entryposted > 0} {

// инициализация и выходы для длинных позиций в день входа limprice = entryprice + ptlim * exitatr[cb];

stpprice = entryprice - mmstp * exitatr[cb];

ts.exitlonglimit{'A', limprice); ts.exitlongstop('B',  stpprice); if(exitsignal) ts.exitlongclose('C') ;

}

else if{entryposted < 0) {

// инициализация и выходы для коротких позиций в день входа limprice = entryprice - ptlim * exitatr[cb];

stpprice = entryprice + mmstp * exitatr[cb) ,• ts.exitshortlimit('D',  limprice); ts.exitshortstop('E' , stpprice); if(exitsignal) ts.exitshortclose('F') ;

}

else (

// выходы после дня входа if(ts.position()> 0) [ // длинные позиции

ts.exitlonglimit('G' , limprice) ; ts.exitlongstop('H', stpprice); if(cb-entrybar >= maxhold)||

exitsignal) ts.exitlongclose('I') ;

}

else if(ts.position() < 0) [ // короткие позиции

ts.exitshortlimit('J' , limprice); ts.exitshortstop('K', stpprice); if(cb-entrybar >= maxhold ||

exitsignal) ts.exitshortclose('L');

}

)

} // обрабатываем следующий день

}

37 0     ЧАСТЬ  III    ИССЛЕДОВАНИЕ выходов

 

Таблица   15—3.                    Эффективность  торговли  МССВ в  сочетании  с нейронным сигналом выхода  в пределах и вне пределов выборки  на различных рынках

 

 

Вышеприведенный код демонстрирует логику как входов,  так и выхо- дов.  Параметр modeltype управляет выбором длинных или  коротких по- зиций для тестирования. Параметры ptlim и mmstp задают  соответствен- но целевую прибыль и защитную остановку; они фиксированы на тех же уровнях,  что и в предыдущем тесте нейронной сети. Каждое  из трех пра-

ГЛАВА 15    СОЧЕТАНИЕ выходов с ИСКУССТВЕННЫМ ИНТЕЛЛЕКТОМ                                                                      371

 

вил рассчитывается как серия значений ИСТИНА/ ЛОЖЬ,  и если все три принимают значение ИСТИНА, то подается сигнал на выход exitsig. В текст программы добавлен оператор if, который подает сигнал на выход по цене закрытия, если  (if)  все три  правила дают значение ИСТИНА (exitsig = ИСТИНА). Эволюция правил для длинных и коротких позиций проводи- лась аналогично эволюции правил для входов, описанной в гл. 12. Исполь- зовались 12 хромосом с тремя генами-правилами каждая.  Для получения правил выхода из длинных и коротких позиций проводится эволюция 2500 поколений с использованием OptEvolve. Затем для тестирования в преде- лах и вне пределов выборки отбирались по  10 лучших длинных и корот- ких решений.

 




Страница: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 |

Оцените книгу: 1 2 3 4 5

Добавление комментария:






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

Копирование материалов сайта разрешено только с использованием активной ссылки на yourforexschool.com Copyright © 2010