<< Пред. стр.

стр. 39
(общее количество: 46)

ОГЛАВЛЕНИЕ

След. стр. >>

пределов выборки прибыльными были рынки NYFE, иены, сырой нефти,
золота, палладия, живых свиней, соевых бобов, соевой муки, кофе и апель-
синового сока. Только рынки иены и живых свиней были прибыльны как
в пределах, так и вне пределов выборки. Система со случайным входом
была одной из наименее устойчивых, рассматривавшихся при изучении
входов.
Средняя сделка (в усреднении по всем рынкам) приносила убыток
$1731 в пределах и $1734 вне пределов выборки. Длинные позиции дава-
ли меньший убыток, чем короткие, что уже неоднократно наблюдалось. В
пределах выборки все рынки валют, за исключением евродоллара и ка-
надского доллара, были прибыльными в длинных позициях. Впрочем, эти
рынки склонны к трендам, поэтому хорошие результаты могут быть свя-
заны со стратегией стандартного выхода, а не со случайными факторами,
обеспечивающими вход.
Анализ стандартного выхода при случайных входах с разными вида-
ми приказов обеспечивает основу для сравнения результатов с реальны-
ми неслучайными входами (исследовавшимися ранее) и с более сложны-
ми системами выходов, которые будут рассмотрены далее.


ТЕСТИРОВАНИЕ МОДИФИЦИРОВАННОЙ ССВ
Следующий тест использует модифицированную стандартную страте-
гию выходов (МССВ). Системе придан больший реализм за счет того, что
защитная остановка управления капиталом и лимит целевой прибыли сра-
батывают не только по цене закрытия, но и по внутридневным ценам.
Чтобы избежать неоднозначных ситуаций (срабатывания нескольких
приказов в один торговый день), все входы будут производиться только
по цене открытия. Таким образом, можно экспериментировать с широ-
330 ИССЛЕДОВАНИЕ выходов
ЧАСТЬ III



Результаты торговли системы с ССВ и случайными входами
Таблица 13—4.
по цене открытия на различных рынках
СТАНДАРТНАЯ СТРАТЕГИЯ ВЫХОДА 331
ГЛАВА 13




ким разнообразием стратегий выхода. В остальном правила выхода иден-
тичны использованным ранее и сводятся к следующему: после входа ус-
танавливаются выходная защитная остановка выше (для коротких) или
ниже (для длинных позиций) цены входа и выходной лимитный приказ
выше (для длинных) или ниже (для коротких позиций) цены входа. Оста-
новка смещена от цены входа на величину произведения некоторого мно-
жителя (параметр остановки по управлению капиталом) и размера сред-
него истинного диапазона. Лимитный приказ смещен от цены входа на
величину произведения другого множителя (параметра целевой прибы-
ли) и среднего истинного диапазона. Система производит выход по цене
закрытия по истечении 10 дней, если ни защитная остановка, ни целевая
прибыль не закрывают сделку ранее. Используется средний истинный ди-
апазон с периодом 50 баров. Ниже приведен код, обеспечивающий слу-
чайные входы и модифицированные стандартные выходы.

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 = x19mod02.c
// parms — набор [1..MAXPRM] параметров
// dt — набор [l..nb] дат в формате ГГММДД
// орn — набор [1..nb] цен открытия
// hi — набор [1..nb] максимальных цен
// 1о — набор [1..nb] минимальных цен
cls — набор [1..nb] цен закрытия
//
// vol — набор [1..nb] значений объема
// oi — набор [1..nb] значений открытого интереса
// dlrv — набор [1..nb] средних значений долларовой волатильности
// nb — количество баров в наборе данных
// ts — ссылка на класс торгового симулятора
// eqcls — набор [1..nb] значений капитала по ценам закрытия

// объявляем локальные переменные
static int rc, cb, ncontracts, maxhold, signal, ranseed;
static float mmstp, ptlim, limprice, stpprice;
static int entryposted, entrybar;
static float exitatr[MAXBAR+1] , rnum, entryprice;
static long iseed;

// копируем параметры в локальные переменные для удобного обращения
ranseed = parms[8] ; // используется для генерации случайной
// последовательности
maxhold = 10; // период максимального удержания позиции
ptlim =4.0; // целевая прибыль в единицах среднего истинного
// диапазона
mmstp =1.0; // защитная остановка в единицах среднего
// истинного диапазона

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

