Автор: Николай Камынин
Данная статья посвящена новому авторскому принципу оценки эффективности торговых стратегий и роботов.
В настоящее время оценку эффективности торговых стратегий помимо расчета различных коэффициентов , осуществляют путем сравнения с результатом стратегии «купил и держи».
При этом, стратегия «купил и держи» фактически отражает движение цены и малопригодна для количественной оценки эффективности созданной стратегии.
Кроме того, применяемые числовые коэффициенты , такие как:
Net Profit %, Exposure %, Net Risk Adjusted Return %,Annual Return %,Risk Adjusted Return %, Avg. Profit %, Avg. Loss %,Max. Consecutive,Max. trade % drawdown,Max. system % drawdown,Recovery Factor,CAR/MaxDD,RAR/MaxDD,Profit Factor,Payoff Ratio,Risk-Reward Ratio,Ulcer Index,Ulcer Performance Index,Sharpe Ratio of trades,K-Ratio не позволяют оценить эффективность торгового робота или стратегии при его работе на различных рынках,таймах и инструментах.
Например, если робот на ациях сбербанка показал прибыль в 100%, а другой робот на акциях газпрома показал прибыль в 90%, то как сравнить эффективность торговых алгоритмов между собой.
Мною разработана новая авторская концепция , позволяющая оценивать эффективность роботов для различных рынков и таймов.
Данная концепция основана на сравнении эффективности работы робота или стратегии с идельным алгоритмом торговли.
Для этой цели , я ввел понятие «идеальная стратегия» и назвал ее —NKIS.
В настоящее время алгоритм NKIS на языке С++ следующий:
//NKIS сигнал Buy=Cover — «купить или закрыть шорт»:
if (j-iS->x.last()==1) {
if (iS->x.pref()>=iR->x.last() && iS->y.pref()>iS->y.last() ) Buy[iS->x.pref()]=0;
Buy[iS->x.last()]=1; BuyPrice[iS->x.last()]=iS->y.last();
}
//NKIS сигнал Sell=Short — «продать или открыть шорт»:
if (j-iR->x.last()==1) {
if (iR->x.pref()>=iS->x.last() && iR->y.last()>iR->y.pref() ) Sell[iR->x.pref()]=0;
Sell[iR->x.last()]=1; SellPrice[iS->x.last()]=iR->y.last();
}
где j — текущее время;
iS->x.last(),iS->y.last() — время и значение последнего локального минимума;
iR->x.last(),iR->y.last() — время и значение последнего локального максимума;
iS->x.pref(),iS->y.pref() — время и значение предыдущего локального минимума;
iR->x.pref(),iR->y.pref() — время и значение предыдущего локального максимума
Проведем оценку параметров алгоритма NKIS для акции сбербанка,
на истории сделок с 01.01.2007 г по 25.06.2012.
Условия торговли примем следующие:
Комиссия — 0.
Сумма депозита постоянная для любой сделки и равна 100 000.
Cделка на всю сумму депозита.
Без плеча.
Без реинвестирования прибыли.
Тайм — 5 минут
|
All trades
|
Long trades
|
Short trades
|
Net Profit % |
34255.55 %
|
17269.95 %
|
16985.60 %
|
Exposure % |
1.79 %
|
0.87 %
|
0.92 %
|
Net Risk Adjusted Return % |
1916787.03 %
|
1981175.21 %
|
1855474.59 %
|
Annual Return % |
191.21 %
|
157.04 %
|
156.26 %
|
Risk Adjusted Return % |
10699.47 %
|
18014.81 %
|
17069.56 %
|
All trades |
43915
|
21958 (50.00 %)
|
21957 (50.00 %)
|
Avg. Profit/Loss |
780.04
|
786.50
|
773.58
|
Avg. Profit/Loss % |
0.78 %
|
0.79 %
|
0.77 %
|
Avg. Bars Held |
3.96
|
3.94
|
3.98
|
Winners |
43810 (99.76 %)
|
21899 (49.87 %)
|
21911 (49.89 %)
|
Avg. Profit % |
0.78 %
|
0.79 %
|
0.78 %
|
Avg. Bars Held |
3.95
|
3.93
|
3.97
|
Max. Consecutive |
2022
|
2377
|
1781
|
# bars in largest win |
6
|
2
|
6
|
Losers |
105 (0.24 %)
|
59 (0.13 %)
|
46 (0.10 %)
|
Avg. Loss % |
-0.29 %
|
-0.29 %
|
-0.29 %
|
Avg. Bars Held |
7.62
|
7.64
|
7.59
|
Max. Consecutive |
1
|
1
|
1
|
# bars in largest loss |
13
|
10
|
13
|
Max. trade % drawdown |
-5.33 %
|
-3.69 %
|
-5.33 %
|
Max. system % drawdown |
-1.13 %
|
-1.64 %
|
-0.37 %
|
Recovery Factor |
5959.61
|
4620.16
|
2955.07
|
CAR/MaxDD |
169.07
|
95.66
|
425.50
|
RAR/MaxDD |
9460.36
|
10973.49
|
46481.15
|
Profit Factor |
1123.76
|
1002.86
|
1280.78
|
Payoff Ratio |
2.69
|
2.70
|
2.69
|
Risk-Reward Ratio |
3.90
|
3.89
|
3.91
|
Ulcer Index |
0.01
|
0.01
|
0.00
|
Ulcer Performance Index |
25068.62
|
14924.67
|
33942.83
|
Sharpe Ratio of trades |
71.80
|
71.19
|
72.46
|
K-Ratio |
0.0171
|
0.0170
|
0.0171
|
Для наглядности приведу результаты Робота Вася при тех же условиях:
|
All trades
|
Long trades
|
Short trades
|
Net Profit % |
3156.91 %
|
1597.34 %
|
1559.57 %
|
Exposure % |
12.79 %
|
7.62 %
|
5.17 %
|
Net Risk Adjusted Return % |
24678.85 %
|
20963.42 %
|
30152.32 %
|
Annual Return % |
89.20 %
|
67.92 %
|
67.23 %
|
Risk Adjusted Return % |
697.30 %
|
891.41 %
|
1299.85 %
|
All trades |
2773
|
1387 (50.02 %)
|
1386 (49.98 %)
|
Avg. Profit/Loss |
1138.44
|
1151.65
|
1125.23
|
Avg. Profit/Loss % |
1.14 %
|
1.15 %
|
1.13 %
|
Avg. Bars Held |
47.67
|
54.98
|
40.35
|
Winners |
1873 (67.54 %)
|
907 (32.71 %)
|
966 (34.84 %)
|
Avg. Profit % |
2.03 %
|
2.18 %
|
1.90 %
|
Avg. Bars Held |
53.36
|
63.62
|
43.73
|
Max. Consecutive |
50
|
31
|
34
|
# bars in largest win |
88
|
48
|
88
|
Losers |
900 (32.46 %)
|
480 (17.31 %)
|
420 (15.15 %)
|
Avg. Loss % |
-0.72 %
|
-0.78 %
|
-0.66 %
|
Avg. Bars Held |
35.82
|
38.67
|
32.58
|
Max. Consecutive |
6
|
8
|
5
|
# bars in largest loss |
285
|
285
|
72
|
Max. trade % drawdown |
-15.33 %
|
-15.33 %
|
-12.06 %
|
Max. system % drawdown |
-4.55 %
|
-6.30 %
|
-3.31 %
|
Recovery Factor |
132.71
|
89.10
|
128.40
|
CAR/MaxDD |
19.59
|
10.79
|
20.30
|
RAR/MaxDD |
153.11
|
141.59
|
392.44
|
Profit Factor |
5.84
|
5.25
|
6.66
|
Payoff Ratio |
2.81
|
2.78
|
2.90
|
Risk-Reward Ratio |
2.78
|
3.00
|
2.48
|
Ulcer Index |
0.36
|
0.55
|
0.45
|
Ulcer Performance Index |
232.68
|
113.56
|
137.60
|
Sharpe Ratio of trades |
9.05
|
8.15
|
10.20
|
K-Ratio |
0.0121
|
0.0131
|
0.0108
|
Эффективность роботВася относительно NKIS:
Net Profit % = 3156/34255= 9%
Profit Factor =5.8/1120 =0.5%
Max. trade % drawdown
для NKIS составляет 5.3%, для робота Вася 15.3%,что в 3 раза хуже,
и так далее.
Таким образом, предложена новая концепция оценки эффективности торговых стратегий и роботов.
Предложен базовый алгоритм идеальной торговой стратегии NKIS.
Концепция позволяет сравнивать по единой методике различные алгоритмы на различных рынках, различных таймах и различных условиях торговли, путем сравнительной оценки результаов с результатами идеальной стратегии NKIS.