Контроль рисков при тестировании пробойных систем » Элитный трейдер
Элитный трейдер


Контроль рисков при тестировании пробойных систем

Тестирование систем без учета правил определения размера позиции может дать вам искаженное представление о работе системы. В статье будет рассмотрено сравнение тестирования двух систем для подтверждения этого постулата
26 января 2009
Тестирование систем без учета правил определения размера позиции может дать вам искаженное представление о работе системы. В статье будет рассмотрено сравнение тестирования двух систем для подтверждения этого постулата.

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

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

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

Чтобы проиллюстрировать эту концепцию, мы протестируем простую пробойную систему, применяя и не применяя правила размера позиций.

Простая пробойная система.

Работая по системе «Доначина» или пробоя канала, мы покупаем, если цена преодолевает вверх максимум за N периодов (20, 40, 80 дней), и продаем, если цена пробивает вниз минимум за N периодов. Эта система следования тренду была популяризована Ричардом Дончианом, который уверял, что используя эту тактику вы не пропустите ни одного сильного рыночного движения. Особенно справедливо это утверждение, если вы используете эти правила для системы «стоп-и-разворот», которая позволяет вам все время находиться на рынке. Т.е. мы открываем длинную позицию при пробое максимума за N дней, а затем разворачиваем ее на короткую при пробое минимума за N дней. В системах «стоп-и-разворот» новый максимум или минимум за N дней представляет собой торговый сигнал как для входа, так и для выхода.

Если, например, рынок достигает нового 80-дневного максимума, система закрывает короткую позицию и открывает длинную. Если рынок формирует новый 80-дневный минимум, то система закрывает длинную позицию и открывает короткую.

На рисунке 1 мы видим пример длинной сделке по платине (PL). Цена достигла нового 80-дневного максимума 25 сентября.

Контроль рисков при тестировании пробойных систем


Рисунок 1. Ралли на графике платины. Длинная позиция была открыта, когда цена пробила 80-дневный максимум в конце сентябре. За месяц после открытия позиции, цена выросла на 1.000 пунктов.

После того, как 27 сентября платина закрылась над 80-дневным максимумом 1.363, произошло открытие длинной позиции по системе, как раз в начале сильного движения вверх, в результате которого рынок в течение месяца вырос более, чем на 100 пунктов.

Торговые правила системы «стоп-и-разворот»:

1) Закрываем короткую позицию и открываем длинную позицию по стопу, когда сегодняшний максимум превышает самый высокий максимум за предыдущие 80 торговых дней.

2) Закрываем длинную позицию и открываем короткую позицию по стопу, когда сегодняшний максимум превышает самый высокий максимум за предыдущие 80 торговых дней.

Система тестировалась для периода с 1 января 1985 года до 19 ноября 2007 года по портфелю из 12 фьючерсных контрактов: британский фунт (ВР), хлопок (СТ), золото (GO), медь (HG), бензин (RB), сахар (SB), соевые бобы (S), 10-летняя казначейская облигация США (TY), японская иена (JY), природный газ (NG), индекс Никкей (NG) и 30-летняя казначейская облигаций США (US). Для каждой сделки по умолчанию предполагалось 75 долларов проскальзывания и комиссионных.

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

Цель поймать порцию тренда. Вы можете более эффективно ловить основную часть движения, если будете использовать долгосрочный сигнал пробоя, чтобы войти на рынок и краткосрочный сигнал, чтобы выйти. На рисунке 2 приведен пример такого подхода на графике контракта на природный газ (NG). После того, как 10 августа 2005 года был пробит 80-дневный максимум на 18.171, была открыта длинная позиция. В сентябре и октябре цена росла. 28 октября 2005 года позиция была закрыта, когда цена контракта упала ниже 20-дневного минимума на 21.099.

Контроль рисков при тестировании пробойных систем


Рисунок 2. Пробой 80-дневного экстремума используется для входа на рынок, для выхода используется пробой 20-дневного экстремума. Это помогает нам сохранить большую часть прибыль. В данном примере, если бы выход был осуществлен при пробое 80-дневного экстремума, прибыль была бы во много раз меньше, чем при пробое 20-дневного экстремума.

Если бы вы ждали, пока цена достигнет 80-дневного минимума, вы вышли бы по намного более низкой цене, поскольку пробой этого уровня состоялся только 27 декабря 2005 года, когда цена пробила 80-дневный минимум на отметке 18.175. Использование 80-дневного минимума для выхода ограничило торговую прибыль всего 50 долларами, исключая проскальзывание и комиссии. В случае же использования 20-дневного минимума потенциальная прибыль могла составить 29.280 (исключая проскальзывание и комиссии).

