All trades Long trades Short trades
Initial capital 100000 100000 100000
Net Profit% 2657.78% 1358.62% 1299.16%
Exposure% 15.11% 8.17% 6.94%
Net Risk Adjusted Return% 17593.06% 16636.57% 18718.49%
Annual Return% 79.23% 60.23% 59.06%
Risk Adjusted Return% 524.43% 737.52% 850.95%
All trades 3950 1975 (50.00%) 1975 (50.00%)
 Avg. Profit/Loss% 0.67% 0.69% 0.66%
 Avg. Bars Held 35.45 37.78 33.12
Winners 2224 (56.30%) 1067 (27.01%) 1157 (29.29%)
 Avg. Profit% 1.72% 1.86% 1.59%
 Max. Consecutive 32 21 26
Losers 1726 (43.70%) 908 (22.99%) 818 (20.71%)
 Avg. Loss% -0.68% -0.69% -0.66%
 Max. Consecutive 10 7 12
Max. trade% drawdown -9.07% -8.70% -9.07%
Max. system% drawdown -4.79% -4.91% -5.68%
Recovery Factor 207.97 114.98 96.68
CAR/MaxDD 16.54 12.28 10.4
RAR/MaxDD 109.51 150.33 149.77
Profit Factor 3.27 3.15 3.41
Payoff Ratio 2.54 2.68 2.41
Standard Error 259024.37 123827.57 139060.68
Risk-Reward Ratio 1.91 2.07 1.72
Ulcer Index 0.67 0.79 1.04
Ulcer Performance Index 110.71 69.18 51.47
Sharpe Ratio of trades 7.28 7 7.6
K-Ratio 0.0085 0.0092 0.0077

 

This entry was posted on Пятница, 14 сентября, 2012 at 19:02 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.

26 comments so far

roma095
 1 

Приветствую!
3500 сделок за какой промежуток времени?
Поза на закрытии свечи открывается?(там где стрелка рисуется) или на ее открытии?
Знает ли заранее робот на каком уровне ему нужно будет перевернуться?
Смогли бы вы руками торговать по такому же алгоритму без робота и ваших индикаторов?
У вас нейросеть в реалтайме подбирает значение индикатора и оптимизирует параметры или нет?
Умеет ли робот различать тренд/флет?

И последний вопрос — я прав, что трендовых роботов надо обучать и оптимизировать на самых пильных днях, так как их большинство?

15 сентября, 2012 at 09:17
Kamynin
 2 

Добрый день,
1) на графике дана таблица прибыль по годам, месяцам, итого.
Ниже дана таблица параметры по всем сделкам за указанный в таблице выше период
Таким образом, 3500 сделок это за период с 01.01.2007 по н.в.
2) Стрелка показывает момент возникновения сигнала.
Исполнение происходит на открытии следующей свечи. Т е в следующей свече после стрелки.
3) Робот работает по сигналам. Заранее он не знает уровни разворота. Но делает прогноз этих уровней в процессе работы по текущим параметрам.
4) При торговле руками я учитываю сигналы робота.
Все чаще и чаще , когда он сигнала не дает, а я делаю сделку или наоборот, он сигнал дает, а я его игнорирую, оказывается, что прав был он.
5) В реале ничего не подбирается и не оптимизируется. Обучение провожу после, если, по-моему мнению, можно совершить сделки лучше.
Но порой оказывается, что лучше нельзя.
6) Умеет различать сильный тренд, тогда он игнорирует сигналы на выход из позиции.
7) Считаю, что понятие «тренд» весьма субъективно, поэтому на последний вопрос у меня нет четкого ответа.

15 сентября, 2012 at 11:35
belko05
 3 

Николай, добрый вечер. вы неоднократно писали про блочную систему ваших роботов. про блоки инициализации сигналов, про блоки фильтрации… хотелось что бы вы картинкой ( хотябы в паинте) пояснили их взаимодействие и что в себя включают эти блоки.

15 сентября, 2012 at 23:52
Kamynin
 4 

Добрый день,
Я подумаю над данным вопросом.

16 сентября, 2012 at 01:04
travek
 5 

