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

Решил назвать этого робота Федя.

Используется сбербанк обычка,

без плеч и реинвестирования прибыли.

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

Стопов нет.

Торговля на постоянную сумму в 100 тысяч руб.

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

В качестве признаков использованы уровни экстремумов и адаптивный фильтр Калмана.

Обучение с учителем.

nk_2014_6_010

 

 

 

 

 

 

 

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

Итоговая таблица результатов:
Statistics
All trades Long trades Short trades
Initial capital 100000.00 100000.00 100000.00
Ending capital 1753551.78 968391.92 885159.86
Net Profit 1653551.78 868391.92 785159.86
Net Profit % 1653.55 % 868.39 % 785.16 %
Exposure % 12.49 % 6.07 % 6.42 %
Net Risk Adjusted Return % 13238.36 % 14315.43 % 12221.37 %
Annual Return % 55.73 % 42.07 % 40.11 %
Risk Adjusted Return % 446.21 % 693.53 % 624.32 %
Total transaction costs 0.00 0.00 0.00

All trades 5637 2819 (50.01 %) 2818 (49.99 %)
 Avg. Profit/Loss 293.34 308.05 278.62
 Avg. Profit/Loss % 0.29 % 0.31 % 0.28 %
 Avg. Bars Held 29.44 29.44 29.45

Winners 2897 (51.39 %) 1427 (25.31 %) 1470 (26.08 %)
 Total Profit 3519707.41 1791141.61 1728565.80
 Avg. Profit 1214.95 1255.18 1175.90
 Avg. Profit % 1.22 % 1.26 % 1.18 %
 Avg. Bars Held 34.94 34.66 35.21
 Max. Consecutive 18 15 11
 Largest win 26310.00 26310.00 22877.40
 # bars in largest win 2 2 96

Losers 2740 (48.61 %) 1392 (24.69 %) 1348 (23.91 %)
 Total Loss -1866155.63 -922749.69 -943405.94
 Avg. Loss -681.08 -662.89 -699.86
 Avg. Loss % -0.68 % -0.66 % -0.70 %
 Avg. Bars Held 23.64 24.09 23.18
 Max. Consecutive 10 11 10
 Largest loss -14192.04 -14192.04 -12895.09
 # bars in largest loss 18 18 65

Max. trade drawdown -14477.10 -14192.04 -14477.10
Max. trade % drawdown -14.21 % -14.20 % -14.21 %
Max. system drawdown -30740.97 -21361.94 -26898.40
Max. system % drawdown -8.63 % -8.91 % -8.69 %
Recovery Factor 53.79 40.65 29.19
CAR/MaxDD 6.46 4.72 4.62
RAR/MaxDD 51.71 77.86 71.85
Profit Factor 1.89 1.94 1.83
Payoff Ratio 1.78 1.89 1.68
Standard Error 184124.62 101120.92 86696.07
Risk-Reward Ratio 1.00 1.04 0.91
Ulcer Index 0.77 1.18 1.27
Ulcer Performance Index 65.24 31.18 27.43
Sharpe Ratio of trades 4.27 4.44 4.09
K-Ratio 0.0047 0.0048 0.0042

Мои результаты можно использовать как эталон  для проверки эффективности торговых  алгоритмов.

Всем читателям желаю успехов в строительстве роботов.

 

В данной заметке приведен результат синтеза торгового алгоритма для акций сбербанка

на интервале с 01.01.2014 по н в, на основе локальных экстремумов функции цены.

Алгоритм не имеет параметров настройки.

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

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

Получены следующие результаты:

весь период:

rs_2014_5_003

 

 

 

 

 

 

 

 

подробнее:

rs_2014_5_004

 

 

 

 

 

 

 

 

таблица итоговых результатов:

 

Statistics
All trades Long trades Short trades
Initial capital 100000.00 100000.00 100000.00
Ending capital 251884.97 169948.66 181936.30
Net Profit 151884.97 69948.66 81936.30
Net Profit % 151.88 % 69.95 % 81.94 %
Exposure % 69.13 % 32.79 % 36.33 %
Net Risk Adjusted Return % 219.72 % 213.30 % 225.51 %
Annual Return % 939.77 % 283.52 % 355.85 %
Risk Adjusted Return % 1359.49 % 864.57 % 979.41 %
Total transaction costs 17767.58 8913.50 8854.09

All trades 254 127 (50.00 %) 127 (50.00 %)
 Avg. Profit/Loss 597.97 550.78 645.17
 Avg. Profit/Loss % 0.60 % 0.55 % 0.65 %
 Avg. Bars Held 42.45 40.19 44.71