Следующий шаг это тестирование откорректированной системы, в которой используется 80-дневный экстремум для входа и 20-дневный экстремум для выхода.

Правила откорректированной системы.

1) Открываем длинную позицию по стопу, когда сегодняшний максимум выше самого высокого максимума за предыдущие 80 торговый дней.

2) Закрываем длинную позицию по стопу, когда сегодняшний минимум меньше самого низкого минимума за предыдущие 20 торговых дней.

3) Открываем короткую позицию, когда сегодняшний минимум ниже самого низкого минимума за предыдущие 80 торговых дней.

4) Закрываем короткую позицию, когда сегодняшний максимум выше самого высокого максимума за предыдущие 20 торговых дней.

Тестирование по одному контракту приводит к игнорированию риска.

В Таблице 1 приведено сравнение тестирования оригинальной системы с 80-дневным пробоем и скорректированной системы 80-20 по одному контракту. Прибыль при тестировании оригинальной системы составила 623.752 долларов, примерно на 80.000 больше, чем при тестировании системы 80-20. Процент прибыльных сделок был почти одинаковым для обеих систем, однако ожидания лучше для оригинальной системы, поскольку соотношения прибыльных сделок к убыточным, лучше, чем для системы 80-20 (2.43 против 2.14 соответственно).

Контроль рисков при тестировании пробойных систем


Таблица 1. Сравнение двух систем при торговле одним контрактом. При тестировании по одному контракту система «стоп-и-разворот» кажется более эффективной, чем модифицированный вариант.

Также средняя прибыль на сделку для оригинальной системы больше, чем для откорректированной. Это ключевое преимущество для тестирования по одному контракту. Средняя прибыль на сделку – важный статистический показатель для любой системы, поскольку она должна быть больше среднего проскальзывания и комиссионных затрат, чтобы система была потенциальная прибыльной. Для оригинальной системы этот показатель составляет 1.371, что в два раза больше, чем 596 долларов для системы 80-20. Однако, тестирование системы по одному контракту часто приводит к игнорированию критической роли риска. Эти сравнения не отражают, например, риск от просадок, поскольку просадки при торговле по одному контракту не очень значительны по отношению к размеру депозита. Например, просадка в 50.000 долларов намного менее значительна для депозита в 1.000.000 долларов, чем для депозита в 100.000 долларов.

Однако, если во время тестирования вы будете применять правила управления капиталом, то вы сможете более детальной проанализировать показания риска и вознаграждения. Другими словами, вместо того, чтобы торговать фиксированным количеством контрактов (1) каждый раз, вы можете рассчитать размер каждой сделки, основываясь на переменных, таких как общий депозит и предшествующая сделке волатильность. Цель: сбалансировать возможности и риск, найти правильный размер плеча, совпадающий с вашим стилем торговли. Консервативные трейдеры могут использовать меньшее количество контрактов, тогда как агрессивные могут попробовать увеличить прибыль, удерживая риск на приемлемом уровне.

Наконец, тестирования систем с правилами определения размера позиций позволяет лучше сравнить работу двух и более систем.

Чтобы более точно сравнить эти две системы мы протестировали их еще раз с применением правил определения размера позиций.

Много контрактов – другие результаты.

Итак, по умолчанию мы рискуем 2 процентами наличного депозита по каждой сделке. Чтобы рассчитать количество контрактов, умножаем размер депозита на 0.02 и делим на риск на сделку в долларах или разницу между ценой входа и стопом на выходе, рассчитанную в долларах. Формула определения размера позиции следующая:

Количество контрактов = (2% депозита)/ на риск, где

Стоимость пункта = стоимости в долларах движения на 1.0 пункта.

Риск = Сумма в долларах, которой мы рискуем на сделку.

Обратите внимание на то, что количество контрактов всегда округляется вниз до ближайшего числа.

Если, например, мы покупаем фьючерсы на сырую нефть по цене 90 долларов со стопом 85 долларов, , то тогда наш риск в долларах будет (90-85)*$ 1,000 на контракт или 5.000 долларов. Таким образом, если мы рискуем 2% депозита при общем депозите 1.000.000, то мы можем торговать четырьмя контрактами (S20,000/$5,000).

В Таблице 2 приведены итоги тестирования обеих систем, в которые введены правила определения размера позиции. Если сравнить Таблицы 1 и 2, то вы заметите, что введение этих правил изменило результаты, теперь система 80-20 является намного более прибыльной, чем оригинальная система. Для последней характерна не только меньшая прибыль, но и более высокие просадки.

Контроль рисков при тестировании пробойных систем


Таблица 2. Итоги тестирования с инкорпорированными правилами управления капиталом. После введения правил определения размера позиции, выяснилось, что модифицированная система работает намного лучше оригинальной.