Николай, добрый день! Вы написали, что робот «делает прогноз этих уровней в процессе работы по текущим параметрам». Хочу уточнить, мне кажется правильнее написать, что он распознает наступление уровня разворота. Ведь ваш робот — это распознаватель образов. Увидел, что в прошлом при данных параметрах был разворот, дал соответствующую команду в текущий момент. Просто здесь дело в терминологии, давайте уточним понятия. Могу догадываться, что вы имели ввиду момент, когда на выходе нейрона, отвечающего за покупку, было 0,95. Т.е прогнозируем с большой вероятностья разворот, значит покупаем. Спасибо за уточнение!

16 сентября, 2012 at 19:11
Kamynin
 6 

Добрый день,
Он и прогнозирует и распознает.
В алгоритме робота присутствует и распознавание и прогноз.
Распознавание — это узнавание ранее известного в настоящем.
Но рынок не повторяет в точности прошлое, так как настоящее содержит элемент нового.
Распознаем мы (робот) настоящее, а прогнозируем — будущее.
Прогноз — это предположение (догадка) каким будет будущее, если настоящее похоже на ситуацию в прошлом.
Т о можно сказать, что сначала робот распознает, какое событие в прошлом похоже на настоящее.
после этого он строит прогноз — каким будет будущее, если настоящее распознано в прошлом.
По прогнозу будущего он принимает решение.

16 сентября, 2012 at 19:46
belko05
 7 

добрый вечер. Николай, у вас присутствует блок фильтрации сигналов (ложь/истина). по каким параметрам она осуществляется? как это происходит?

16 сентября, 2012 at 22:11
Kamynin
 8 

Добрый день,
параметров много.
Есть первичные параметры,поступающие на входы нейронов первого уровня(слоя).
На выходе нейронов первого слоя получаются вторичные параметры, поступающие на два самостоятельных слоя нейронов.
Один — сигналы купить, второй — сигналы продать.
Сигналы нейронов второго уровня поступают на нейрон третьего уровня, на выходе которого получаем решение
— купить, продать или держать.

17 сентября, 2012 at 09:10
travek
 9 

Николай, 1) на какой(ие) временной(ые) промежутки вперед делается прогноз ? 2) при кластеризации первичных признаков вы задаете какой шаблон какому кластеру соответствует или обучение определителя кластера является «без учителя». Спасибо!

17 сентября, 2012 at 10:46
Kamynin
 10 

1) В дискретных системах реального времени прогноз делается на временной шаг(квант времени).
Если данные не изменятся,то и не изменится прогноз на следующий шаг.
2) Первичные признаки — это все,что нарисовано на графике в хрониках робота.
Обучение без учителя я не использую.

17 сентября, 2012 at 12:52
travek
 11 

Николай, добрый день. Ранее вы писали о примерном количестве нейронов в первом слое. Правино ли я вас понял, что вы точно знаете количество кластеров (ситуаций) на которые разбит график (кол-во возможных поведений рынков), у вас есть точный набор параметров, которые однозначно характеризуют каждый кластер и набор примеров для каждого кластера на котором производилось обучение предсказателя. Спасибо!

21 сентября, 2012 at 12:50
Kamynin
 12 

Добрый день,
Нет это не верно.
Я не знаю точно все,что Вы перечислили.
Я кое-что пробую посчитать.
Но при очередном обучении или после нескольких обучений, все меняется.
Точно я знаю, какие исходные признаки (но не знаю, какие из них как часто применяются),
точно знаю, что на выходе три решения -купить, продать или ничего не делать.

21 сентября, 2012 at 14:57
travek
 13 

Николай, но количество кластеров (классов) должно быть известно. Может вы их не считали, но если это сделать то однозначно получим какое-то целое число. Мне интересно подтвердить это, т.к . Видится, что в начале идет определение класса к которому относится текущая ситуация, затем делаются прогнозы и прочее. Т.к. Вы писали про обучение с учителем то должно быть точно определено кол-во классов. Спасибо.

21 сентября, 2012 at 16:46
Kamynin
 14 

Добрый день,
вопрос в терминологии.
Например, три состояния на выходе — это три класса
Сигналы купить , продать — это 2 класса
Число нейронов второго слоя (их два раздельных класса — купить и продать)
сейчас :
нейронов класса купить -163
нейронов класса продать -191
число активных нейронов зависит от длительности истории для принятия решения в текущий момент
Например в реале я могу использовать историю лишь 3000 свечей с таймом 5 минут с сервера квик
при этом оказываются активными
нейронов класса купить -43
нейронов класса продать -52

21 сентября, 2012 at 17:48
Kamynin
 15 

