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

При тестировании торговых роботов на исторических данных наиболее просто не ограничивать использование капитала, а реинвестировать его полностью в следующие сделки.

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

Но проблема в том, что в этом случае риск потерять весь накопленный капитал в последней сделке равен риску потерять начальный капитал в первой.

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

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

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

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

Ниже даны результаты тестирования робота на истории сбербанка за период с 1.01.2007 по 4.06.2012

Первая таблица – тестирование с постоянной суммой

Вторая таблица – дает представление о ”волшебных” результатах при реинвестировании прибыли.

Если в первом случае получили прибыль в 1251% за 65 месяцев(230% в год),

То во втором случае величина прибыли составила 228533 % за тот же период (42000% в год).

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

Торговля на постоянную сумму трейда

……………………….All trades                  Long trades             Short trades
Net Profit %                  1251.98 %                647.82 %                   604.16 %


All trades                      2177                          1089 (50.02 %)         1088 (49.98 %)
Avg. Profit/Loss %          0.58 %                       0.59 %                        0.56 %


Winners                          1007 (46.26 %)        502 (23.06 %)           505 (23.20 %)
Avg. Profit %                 2.33 %                       2.47 %                        2.19 %


Losers                            1170 (53.74 %)        587 (26.96 %)           583 (26.78 %)
Avg. Loss %                     -0.93 %                      -1.01 %                      -0.86 %


Max. trade % drawdown         -13.51 %                    -13.51 %                    -6.80 %
Max. system % drawdown       -9.64 %                      -15.03 %                    -8.76 %
Recovery Factor                         42.02                         22.37                          24.04
CAR/MaxDD                            6.42                            3.00                            4.96
RAR/MaxDD                              29.47                         24.89                          50.98
Profit Factor                              2.15                            2.10                            2.21
Payoff Ratio                                 2.49                            2.45                            2.55
Risk-Reward Ratio                      2.44                            2.43                            1.95
Ulcer Index                                1.48                            2.32                            2.16
Ulcer Performance Index            38.20                         17.10                          17.65
Sharpe Ratio of trades                4.06                            3.87                            4.29
K-Ratio                                    0.0106                       0.0106                        0.0085
~~~~~~~~~~~~~~~~~~~~

Реинвестиция прибыли  ”волшебные” результаты
…………………………………All trades                  Long trades             Short trades
Net Profit %                         228533.39 %            129287.70 %            99245.69 %


All trades                           2177                          1089 (50.02 %)         1088 (49.98 %)
Avg. Profit/Loss %           0.58 %                       0.59 %                        0.56 %


Winners                     1007 (46.26 %)        502 (23.06 %)           505 (23.20 %)
Avg. Profit %                   2.33 %                       2.47 %                        2.19 %


Losers                        1170 (53.74 %)        587 (26.96 %)           583 (26.78 %)
Avg. Loss %                       -0.93 %                      -1.01 %                      -0.86 %


Max. trade % drawdown      -13.51 %                    -13.51 %                    -6.80 %
Max. system % drawdown     -25.40 %                    -82.92 %                    -51.35 %
CAR/MaxDD                       12.53                         3.33                            5.03
RAR/MaxDD                       24.89                         12.07                          22.15
Profit Factor                           2.40                            2.63                            2.18
Payoff Ratio                             2.79                            3.07                            2.52
Risk-Reward Ratio               2.50                            2.41                            1.88
Ulcer Index                           4.07                            8.90                            8.11
Ulcer Performance Index      76.94                         30.44                          31.20
Sharpe Ratio of trades          4.06                            3.87                            4.29
K-Ratio                                 0.0109                       0.0105                        0.0082

This entry was posted on Вторник, 5 июня, 2012 at 08:55 and is filed under QUIK и Amibroker, торговые роботы (МТС), Фондовый рынок. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

11 comments so far

roma095
 1 

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

2. Ваш робот через odbc данные по всем сделкам в mysql базу получает или связка какая то другая?

5 июня, 2012 at 16:21
Kamynin
 2 

Добрый день,
1) История сделок — это единственно реальные события на бирже. Заявки — это намерения, они тоже полезны но в HFT роботах.
2) Для стратегии по тайму 5 минут историю сделок получаю экспортом в системы тех анализа из QUIK.
Для получения всей информации в том числе и ТВС, использую DDE и собственную СУБД.
Это наиболее быстрый способ получения информации.( 1 строка ТВС — 10 мкс, 1 миллион сделок за день — это примерно 30 Мбайт)

5 июня, 2012 at 17:55
roma095
 3 

Николай, людишки смотрят графики, пытаясь найти разворотные паттерны. А нужен ли график роботам?

6 июня, 2012 at 09:43
Kamynin
 4 

Добрый день,
График — это форма представления функции цены, которая позволяет
наиболее быстро передать информацию в мозг человека.
У робота функция цены представлена в другой — табличной форме.
Так как робот не видит, то и графика для него не существует.

6 июня, 2012 at 13:10
roma095
 5 

Николай, а почему вы выбрали именно 5 мин ТФ? Будет ли ваш алгоритм также эффективен на 1,3,15 мин интервале?

7 июня, 2012 at 20:31
Kamynin
 6 

Добрый вечер,
Я уже писал об этом, но повторю:
Свечи — это фильтр.
Как любой фильтр , они уменьшают объем получаемой информации,выкидывая что-то.
Поэтому наилучшим решением является использование тиков или таблицы всех сделок.
Но это будет примерно 100 миллионов сделок в год.
Я исследую роботов на истории не менее 5 лет. Получаем 0.5 миллард.сделок.
чтобы обработать историю за 5 лет, скажем за 1 час, надо ускорить вычисления примерно в 100 000 раз.
Если в секунду совершается 10 сделок, то в реале на 1 сделку имеем 100 мс.
Для изучения истории надо обрабатывать каждую сделку не более 1 мкс.
Для решения этой задачи мне нужен супер-компьютер, скажем со 100 процессорами.
Даже обработка с таймом 1 минута занимает много времени.
Поэтому тайм 5 минут — это минимальный интервал,
на котором я могу в настоящее время исследовать рынки.

испльзование истории

8 июня, 2012 at 23:19
zovalone
 7 

Здравствуйте, Николай.
Так значит вы даете роботу цены в каком-то виде, я имею в виду не «чистые» значения цены, а, например, приращения цен от бара к бару или что-то в этом роде? Т.е. в вектор признаков входит и информация о текущих ценах?

7 июня, 2012 at 21:57
Kamynin
 8 

Добрый вечер,
Все, что обрабатывает робот представлено на графиках.
Первичными являются свечи и объем на тайме 5 минут.

8 июня, 2012 at 23:21
genom
 9 

Добрый день, Николай!
Можно ли Вас попросить рассказать про важность объема в Ваших алгоритмах? Используете ли Вы профиль рынка? Важен ли для Вас объем на фьючерсах или только на акциях? PS/ интересен Ваш нетривиальный взгляд на рыночные явления применительно к объему.

12 июня, 2012 at 12:50
Kamynin
 10 

Добрый день, ответ помещу в продолжение данной заметки.

12 июня, 2012 at 15:49
genom
 11 

Спасибо за пост!

12 июня, 2012 at 16:44