Свинговая система

Свинговая система торговли (от английского swing – качаться, размах). Это еще одна из разновидностей пробойных систем торговли. Свинговая система открывает позиции на основании зигзаговой функции, в MetaStock используются функции Peak & Trough, а в ProSuite – Swing, PKSwing. Система покупает и продает на основании пробоя последних ценовых экстремумов, позиции открываются в сторону произошедшего пробоя.

В MetaStock-е в качестве свинговых функций используются функции ’’Peak’’ и ’’Through’’. Простейшая свинговая система, написанная для MetaStock, может выглядеть следующим образом:

Enter Long: C > Peak(1, H, opt1)

Enter Short: C < Trough(1, L , opt1)

Система, написанная под ProSuite, будет выглядеть более громоздкой по сравнению с аналогом для MetaStock.

Inputs: Slip(0.2), SwSize(1);

Vars: CurrSw(0), CurrVal(0);

if CurrentBar > 1 then begin

CurrSw = PKSwingLowBar(1, PKSwing(SwSize), 1, 50);

{PKSwingLowBar - сколько дней назад была зафиксирована впадина, PKSwing(SwSize) - размер свинга}

if CurrSw <> -1 then begin

CurrVal = PKSwing(SwSize)[CurrSw] - Slip;

{на закрытии происходит пробитие предыдущей впадины на величину Slip}

if Close <= CurrVal and Close[1] > CurrVal then Sell Close;

end;

CurrSw = PKSwingHighBar(1, PKSwing(SwSize), 1, 50);

{сколько дней назад был зафиксирован пик}

if CurrSw <> -1 then begin

CurrVal = PKSwing(SwSize)[CurrSw] + Slip;

{на закрытие происходит пробитие предыдущей впадины на величину Slip}

if Close >= CurrVal and Close[1] < CurrVal then Buy Close;

end;

end;

Итак, система покупает на основании пробоя ближайшего максимума вверх. Система продает на основании пробоя ближайшего минимума вниз больше чем на Slip.

Оптимизированная на дневном графике РАО ЕЭС России за период с мая 97 г. по октябрь 2000 г., система показала следующий результат:

Annual Rate of Return (Доходность годовых): +59,95%

Return on Initial Capital (Доход на первоначально вложенный капитал): +328,07%,

Total Number of Trades (Количество сделок): 24,

Number of winning trades (Количество выигрышных сделок): 12,

Ratio avg. win/ avg. loss (Соотношение средний убыток/ ср. прибыль): 2,87.

При анализе системы размер комиссионных брокера и биржи не учитывались, все сделки осуществлялись фиксированной суммой - $10.000.

Рис.1

Оптимизировались параметры Slip и SwSize, наиболее удачными (с точки зрения размера прибыли) для дневного графика РАО ЕЭС оказались значения Slip=0,1 и SwSize=0,1.

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

Табл.1

Период Return on Initial Capital, % Total Number of Trades Number of winning trades Ratio avg. win/ avg. loss Slip SwSize
15-минут 259,16 49 19 3,37 0,1 0,05
30-минут 300,69 62 29 2,71 0,08 0,05
60-минут 365,41 22 14 1,86 0,15 0,05

Оптимизация проводилась на внутридневном графике РАО ЕЭС России за период с сентября 1997 г. по октябрь 2000 г..

При анализе системы размер комиссионных брокера и биржи не учитывались, все сделки осуществлялись фиксированной суммой - $10.000.

Как видно из представленной выше таблицы, использование intraday данных не увеличило, а, наооборот, снизило эффективность работы системы. Доходность выросла лишь на 60-минутном графике РАО ЕЭС. Это связано с тем, что увеличение разрешения ценового графика, ведет к увеличению "шума" на нем, что приводит к ложным сигналам (см. кол-во сделок для 15 и 30-минуток).

 

А теперь построим и протестируем аналогичную свинговую систему для MetaStock. Оптимизировав ее на определенном периоде, проверим ее устойчивость на новых для системы данных. Итак, свинговая система будет оптимизироваться на внутридневных данных по РАО ЕЭС (с периодом 5, 15, 30 и 60-минут) за период с января по июль 2000 г., а проверяться на устойчивость (robust) на внутридневных данных РАО ЕЭС с таким же разрешением, но за период сентябрь - декабрь 1999 г. и за период август - октябрь 2000 г..

Система будет иметь следующий вид:

Enter Long: C > Peak(1, High, opt1)

Close Long: C<Trough(1, Close, opt2)

Enter Short: C < Trough(1, Low , opt3)

Close Short: C>Peak(1, Close, opt4)

Система не реверсивна, т.к. создание нейтрального буфера (диапазона, в котором не будет производиться никаких сделок) повысит эффективность системы. При оптимизации системы учтем комиссию брокера/ возможное проскальзывание на уровне 0,3% от суммы сделки.

Табл. 2

 

Доход за тестируемый период, %

Переменные
Компрессия графика

сентябрь-декабрь 1999 г.

январь-июль 2000 г.*

август-октябрь 2000 г.

opt1 opt2 opt3 opt4
5 минут

121,74

339,63

-29,23

0,5 1,5 1,5 1,5
15 минут

83,61

281,66

-15,12

1,5 3 1,5 4
30 минут

167,40

301,55

-19,92

0,5 1 1 2
60 минут

91,45

165,24

-3,49

1 0,5 1,5 2

*система оптимизировалась на этом периоде

- доходность в MetaStock рассчитывается с учетом реинвестирования, поэтому полученые значения выше реальных результатов.

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

Табл. 3

 

Доход за тестируемый период, %

Переменные
Компрессия графика

сентябрь-декабрь 1999 г.

январь-июль 2000 г.*

август-октябрь 2000 г.

opt1 opt2 opt3 opt4
5 минут

55,97

368,23

-23,94

2 1,5 1,5 4
15 минут

293,88

668,02

-0,13

0,5 0,5 0,5 4,5
30 минут

185,33

528,13

-34,79

1 0,5 0,5 3,5
60 минут

120,71

354,99

5,79

0,5 1 4 1,5

*система оптимизировалась на этом периоде

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

Hosted by uCoz