// запускаем генератор случайных чисел
// ... используем разные случайные последовательности для каждого рынка
ИССЛЕДОВАНИЕ выходов
332 ЧАСТЬ III



// ... ts.model() возвращает индекс рынка (SP=1, YX=2, ...)
iseed = -(ranseed + 10 * ts.model());
rnum = ran2 (Stiseed) ;

// проходим через дни, чтобы смоделировать реальную торговлю
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.currentequity(EQ_CLOSETOTAL);

// считаем количество контрактов для позиции
// ... мы хотим торговать эквивалентом долларовой волатильности
// ... 2 новых контрактов на S&P-500 от 12/31/98
ncontracts = RoundToInteger(5673.О / dlrv[cb]);
if (ncontracts < 1) ncontracts = 1;

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

// генерируем "стандартные" случайные входные сигналы
signal = 0;
rnum = ran2(&iseed); // случайное число между 0 и 1
if(rnum < 0.025) signal = -1; // случайный короткий вход
else if(rnum > 0.975) signal = 1; // случайный длинный вход

// входить в сделки по цене открытия
entryposted = 0;
if{ts.position() <= 0 && signal =- 1} {
ts.buyopen('1' , ncontracts);
entryposted = 1;
entryprice = opn[cb+l];
entrybar = cb + 1;
}
else if (ts.position)) >= 0 && signal == -1) {
ts.sellopen('2', ncontracts);
entryposted = -1;
entryprice = opn[cb+l];
entrybar = cb + 1;
}

// выходить из сделок, используя модифицированный стандартный выход
if(entryposted > 0) (
// инициализация и выходы для длинных позиций на каждый день
limprice = entryprice + ptlim * exitatr[cb];
stpprice - entryprice - mmstp * exitatr[cb];
ts.exitlonglimit('A', limprice);
ts.exitlongstop('B', stpprice);
]
else if(entryposted < 0) {
// инициализация и выходы для коротких позиций на каждый день
limprice = entryprice - ptlim * exitatr[cb];
stpprice = entryprice + mmstp * exitatr[cb];
ts.exitshortlimit('C' , limprice) ;
ts.exitshortstop('D' , stpprice);
}
else {
// выходы после дня входа
СТАНДАРТНАЯ СТРАТЕГИЯ ВЫХОДА 333
ГЛАВА 13




if(ts.position() > 0) ( // длинные позиции
ts.exitlonglimit{'F' , limprice) ;
ts.exitlongstop('G' , stpprice);
if(cb-entrybar >= maxhold) ts.exitlongclose('E')
}
else if (ts.position)) < 0) { // короткие позиции
ts.exitshortlimit{'I' , limprice) ;
ts.exitshortstop('J' , stpprice) ;
if(cb-entrybar >= maxhold} ts.exitshortclose{'H');
}
}
)// обрабатываем следующий день
}

Это код идентичен предыдущему за исключением изменений в стра-
тегии выхода. Система входит на рынок по случайному сигналу, как опи-
сывалось ранее, но покупка и продажа производятся только по цене от-
крытия. Кроме того, сохраняется информация о входе, т.е. записывается,
отдавался ли приказ на вход (длинная, короткая позиция или никакой) в
данном торговом дне (entryposted); по какой цене (entryprice) производил-
ся вход, если он был, и в какой день имел место вход (entrybar). Эти дан-
ные необходимы для расчета выходов, которые производятся после вхо-
да. Если на следующий день отдается приказ войти в рынок (т.е. занять
длинную либо короткую позицию по цене открытия следующего дня), то
для этого дня также рассчитываются целевая прибыль и защитная оста-
новка. Для длинных позиций защитная остановка устанавливается на не-
котором уровне (цена входа минус произведение среднего истинного диа-
пазона и некоторого параметра), а лимитный приказ целевой прибыли —
на уровне цены входа плюс произведение среднего истинного диапазона
и другого параметра. Если в данный день отдается приказ к открытию
короткой позиции по цене открытия следующего дня, то также размеща-
ются приказы закрытия данной короткой позиции (лимитный приказ це-
левой прибыли или защитная остановка). Для длинных позиций расчет
производится подобным же образом, но в обратном направлении. Если
данный день не используется для входа, то проводится проверка для оп-
ределения наличия существующей позиции после закрытия дня. Если
позиция существует, то размещаются два (а возможно, три) приказа: за-
щитная остановка и целевая прибыль, вычисленные в день открытия дан-
ной позиции, и, если позиция открыта более чем maxhold дней, отдается
приказ на выход по цене закрытия.


РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ

Тест 4. МССВ со случайными входами по цене открытия.
В табл. 13-5 (идентичной по формату табл. 13-1 — 13-3) приведены данные
об эффективности портфеля рынков при использовании модифицирован-
ной стандартной стратегии выходов при случайных входах по цене от-
ИССЛЕДОВАНИЕ выходов
ЧАСТЬ III
334



крытия. В пределах выборки средняя сделка приносила убыток в $1702
при стандартном отклонении $365. Процент прибыльных сделок соста-
вил 31,73%, при стандартном отклонении 1,10%. Средняя сделка, таким
образом, приносила меньший убыток, чем при тестировании исходной
ССВ. Снижение убытка, несомненно, вызвано способностью модифици-
рованной стратегии быстрее останавливать убыточные позиции. Эти вне-
запные и частые выходы также объясняют снижение числа прибыльных
сделок. Прибыльных сделок было меньше, но убыток со средней сделки
также меньше — интересное сочетание. В целом МССВ можно считать
шагом вперед по сравнению с исходной стратегией.
Вне пределов выборки средняя сделка приносила убыток в размере
$836. С точки зрения статистики это значительное улучшение по сравне-
нию с выборкой — видимо, в последние годы этот выход работает значи-
тельно лучше, чем ранее. Возможно, теперь рынки более чувствительны
к способности своевременно закрывать убыточные позиции. Другие по-
казатели в табл. 13-5 указывают на изменения подобного вида.

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



Результаты модифицированной стратегии выхода при
Таблица 13—5.
случайных входах по цене открытия
СТАНДАРТНАЯ СТРАТЕГИЯ ВЫХОДА
ГЛАВА 13 335



Таблица 13—6. Результаты торговли системы с модифицированной стан-
дартной стратегией выхода и случайными входами по цене
открытия на различных рынках




быль от случайных сделок! Количество рынков, прибыльных и в преде-
лах, и вне пределов выборки было гораздо больше, чем при использова-
нии оригинальной ССВ — верный признак того, что модифицированный,
более чувствительный выход работает лучше.
Как обычно, и в пределах, и вне пределов выборки длинные позиции
были более прибыльными (т.е. менее убыточными), чем короткие. Как ни
ИССЛЕДОВАНИЕ выходов
336 ЧАСТЬ III



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


ЗАКЛЮЧЕНИЕ
Результаты однозначно показывают, что многие из стратегий входа, ис-
пытанных в предыдущих главах, были ничем не лучше случайных входов,
а порой и хуже. Кроме того, показано, что стандартная стратегия выхода
далеко не оптимальна. Модифицированная стратегия, всего-навсего по-
зволяющая выходить из рынка по внутридневным ценам (а не только по
ценам закрытия), работала гораздо лучше и даже смогла обеспечить не-
которую прибыль в длинных позициях. Стратегия МССВ остается ми-
нималистской, но, тем не менее, показывает, что именно хорошая страте-
гия выходов является ключом к успешной торговле. Если данные этого и
предыдущих исследований верны, то можно найти стратегию выходов,
способную реально получать значительную прибыль на основе случай-
ных входов, по крайней мере на некоторых рынках. Такая стратегия под-
твердит сказанное многими великими трейдерами: опытный трейдер, уме-
ло управляющий капиталом, может получить прибыль даже с плохой сис-
темой, а новичок, не имеющий опыта управления капиталом, потеряет
деньги даже при использовании великолепной системы. Под системой
здесь имеется в виду модель входа. Во всех последующих тестах в этой
книге будет использоваться модифицированная стратегия выхода вместо
оригинальной ССВ.


ЧТО МЫ УЗНАЛИ?
Хорошая стратегия выходов чрезвычайно важна. Она может
обеспечить прибыль даже при использовании случайных вхо-
дов! Представьте, чего можно с ней добиться, применяя про-
двинутую систему входов, основанную на реальных рыночных
явлениях.
Даже небольшие изменения стратегии выходов могут привес-
ти к большой разнице в результатах, как и было показано
выше.
При сочетании с неоптимальной ССВ многие из стратегий вхо-
да, описанных в этой книге, производят впечатление работа-
ющих не лучше, чем случайные входы, а некоторые гораздо
хуже! Конечно, некоторые модели все же работали гораздо
лучше, чем модель на основе случайного входа.
ГЛАВА 14

