График

Таблица

……………………………                   All trades                 Long trades            Short trades

Net Profit %                                               237.75 %                  128.16 %                  109.58 %

Exposure %                                               50.42 %                    26.78 %                    23.64 %

Net Risk Adjusted Return %                    471.51 %                  478.52 %                  463.57 %


All trades                                                  476                            238 (50.00 %)          238 (50.00 %)

Avg. Profit/Loss %                                   0.50 %                      0.54 %                       0.46 %


Winners                                                    412 (86.55 %)          214 (44.96 %)          198 (41.60 %)

Avg. Profit %                                            0.59 %                      0.61 %                       0.58 %

Max. Consecutive                                    46                              35                              26

# bars in largest win                                125                            125                            88


Losers                                                       64 (13.45 %)            24 (5.04 %)               40 (8.40 %)

Avg. Loss %                                             -0.10 %                     -0.08 %                     -0.12 %

Max. Consecutive                                    4                                2                                 3

# bars in largest loss                               31                              4                                 31


Max. trade % drawdown                          -1.22 %                     -0.96 %                     -1.22 %

Max. system % drawdown                       -1.55 %                     -0.69 %                     -1.50 %

Recovery Factor                                       147.50                      128.03                       73.13

Profit Factor                                              36.49                        65.65                         24.23

Payoff Ratio                                               5.67                           7.36                           4.89

Risk-Reward Ratio                                   228.40                      190.41                       170.00

Ulcer Index                                                 0.12                           0.11                           0.13

Sharpe Ratio of trades                             33.43                        32.70                         33.24

K-Ratio                                                       0.1948                      0.1624                       0.1450

This entry was posted on Пятница, 30 марта, 2012 at 19:31 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.

14 comments so far

travek
 1 

Николай,
в одном из ответов на вопрос на сайте вы сказали, что робот на текущий момент завершён и не планируется добавлять в него новых правил. Описываю структуру ваших ранних роботов вы писали, что в их основе 4 блока: правила покупки, фильтр покупок, правила продажи, фильтр продаж. Вопросы: 1) Какова структура вашего законченного робота, статистика которого, приведена выше. 2) Сколько правил содержат используемые блоки?

16 апреля, 2012 at 12:03
Kamynin
 2 

Добрый день!
Последний робот построен иначе.
У него нет явно выраженных указанных блоков.
Правила блоков распределены в его структуре.
Сколько правил сказать сложно. Можно сказать, что это некоторая база знаний.
Если алгоритм синтеза решения (без модулей синтеза индикаторов) представить в виде набора условных операторов,
то число таких простейших операторов составит примерно от 15 до 30 тысяч.
Мне не известна методика оценки сложности подобных роботов,
поэтому это лишь примерная , субъективная оценка.

16 апреля, 2012 at 13:30
travek
 3 

Николай, спасибо!
Хочу поинтересоваться о следующем. Исходя из написанного вами ранее, вы передаёте на вход базу правил и желаемые сигналы в определённых позициях (B/S в определённое время). На выходе вы получаете правило, которое генерирует данные сигналы. Правильно ли я понимаю, что для построения используются методы генетического алгоритма? Если да, то интересно поговорить о фитнесс функции. Как вы сравниваете, формирует ли правило сигналы именно в желаемых точках ? Могу предположить, что сравнивать (на предмет минимума) прибыль эталона и прибыли синтезированного варианта не единственный вариант.

16 апреля, 2012 at 14:37
Kamynin
 4 

Добрый вечер!
Я не уверен в том, что под «генетическим алгоритмом» мы с Вами понимаем одно и тоже.
Я его не применяю.
Если кратко, то я реализую обучение системы распознавания с учителем.
Как известно, в этом случае на вход системы подаются исходные признаки и результат,
а система ищет функцию преобразования признаков в результат на основе базы знаний.
Поэтому , при обучении я задаю желаемую точку, а система ищет решение.

16 апреля, 2012 at 19:03
travek
 5 

Николай, Спасибо!

Поделитесь, пожалуйста вашим опытом в машинном обучении.
1) Правильно ли я понимаю, что на вход сети поступают результаты применения различных правил. Если у нас их 10, то имеем 10 входов. Например, если первое правило звучит как «Если Значение скользящей средняя период Т1 > Значения скользящей средней период Т2, то 1 иначе 0», то первый вход будет либо 0, либо 1.
2) Вы писали, что передаёте в сеть для обучение входы и выходы. Условимся, что у нас есть котировки только за День Т. Вы передаёте для обучения весь массив котировок за день, либо выбираете из него определённые участки (интересные для обучения по мнению учителя), на которых система будет обучаться.
3) Как я понимаю, на входе — значения применения правил системы, а на выходе — требуемые сигналы. Допустим у нас есть 5-минутные данные за последние 30 минут (итого: 6 свечей). Первоначально мы находимся в длиной позиции. Мы хотим научить систему, чтобы на первых 3 свечах система оставалась в длинной позиции, а последующие 3 в короткой. Как вы порекомендуете делать: разметить выходной массив как [1 1 1 -1 -1 -1], где «1» — длинная позиция, а «-1» — короткая позиция, ИЛИ [0 0 0 -1 0 0], что интерпретируется как совершить продажу на в начале четвёртой свечи.

