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

При тестировании торговых алгоритмов на истории я задаю следующие условия:

————————————————

1)      Торговый алгоритм не должен влиять на рынок.  Т е размер позиции должен быть существенно меньше, чем объем предложения в моменты открытия позиции.

Поэтому исследования провожу на ликвидных акциях, в частности на акции сбербанка.

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

Исходя из сказанного, я задаю начальный размер депозита в 100 тысяч рублей (Очевидно, что для сбербанка эта сумма может быть раз в 10 больше).

————————————————-

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

Считаю такой подход далеким от реальности.  Помимо геометрического роста депозита, такой подход предполагает, что Вы никогда не забираете деньги с депозита.  Т е фактически работаете на брокера.

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

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

————————————————————

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

Алгоритм реверсивный.  Комиссия брокера 0.035%

———————————————————

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

—————————————————————-

Результат на графике и в таблице:

kamnik_2014_5_002

 

 

 

All trades Long trades Short trades
Initial capital 100000.00 100000.00 100000.00
Ending capital 234178988.85 140498730.16 93780258.70
Net Profit 234078988.85 140398730.16 93680258.70
Net Profit % 234078.99 % 140398.73 % 93680.26 %
Exposure % 27.34 % 12.51 % 14.83 %
Net Risk Adjusted Return % 856105.41 % 1122209.61 % 631635.03 %
Annual Return % 242.01 % 215.41 % 195.83 %
Risk Adjusted Return % 885.10 % 1721.75 % 1320.40 %
Total transaction costs 24895497.18 12736301.02 12159196.15
All trades 2251 1125 (49.98 %) 1126 (50.02 %)
 Avg. Profit/Loss 103988.89 124798.87 83197.39
 Avg. Profit/Loss % 0.69 % 0.74 % 0.65 %
 Avg. Bars Held 70.50 63.59 77.40
Winners 1096 (48.69 %) 549 (24.39 %) 547 (24.30 %)
 Total Profit 386095375.34 208382366.30 177713009.04
 Avg. Profit 352276.80 379567.15 324886.67
 Avg. Profit % 2.27 % 2.31 % 2.24 %
 Avg. Bars Held 94.60 89.62 99.59
 Max. Consecutive 16 9 12
 Largest win 10473445.21 10473445.21 10014591.45
 # bars in largest win 518 518 347
Losers 1155 (51.31 %) 576 (25.59 %) 579 (25.72 %)
 Total Loss -152016386.48 -67983636.15 -84032750.34
 Avg. Loss -131615.92 -118027.15 -145134.28
 Avg. Loss % -0.80 % -0.75 % -0.85 %
 Avg. Bars Held 47.63 38.78 56.44
 Max. Consecutive 10 10 10
 Largest loss -4454553.27 -2593807.75 -4454553.27
 # bars in largest loss 74 409 74
Max. trade drawdown -4713458.18 -4616353.47 -4713458.18
Max. trade % drawdown -15.91 % -15.91 % -10.43 %
Max. system drawdown -9806466.20 -5958457.55 -10225479.88
Max. system % drawdown -23.92 % -41.20 % -26.97 %
Recovery Factor 23.87 23.56 9.16
CAR/MaxDD 10.12 5.23 7.26
RAR/MaxDD 37.01 41.79 48.96
Profit Factor 2.54 3.07 2.11
Payoff Ratio 2.68 3.22 2.24
Standard Error 23385452.60 16503545.10 7500596.87
Risk-Reward Ratio 1.58 1.38 1.89
Ulcer Index 2.56 3.85 5.87
Ulcer Performance Index 92.59 54.54 32.44
Sharpe Ratio of trades 3.61 3.60 3.76
K-Ratio 0.0073 0.0064 0.0087

 Как видим из таблицы, полученная за 6 лет и 4 месяца прибыль составила бы астрономическую сумму в 234 млн.руб, при начальном депозите в 0.1 млн.руб. т е прибыль в процентах составила бы 234 тысячи %.

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

———————————————————-

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

 kamnik_2014_5_001

 

  All trades Long trades Short trades
Initial capital 100000.00 100000.00 100000.00
Ending capital 1661762.23 931515.57 830246.66
Net Profit 1561762.23 831515.57 730246.66
Net Profit % 1561.76 % 831.52 % 730.25 %
Exposure % 13.79 % 5.82 % 7.97 %
Net Risk Adjusted Return % 11326.58 % 14294.64 % 9160.72 %
Annual Return % 56.12 % 42.43 % 39.86 %
Risk Adjusted Return % 406.98 % 729.44 % 499.99 %
Total transaction costs 157541.86 79036.83 78505.03
All trades 2251 1125 (49.98 %) 1126 (50.02 %)
 Avg. Profit/Loss 693.81 739.12 648.53
 Avg. Profit/Loss % 0.69 % 0.74 % 0.65 %
 Avg. Bars Held 70.50 63.59 77.40
Winners 1096 (48.69 %) 549 (24.39 %) 547 (24.30 %)
 Total Profit 2488016.06 1265496.02 1222520.04
 Avg. Profit 2270.09 2305.09 2234.95
 Avg. Profit % 2.27 % 2.31 % 2.24 %
 Avg. Bars Held 94.60 89.62 99.59
 Max. Consecutive 16 9 12
 Largest win 64342.89 64342.89 34597.19
 # bars in largest win 267 267 89
Losers 1155 (51.31 %) 576 (25.59 %) 579 (25.72 %)
 Total Loss -926253.83 -433980.45 -492273.38
 Avg. Loss -801.95 -753.44 -850.21
 Avg. Loss % -0.80 % -0.75 % -0.85 %
 Avg. Bars Held 47.63 38.78 56.44
 Max. Consecutive 10 10 10
 Largest loss -11069.89 -11069.89 -6801.48
 # bars in largest loss 409 409 317
Max. trade drawdown -25575.71 -25575.71 -11874.91
Max. trade % drawdown -15.91 % -15.91 % -10.43 %
Max. system drawdown -32954.56 -31317.28 -23929.78
Max. system % drawdown -9.74 % -10.64 % -8.16 %
Recovery Factor 47.39 26.55 30.52
CAR/MaxDD 5.76 3.99 4.88
RAR/MaxDD 41.77 68.58 61.27
Profit Factor 2.69 2.92 2.48
Payoff Ratio 2.83 3.06 2.63
Standard Error 193641.03 108624.41 88058.23
Risk-Reward Ratio 1.02 1.05 0.96
Ulcer Index 1.00 1.50 1.26
Ulcer Performance Index 50.95 24.64 27.42
Sharpe Ratio of trades 3.61 3.60 3.76
K-Ratio 0.0047 0.0048 0.0044

 В этом случае за 6 лет и 4 месяца мы могли бы заработать 1,6 млн. рублей при открытии позиции на сумму не более 0.1 млн.руб.

Т е прибыль составила бы 1660 %.

Т е результаты вполне правдоподобны.

————————————————

Но как быть, если необходимо торговать на сумму более 1 млн. рублей в месяц.

Возможны различные варианты торгового алгоритма.

От запуска нескольких роботов до создание пирамидальной позиции.

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

This entry was posted on Четверг, 1 мая, 2014 at 23:27 and is filed under торговые роботы (МТС). You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

Comments are closed at this time.