Улучшения
стандартной системы выхода




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


НАЗНАЧЕНИЕ ТЕСТОВ

При создании исходной ССВ (а также при последующей модификации с
использованием лимитных приказов целевой прибыли и защитных оста-
новок внутри дня) расположение защитной остановки и целевой прибыли
было произвольно и жестко установлено. Для длинных входов защитная
установка управления капиталом располагалась на уровне одного средне-
го истинного диапазона ниже цены входа, а целевая прибыль — на уровне
четырех средних истинных диапазонов выше цены входа. Для коротких
входов расположение было обратным. Мы пытались разместить защит-
ную установку достаточно близко к цене входа для максимально быстрого
прекращения убыточных сделок, а целевую прибыль — достаточно дале-
ко, чтобы не терять прибыль благоприятных сделок. Первый из нижепри-
веденных тестов исследует влияние защитной остановки и целевой при-
были при подстройке этих произвольно выбранных значений.
ИССЛЕДОВАНИЕ выходов
338 ЧАСТЬ III



Второй набор тестов изучает возможность замены фиксированной
защитной установки в МССВ на подвижную. Минимальная конфигура-
ция МССВ не обладает привлекательными чертами — в частности, для
трейдера желательно получить хотя бы минимальную прибыль со сделки,
а не ждать, пока она станет убыточной. Такая фиксация прибыли может
быть обеспечена следящей защитной остановкой: вместо размещения за-
щитной остановки на некотором расстоянии от цены входа остановка пе-
ремещается вместе с ценой в направлении открытой позиции, когда сделка
становится выгодной. Когда цены движутся в благоприятном направле-
нии, вместе с ними движется и уровень защитной остановки, защищая
часть потенциальной прибыли. Если рынок разворачивается, то сделка
будет закрыта не с убытком (как было бы при фиксированной защитной
остановке), а с прибылью, если следящая защитная остановка вошла в при-
быльную ценовую область. Существует ряд стратегий размещения и пе-
ремещения уровня защитной остановки, предназначенных для избежа-
ния убыточного закрытия прибыльных сделок и фиксации максимальной
части нереализованных прибылей, которые и будут исследоваться во вто-
ром наборе тестов.
В стратегиях ССВ и МССВ целевая прибыль реализовывалась в виде
лимитного приказа на выход, размещенного на фиксированном уровне.
В третьем наборе тестов фиксированный уровень целевой прибыли, по-
добно защитной остановке ранее, был заменен на нечто более динами-
ческое. Было бы желательно сделать уровень целевой прибыли движущим-
ся в сторону текущей цены, особенно в случае затянувшихся сделок на
«летаргических» рынках. Это позволило бы выхолить из сделки по хоро-
шей цене, возможно, даже с некоторой прибылью, и при отсутствии силь-
ного благоприятного движения. Выход из рынка на случайных «шумовых»
пиках более выгоден, чем простой выход по истечении некоторого вре-
мени или ожидание срабатывания защитной остановки. В то же время
желательно не потерять потенциальный доход благодаря неоптимально-
му уровню целевой прибыли. Слишком близко расположенная целевая
прибыль может обеспечить высокий процент прибыльных сделок, но зна-
чительно снизить прибыль каждой из них, что может сделать стратегию в
целом убыточной. Было бы желательно применять «мобильную» целевую
прибыль, т.е. в начале сделок или при благоприятном устойчивом движе-
нии рынка размещать ее подальше от рыночной цены, не соглашаясь на
минимальную прибыль. Если же сделка затягивается при отсутствии боль-
шой текущей прибыли или поведение рынка неблагоприятно, то целевая
прибыль может смещаться к текущей цене, позволяя закрыть сделку с
максимально возможной прибылью до разворота рынка. Ниже будут ис-
следоваться различные модификации размещения целевой прибыли.
Кроме того, будет испытан в различных модификациях выход по ог-

<< Пред. стр.

стр. 39
(общее количество: 46)

ОГЛАВЛЕНИЕ

След. стр. >>