Winners 157 (61.81 %) 76 (29.92 %) 81 (31.89 %)
 Total Profit 204724.56 95400.74 109323.83
 Avg. Profit 1303.98 1255.27 1349.68
 Avg. Profit % 1.30 % 1.26 % 1.35 %
 Avg. Bars Held 50.23 46.59 53.64
 Max. Consecutive 17 8 19
 Largest win 10190.04 10146.45 10190.04
 # bars in largest win 267 255 267

Losers 97 (38.19 %) 51 (20.08 %) 46 (18.11 %)
 Total Loss -52839.60 -25452.07 -27387.52
 Avg. Loss -544.74 -499.06 -595.38
 Avg. Loss % -0.54 % -0.50 % -0.60 %
 Avg. Bars Held 29.86 30.65 28.98
 Max. Consecutive 5 6 5
 Largest loss -2642.90 -2421.46 -2642.90
 # bars in largest loss 59 95 59

Max. trade drawdown -9338.37 -3017.45 -9338.37
Max. trade % drawdown -8.03 % -3.02 % -8.03 %
Max. system drawdown -9338.37 -6620.33 -9338.37
Max. system % drawdown 6.85 % -6.01 % -7.11 %
Recovery Factor 16.26 10.57 8.77
CAR/MaxDD 137.27 47.18 50.05
RAR/MaxDD 198.58 143.88 137.75
Profit Factor 3.87 3.75 3.99
Payoff Ratio 2.39 2.52 2.27
Standard Error 8743.55 6702.63 4472.97
Risk-Reward Ratio 41.99 22.65 48.15
Ulcer Index 1.66 1.68 1.84
Ulcer Performance Index 562.60 165.94 190.32
Sharpe Ratio of trades 8.73 8.27 9.17
K-Ratio 0.0466 0.0251 0.0534

 Это результат, если инвестировать прибыль в следующие сделки:

Statistics
All trades Long trades Short trades
Initial capital 100000.00 100000.00 100000.00
Ending capital 438870.64 276410.73 262459.91
Net Profit 338870.64 176410.73 162459.91
Net Profit % 338.87 % 176.41 % 162.46 %
Exposure % 99.80 % 47.18 % 52.62 %
Net Risk Adjusted Return % 339.55 % 373.91 % 308.74 %
Annual Return % 4147.61 % 1215.89 % 1054.01 %
Risk Adjusted Return % 4155.88 % 2577.10 % 2003.03 %
Total transaction costs 35241.48 17624.82 17616.66

All trades 254 127 (50.00 %) 127 (50.00 %)
 Avg. Profit/Loss 1334.14 1389.06 1279.21
 Avg. Profit/Loss % 0.60 % 0.55 % 0.65 %
 Avg. Bars Held 42.45 40.19 44.71

Winners 157 (61.81 %) 76 (29.92 %) 81 (31.89 %)
 Total Profit 436543.14 219880.58 216662.56
 Avg. Profit 2780.53 2893.17 2674.85
 Avg. Profit % 1.30 % 1.26 % 1.35 %
 Avg. Bars Held 50.23 46.59 53.64
 Max. Consecutive 17 8 19
 Largest win 28678.22 28678.22 13497.16
 # bars in largest win 255 255 120

Losers 97 (38.19 %) 51 (20.08 %) 46 (18.11 %)
 Total Loss -97672.50 -43469.85 -54202.65
 Avg. Loss -1006.93 -852.35 -1178.32
 Avg. Loss % -0.54 % -0.50 % -0.60 %
 Avg. Bars Held 29.86 30.65 28.98
 Max. Consecutive 5 6 5
 Largest loss -5281.24 -3075.96 -5281.24
 # bars in largest loss 164 95 164

Max. trade drawdown -11382.71 -7476.11 -11382.71
Max. trade % drawdown -8.03 % -3.02 % -8.03 %
Max. system drawdown -17147.27 -9639.32 -17277.77
Max. system % drawdown -8.59 % -7.95 % -10.57 %
Recovery Factor 19.76 18.30 9.40
CAR/MaxDD 482.86 152.95 99.73
RAR/MaxDD 483.82 324.18 189.52
Profit Factor 4.47 5.06 4.00
Payoff Ratio 2.76 3.39 2.27
Standard Error 29394.78 20309.14 11095.17
Risk-Reward Ratio 23.47 16.28 32.38
Ulcer Index 2.55 2.35 2.99
Ulcer Performance Index 1626.94 515.09 350.29
Sharpe Ratio of trades 8.73 8.27 9.17
K-Ratio 0.0260 0.0181 0.0359

 

 

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

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

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

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 млн. рублей в месяц.

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

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

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