Легенда таблиц 1 и 2.

Net profit: Чистая прибыль. Прибыль в конце тестового периода минус комиссионные.

Return on investment (ROI): Возврат на инвестиции. Чистая прибыль, деленная на начальный капитал.

Compound annual ROI: Составной годовой уровень роста.

Max drawndown: Максимальная просадка. Самое большое сокращение депозита.

Longest drawdown (in years): Самая длинная просадка в годах. Самый длинный период между двумя максимумами кривой депозита.

MAR ratio: Коэффициент MAR Годовой возврат, деленный на максимальную просадку.

Sharpe ratio: Коэффициент Шарпа. Средний возврат, деленный на стандартное отклонение возвратов (годовых).

Return retracement ratio: Составной годовой уровень роста, деленный на средний максимальный дневной откат от предыдущего пика кривой депозита или последующего минимума.

Sterling ratio: Составной годовой уровень роста, деленный на среднюю максимальную просадку менее 10%.

Std. dev. of daily percentage returns: Стандартное отклонение дневных процентных возвратов.

Value at risk: Оценка ожидаемых убытков для определенного временного периода.

Expectation: Ожидание: Процент прибыли, умноженный на среднюю прибыльную сделку минус коэффициент убытка, умноженный на среднюю убыточную сделку.

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

Sum of up % / sum of down %: Процент возвратов для всех прибыльных дней, деленный на общий процент возвратов для всех убыточных дней.

Percent new highs: Процент новых максимумов. Процент дней, в которые формировались новые максимумы кривой депозита.

No. trades: Количество сделок. Общее количество сделок по системе.

Number of wins: Количество прибыльных сделок.

Number of losses: Количество убыточных сделок.

Win/loss: Процент прибыльных сделок по отношению к убыточным.

Long wins: Количество прибыльных длинных сделок.

Long losses: Количество неприбыльных длинных сделок.

Short wins: Количество прибыльных коротких сделок.

Short losses: Количество неприбыльных коротких сделок.

Avg. $ win to avg. $ loss: Средняя прибыльная сделка, деленная на среднюю убыточную сделку.

Max. consecutive wins: Максимальное количество последовательных прибыльных сделок.

Max. consecutive losses: Максимальное количество последовательных убыточных сделок.

Days winning: Количество дней, когда ROI положительный.

Days losing: Количество дней, когда ROI отрицательный.

Avg. days in winning trade: Среднее количество дней для прибыльных сделок.

Avg. days in losing trade: Среднее количество дней для убыточных сделок.

Общая прибыль по второй системе на 77% больше, чем общая прибыль по оригинальной системе (11.7 миллионов долларов против 6.6 миллионов). Максимальная просадка по пересмотренной системе ниже, чем для оригинальной системы.

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

Коды:

Система «Стоп и разворот».

SYSTEM = 1

COL1 = MAX[H,80,1]

COL2 = MIN[L,80,1]

COL3 = ATR[20]

COL4 = CLOSE

SIZING[1] = COL3[1] * POINTVALUE[1]

STARTDATE = 19840101

'IF CLOSE[1] > COL1[1] THEN BUYOPEN

BUYSTOP = COL1[1]

'IF LONG > 0 AND CLOSE[1] 0 THEN SELLSTOP = COL2[1]

SYSTEM = 2

COL1 = MAX[H,80,1]

COL2 = MIN[L,80,1]

COL3 = ATR[20]

SIZING[1] = COL3[1] * POINTVALUE[1]

STARTDATE = 19840101

'IF CLOSE[1] 0 AND CLOSE[1] > COL1[1] THEN BUYOPEN

IF SHORT > 0 THEN BUYSTOP = COL1[1]

Модифицированная система.

SYSTEM = 1

COL1 = MAX[H,80,1]

COL2 = MIN[L,80,1]

COL3 = MAX[H,20,1]

COL4 = MIN[L,20,1]

COL5 = ATR[20]

SIZING[1] = COL5[1] * POINTVALUE[1]

STARTDATE = 19840101

BUYSTOP = COL1[1]

SELLSTOP = COL2[1]

IF LONG > 0 THEN SELLSTOP = COL4[1]

IF SHORT > 0 THEN BUYSTOP = COL3[1]

Правила управления капиталом.

STARTDATE = 19840101

STARTUPCASH = 1000000

NEWCONTRACTS = (TOTALEQUITY * .02) / NEWRISK

© Active Trader, Christian Smart

(C) Источник
Не является индивидуальной инвестиционной рекомендацией
При копировании ссылка обязательна Нашли ошибку: выделить и нажать Ctrl+Enter