Блог им. uralpro

Результаты роботорговли за апрель

grafrobot_16359_image001

На графике выше результаты моей торговли роботами за апрель. Прибыль показана в процентах от начального капитала с начала торговли 10 марта 2015 года (апрель отделен красной линией). В прошлом посте были приведены основные характеристики рабочих алгоритмов.

Как видно на графике имела место значительная просадка 16 апреля, причем до этого три дня были хоть с небольшим, но минусом. Это вызывает уже вопросы о робастности применяемых алгоритмов, таких просадок я не наблюдал на используемых мной исторических данных, что может свидетельствовать о подгонке на бэктестировании. Хотя день 16.04 был очень интересным, ниже приведен график прибыли за день:

grafrobot_5705_image001

Волатильность цены фьючерса была низкой в этот день (причем примерно одинаковой за все время дневной сессии), понятно, что из-за особенностей алгоритма, производительность в любом случае была бы невысокой, и прибыль в первой половине дня демонстрирует обычное поведение моих стратегий при таких условиях. Что произошло во второй половине дня — это пока остается вопросом, те характеристики, что я обычно измеряю, не показали каких-то значительных отклонений, но прибыль резко пошла вниз. Кстати, в этот день была прямая линия с Путиным, может есть какая- связь?

Также произошел типичный случай с отрицательным влиянием психологии трейдера на производительность. На графике ниже показаны результаты торговли  за 10 апреля 2015 года:

grafrobot_5705_image001 (1)

Синия линия — бэктест, красная — реал. Я отключил робот стразу после 14-00, решив, что волатильность останется низкой и далее, так как была пятница, и обычно под конец недели алгоритмы не показывают существенной прибыли по тестам. Как видно из графика, я сильно ошибался. Фактически, потери, каковыми я считаю недополучение прибыли, составили около 7 % от начального капитала. Это наглядная иллюстрация того, как ручное вмешательство в работу стратегии резко снижает математическое ожидание прибыли. Примерно так же получается при внесении стоп-приказов и тейк-профитов, не предусмотренных логикой алгоритма.

Итого, за два неполных месяца роботорговли получен результат +44,716% от начального капитала. С первого взгляда производительность неплохая, но траектория прибыли уверенности, мягко говоря, не добавляет. Во всяком случае, я непривычен к таким графикам в сравнении с прошлой торговлей robot_uralpro.

Торговля в мае продолжится с теми же стратегиями и параметрами, что в были в марте и апреле. При возникновении просадок, если они будут существенными и/или продолжительными, могу пересмотреть параметры или прекратить работу какого-то алгоритма.

★12
29 комментариев
а чем объясняется нехарактерный взлет после просадки?
avatar
bstone, высокой волатильностью в эти дни, такой же примерно, как и 10.04
avatar
uralpro, а что там с корреляцией по алгоритмам и наборам параметров было? Не видел на рынке ничего такого, что могло бы ее так увеличить. Вот это меня насторожило бы.
avatar
результаты работорговли)
avatar
А сколько у вас вышло биржевой комиссии за месяц? И почему для алгоритмов так важна волатильность? У меня наоборот роботы больше и стабильнее зарабатывают при низкой волатильности.
avatar
SECRET, комиссии немного, это же не HFT — примерно 3% в месяц от капитала. У нас алгоритмы же разные — вы котируете в основном по обеим сторонам, наверное, у меня — сочетание с импульсами
avatar
uralpro, добрый день, подскажите, а как импульсы вычисляете? давно хотел сделать систему только на импульсах — но как его вычислить вопрос. По логике нужно измерить количество пройденных шагов цены контракта за единицу времени. Но как её вычислить вопрос, ведь цена может ходить в два направления.
avatar
+44,716% за 2 месяца суперский результат.
avatar
да 17.04 был один из самых прибыльных дней в этой году для моих роботов.
Кстати, 16ого, из моих 13 роботов, только 2 отторговали в маленький минус.
Автор, если не секрет, какая предельная емкость стратегии? То есть размер капитала, при котором средняя доходность 20% годовых.
avatar
chizhan, емкость должна быть приличной, но с какой-то суммы, когда она начинает влиять на рынок, тест должен это учитывать. У меня сейчас он этого не делает. Там и управление капиталом в стратегиях, наверное, придется менять. Поэтому правильный ответ на ваш вопрос — не знаю
avatar
Уверен, вопрос задавался тысячу раз, но всё же: у Вас стратегия основана на свечах и индикаторах или имеет место какая-то относительно рыночно-нейтральная штука типа разновидности алгоритма ММ?
avatar
Enfernuz, не на свечах, ценовые паттерны не использую. Элементы ММ алгоритма есть
avatar
uralpro, А какие методы оптимизации можете порекомендовать? Монте карло или может еще что?
И еще сколкьо примерно в позиции находится сколько секунд, минут?
avatar
Ivan, методы оптимизации зависят от используемой стратегии. В позиции находятся от нескольких секунд до нескольких минут
avatar
uralpro, Еще вопрос.А как вы сохраняете историю тиков? Какие данные храните стакана(глубину 5 -10)
Используете ли бау данных и вообще что порекомендуете для хранения таких данных? Было ли желание использова mongoDB ,redis или еще какого зверя?
avatar
Ivan, все данные пишутся с Плазы. Глубина стакана 20, только срезы, ордерлога не получаю. Базу данных не использую, она вносит лишние задержки в обработку, все хранится в памяти во время работы ( только нужная выборка). Запись для бэктеста можно вести и в базу данных, но я пишу в текстовые файлы, мне так удобнее
avatar
uralpro, а в текстовые фалы обычные ascII формат, как текстовые строки идут? А если к примеру свет выключиться а данные в памяти были не сохранены и потеряются? что тогда? Как потом такие куски данных тетсировать?
2.Срезы имеете в виду best bid best ask? или best bid best ask на каждом уровне?
avatar
Ivan, да обычные текстовые. Если будет сбой, все необходимые данные подгрузятся с Плазы для восстановления позиций на рынке, необходимую выборку робот будет набирать из новых данных. Данные для теста пишутся непрерывно в файл отдельной программой, если часть потеряется, не страшно. Срезы — это 20 уровней бида и 20 уровней аска через какой-то промежуток времени, определяемый параметрами потока Плазы
avatar
uralpro, а какой метод оптимизации порекомендуете? может генетический алгоритм?
avatar
Неплохо вышел апрель. Удачи в других месяцах! У меня только 2 алгоритма сейчас, но думаю их развить до такой степени, что ещё какие-либо алгоритмы/инструменты уже будут не нужны. То есть: хвала качеству, а не количеству.
avatar
Налицо недостаточная мерность пространства параметров и лёгкая переподгонка в рамках имеющейся мерности. В этих условиях решение продолжить торговлю «с теми же стратегиями и параметрами» весьма смелое. В любом случае удачи!
avatar
Boo, а где вы увидели в тексте про параметры? может я плохо итаю, не замтил, но вроде там про них нет упоминаний?
avatar
Ivan, фраза «те характеристики, что я обычно измеряю, не показали каких-то значительных отклонений, но прибыль резко пошла вниз» на это как-бы намекает.
avatar
Boo, раз у ж речь зашла про оптимизацию, а вы как рекомендуете оптимизировть, Какой подход, метод?
avatar
Ivan, генетика. Для данной задачи ничего лучше не придумано.
avatar
Boo, спасибо, но их же там куча всяких? какой выбрать?
avatar
Ivan, реализовать свою вариацию, оптимальную для конкретной задачи
avatar

теги блога uralpro

....все тэги



UPDONW
Новый дизайн