Простая стратегия ФНЧ(ч.2)

11 ноября, 2012

 

 

 

 

 

 

 

All trades Long trades Short trades
Initial capital 2000 2000 2000
Ending capital 9719320.06 5595923.89 4125396.17
Net Profit % 485866.00% 279696.19% 206169.81%
Exposure % 94.69% 46.50% 48.19%
Net Risk Adjusted Return % 513125.12% 601516.54% 427834.73%
Annual Return % 328.00% 289.38% 269.57%
Risk Adjusted Return % 346.40% 622.35% 559.41%
All trades 3201 1614 (50.42 %) 1587 (49.58 %)
 Avg. Profit/Loss % 0.29% 0.30% 0.28%
 Avg. Bars Held 44.06 42.79 45.35
Winners 1184 (36.99 %) 592 (18.49 %) 592 (18.49 %)
 Avg. Profit % 2.06% 2.14% 1.97%
Losers 2017 (63.01 %) 1022 (31.93 %) 995 (31.08 %)
 Avg. Loss % -0.74% -0.76% -0.73%
Max. trade % drawdown -22.03% -14.30% -22.03%
Recovery Factor 8.01 7.12 2.77
CAR/MaxDD 10.31 4 2.95
RAR/MaxDD 10.88 8.61 6.11
Profit Factor 1.37 1.43 1.31
Payoff Ratio 2.33 2.46 2.21
Risk-Reward Ratio 1.17 1.42 0.85
Ulcer Index 7.11 9.93 24.31
Ulcer Performance Index 45.37 28.6 10.87
Sharpe Ratio of trades 2.72 2.87 2.61
K-Ratio 0.0052 0.0064 0.0038

В данном варианте применен более сложный адаптивный фильтр на основе LinerReg и MA.

 

 

 

 

 

 

Ошибки тестирования роботов

10 ноября, 2012

Тестирование роботов на исторических данных не является простой задачай, как это может показаться начинающему роботостроителю.

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

Эти ошибки всегда приводят к улучшению получаемых результатов.

При тестировании торговых алгоритмов можно условно выделить два типа сигналов.

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

Второй тип  — сигналы изменения позиции внутри свечи. При реализации этих сигналов возникают ошибки искажения истории.

Заглядывание в будущее.

 Об этой ошибке я уже неоднократно писал.

Повторю способы ее получения.

Во-первых, ошибка может возникать при использовании индикаторов типа fractal и zigzag.

Во-вторых, ошибка всегда возникает при совершении сделки на close свечи возникновения сигнала.

При этом многие ошибочно считают, что большая ликвидность исследуемого инструмента сводит к нулю данную ошибку.

Однако, это не так.

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

Это означает, что в реальности, сделка совершится на открытии следующего торгового дня.

И если на открытии возникает ГЕП, то совершение сделки по цене закрытия предыдущего дня увеличивает прибыль  по лонг позиции на величину гепа(геп вверх ) и уменьшает убыток на эту величину (геп вниз).

Таким образом, не только виртуально увеличивается прибыль и уменьшаются убытки, но и уменьшается просадка.

В результате получается очень хорошая торговая стратегия, которая физически не реализуема.

Искажение прошлого.

Эта ошибка менее очевидна, чем первая.

Полагаю, что ее совершают большинство.

Она возникает при реализации алгоритма формирования стоп-сигналов по собственным алгоритмам.

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

Все что мы знаем о движении цены внутри свечи — это достигнутый максимум  и минимум.

Но мы не знаем, ни их очередности, ни их повторяемости.

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

Последствия таких искажений сложно спрогнозировать заранее.

Как правило, стоп-сигналы, реализованные по собственным алгоритмам, показывают на истории значительно лучшие результаты.

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

Либо, немного слукавив, заглянув в будущее или исправив прошлое, продемонстрировать удивительные результаты.

 В заключение данной статьи, приведу несколько советов:

1)      В простых торговых стратегиях практически невозможно  получить величину просадки менее 15%.

Если получили 2-5%, то это повод, чтобы усомниться в реализуемости алгоритма.

2)      Формируйте все сигналы, в том числе и стоп на закрытии свечи, а сделки совершайте на открытии следующей свечи.