Число нейронов в каждом классе сейчас избыточно,
кроме того, так как классы купить и продать независимые, то есть избыточность и между классами
Избыточность признаков тоже большая
Все это надо бы подчистить , над чем сейчас и работаю.

21 сентября, 2012 at 17:53
travek
 16 

Николай, спасибо за ответ. На самом деле я хотел подтвердить или опровергнуть, что архитектура вашего робота следующая. Первый шаг — определение класса, в котором сейчас находится рынок, исходя из набора признаков. Например, в самом простом случае, можно выделить класс1 — цена выше СС и класс2 — цена ниже СС. На втором шаге для каждого класса обучается предсказатель, основанный на каких-то признаках. Результат предсказателя или сразу или после обработки используется для принятия решения. Думаю, вам знакома такая архитектура. Но исходя из написанного вами чувствуется, что у вас что-то другое. Только пока не могу определить что. Есть подозрение, что вы определяете вероятность точки разворота исходя из предыдещих уровней, их плотности и существенности. Пока не могу для себя формализовать такой алгоритм.

22 сентября, 2012 at 11:11
Kamynin
 17 

Добрый день,
Распознавание образов — это отнесение исходных данных к определенному классу с помощью выделения существенных признаков,
характеризующих эти данные, из общей массы несущественных данных (Вики).
Таким образом, можно считать, что у меня три класса состояния рынка — купить, продать и держать.
Формально я разделяю состояния на две независимые группы «купить/нет», «продать/нет»
Решение робота строится на основе решений в этих двух группах и текущего состояния позиции.
Так как группы не зависят друг от друга, то возможно существования двух взаимоисключающих решений.
Одновременно купить и продать.
Но исполнится лишь одно.
Угадайте какое?
Вот примерно так.

22 сентября, 2012 at 19:37
travek
 18 

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

22 сентября, 2012 at 20:26
Kamynin
 19 

Вы невнимательно прочли мой ответ.
Цитата: «Решение робота строится на основе решений в этих двух группах и текущего состояния позиции.»
Поэтому решение будет по текущей позиции, если лонг то продаст, если шорт, то купит.
Все банально просто, читайте внимательно и ме-д-ле-н-но, чтобы хорошо усваивалось.

22 сентября, 2012 at 21:18
travek
 20 

Давно хотел обсудить следующее. А почему вы выбрали акции и 5 минут. Про данный тайм-ф вы писали не раз, но считаю что есть масса способов не завязываться на сервер квик и 3000 свечей. Почему интересно. На более мелком т-ф и используя фьюч можно существенно уменьшить стоимость транзакции, а следовательно можно использовать более глупый алгоритм, который будет более активно переворачиваться, можно увеличить roe. Вы что думаете?

22 сентября, 2012 at 20:30
Kamynin
 21 

Добрый вечер,
При всем моем уважении, но ответить на такой комментарий могу лишь следующим образом:
1) Ваш комментарий напомнил мне сцену из одного известного фильма
«А у Вас есть халат, такой же, но с перламутровыми пуговицами?
Нет,жаль,будем искать»
и еще цитату из классика: «Есть много в этом мире ,друг Гораций.»
2) Относительно «глупых алгоритмов».
Буду признателен, если продемонстрируете результаты.
3) Ваши замечания относительно мелких масштабов и глупых алгоритмов — плод фантазий на сытый желудок,
или результат длительных размышлений над многочисленными опытами на голодный желудок?
4) Я не против обсуждений, но лишь при наличии практических результатов, а не очевидных пожеланий.

22 сентября, 2012 at 21:15
travek
 22 

Николай, и еще. А сколько времени сейчас занимает процедура обучения ? Спасибо

22 сентября, 2012 at 20:36
Kamynin
 23 

12 часов

22 сентября, 2012 at 21:18
belko05
 24 

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

24 сентября, 2012 at 19:13
Kamynin
 25 

Добрый вечер,
связь следующая.
1) При обучении используется вся доступная история с 01.01.2007.
2) При торговле в реале доступны лишь 3000 свечей.
Поэтому обучение в реале не выполняется.
3)Три дня относилось к предыдущему роботу.
4) Для роботаВася требуется большая глубина истории
и она меняется в зависимости от состояния рынка.

24 сентября, 2012 at 20:30
Kamynin
 26 

сейчас для обучения используется 130 000 свечей с таймом 5 минут

24 сентября, 2012 at 20:58