17 апреля, 2012 at 14:09
Kamynin
 6 

Добрый день!
1) Дело в том, что я твердо убежден и пока не нашел доказательств обратного, что прогнозирование рынков и торговля на этой основе — очень сложная задача.
Теория и практика распознавания образов — а технический анализ — по своей сути — распознавание образов, требует определенного уровня подготовки.
Сайты в интернет — это скорее популярные издания, чем научные исследования.
Поэтому не вижу возможным да и нет пока желания заниматься изложением теории и методов распознавания применительно к торговле на рынках.
2) Вы не правильно понимаете. Но чтобы объяснить Вашу ошибку, надо начать с теории распознавания.
Рекомендую в интернете для начала почитать про персептрон, линейные решающие правила, а также ознакомиться с книгой В С Медведев В Г Потемкин «Нейронные сети» ДиалогМифи

18 апреля, 2012 at 09:14
travek
 7 

Николай, добрый день!

Спасибо вам за указание направления исследования. Ранее я не занимался нейровнными сетями, сейчас данная область нова для меня. Пожалуйста, помогите мне понять некоторые моменты. На текущий момент я озадачен:
1) Правильно ли я понимаю, что в процессе ваших иследования вы подобрали подходящую сеть (имею ввиду число слоёв), что позволило получить устойчивые результаты.
2) Предположим, у нас есть обученная нейронная сеть, которой на вход подаются признаки, сеть классифицирует вход и пределяет «покупка» это или «продажа». Как можно из обученной сети извлесь правило, на основании которого была произведена классификация. (можно на примере матлаба)
3) Я не знаю, как вы прокомментируете п.2. Как вы посоветуете извлекать правила из многослойной сети ?

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

Спасибо!

25 апреля, 2012 at 22:01
Kamynin
 8 

Добрый день!
1) Почти правильно. Важным моментом еще является формирование информативного набора признаков.
2) В принципе нет надобности извлекать решающее правило.
Но если оно необходимо, то правило определяется вектором весовых коэффициентов.
В простейшем случае решающее правило — это сумма произведений весовых коэффициентов на соответствующие им признаки.
Полученную сумму сравниваем с порогом ( в простейшем случае с нулем) и получаем решение 1/0 -да/нет.

29 апреля, 2012 at 03:22
zovalone
 9 

Здравствуйте, Николай!
У меня вопрос по «учителю».
Как вы формируете обучающую серию сигналов? Руками? Т.е идете по графику цен и назначаете номеру бара сигнал, который по вашему мнению должен (или не должен) возникнуть при определенной комбинации входных признаков?
Или вы используете автоматизированные алгоритмы, построенные на максимальном уровне прибыльности при заглядывании вперед в историю, как это реализовано, например, в TS?

2 мая, 2012 at 15:09
Kamynin
 10 

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

2 мая, 2012 at 19:12
zovalone
 11 

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

2 мая, 2012 at 22:27
Kamynin
 12 

Добрый день!
Геп обрабатывается по факту возникновения и используется для прогноза диапазона движения и выбором стратегии торговли.
Предсказания ГЕПОВ нет.

4 мая, 2012 at 07:31
travek
 13 

Николай, добрый день!

Поделитесь, пожалуйста, информацией о том как устроен ваш робот. Мне интересно узнать:
1) что принимает участиве в расчётах, кроме программы Quik (спрашиваю это потому, что думая о технической реализации вашего робота мне кажется реализовать все вычисления в Quik невозможно, хотя я могу ошибаться)
2) Что реализовано в Quik, а что во внешней программе
3) Ввиду ваших исследований программирования в Quik видите ли вы возможность полностью реализовать алгоритм робота в Quik

Хочу так же у вас поинтересоваться какую информацию об объёмах вы используете в роботе: только объём сделок в свечи, либо вы делаете более глубокий анализ: объём сделок Buy/Sell внутри свечи (или какой-то другой) через анализ Таблицы всех сделок в Quik ?

Спасибо!

3 мая, 2012 at 22:34
Kamynin
 14 

Добрый день!
1)На сайте есть статья «Способ построения роботов на торговом терминале QUIK»,
в которой изложена структура моего робота..
Генерация сигналов реализована в среде Амиброкера как plug-in, написанный на C++.
2)В QUIK реализовано управление позицией и рисками.
3) Робота можно реализовать полностью на QUIK.
4) Объем используется только на свече тайм 5 минут.
5) Таблица всех сделок не используется.

4 мая, 2012 at 07:28