Блог им. zed91

Запускаю первого робота на реале

 

Давно не писал.

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

Немного технической части.

Был написан API для метатрейдера. «Советник» общается со внешним миром используя JSON HTTP, с обратной стороны находится питоновый скрипт который делает все самое основное. По сути советник только сообщает текущие цены и выполняет торговые операции от имени скрипта. Из-за того, что скрипт который всё решает написан на питоне, существенно увеличилась продуктивность исследования и разработки. Так же пришлось арендовать VPS, потому что домашний интернет consumer grade и иногда отваливается. Несмотря на то, что uptime SLA на VPS около 99.95%, отваливание интернета там я ни разу не заметил.

Немного об исследовании.

Идеи мне приходят в голову обычно рано утром после того как я просыпаюсь, да и вообще максимальная продуктивность у меня до 12 дня, после этого стараюсь не работать, а заниматься другими делами. Тестирование идей происходит в питоновом ноутбуке, что-то вроде такого:

Запускаю первого робота на реале



Весь процесс довольно простой. Есть нулевая гипотеза о том, что цены на рынке изменяются случайно, соответственно из этого нельзя извлечь alpha. Альтернативная гипотеза утверждает, что иногда случаюся аномалии, делающие рынок предсказуемым. Задача сводится к доказательству того, что возможно выявлять аномалии с достаточной статистической значимостью. Дополнительные требования к разрабатываемы ситемам: торговля внутри дня без переносов позиций, применимость к широкому количеству инструментов, около 10-30 сделок в неделю по инструменту, строгая маркет-нейтральность (beta меньше 0.05), примерно одинаковое количество лонгов и шортов, торговля во время медианного недельного спреда (никакой экзотики) и еще немного условий для минимизаций рисков.

Немного о первой стратегии.

Стратегия mean reversion, пытается жадным методом найти эпизоды аномальных всплесков волатильности. Далее наблюдает за поведением рынка после всплеска по секретным параметрам и входит по окончанию движения. Пока остается вопрос выхода, но учитывая что бэк-тест показал около 75% правильных предсказаний, пока выход будет по TP или SL одинакового размера. Размер устанавлиается в зависимости от секретных параметров..

Knowledge domains которые я использую при исследовании и разработке:
1. Программирование (в основном python)
2. Теория вероятности
3. Статистика
4. Нечеткая логика
5. Финансовые рынки (совсем немного)
6. Машинное обучение (непосредственно алгоритмы не используются, но используются другие методы оптимизации вроде cross-validation, regularization, etc)

Отпишусь как будут результаты, а пока пойду придумывать momentum стратегию.
★6
16 комментариев
что торгуешь то? россию омерику???
avatar
ves2010, валютные пары + америка… На самом деле могу что угодно, лишь бы ликвидность была.
avatar
завидую, умение программировать не каждому дано.

avatar
Hello, я прочитал what you написал, и имею сказать, что chaotic использование иностранных слов в текст выглядит как кусок shit!
Спасибо за attention :)
avatar
vladimirc1983, я usually не read то что I думаю есть shit, но you были heard… :)
avatar
vladimirc1983, )) да ну ладно — норм), вон во времена Пушкина все так делали — хотя это конечно бесило — потому что французский)
avatar
«До 12 работу работаем, после 12 дело делаем» —
хороший подход, надо попробовать )

А чем вас mql5 не устраивает?
avatar
VladMih, возможности отладки, высокоуровневость, уже существующий код (библиотеки). Особенно последнее, бэктестер метатрейдера вообще ни на что не годится по сравнению с zipline/pyfolio.
avatar
Arsen G, ну, не знаю… Может плохо разобрались?
Уровневость? Дак специально ж под трейдинг язык!
Тестер? Метаквоты столько сил положили на него!
Да и библиотек море океан.

Впрочем, я не спец, меня их игры с тестером за счет нервов трейдеров всегда раздражали )
avatar
 Не люблю такие посты читать — они немного прессингуют мою уверенность в себе)). Нет тут все норм, просто когда читаешь посты, в которых человек, предположительно опережающий тебя по скиллам как минимум в некоторых областях, пишет, что блин, чето у меня ничего не получается — это нифига не воодушевляет))
avatar
Replikant_mih, на самом деле всё это ремесло. Каждому компоненту отдельно можно научиться, опыт подскажет как отдельные компоненты эффективно применять в совокупности, по всему полно информации в интернете. Единственное, о чем в интернете не пишут, это о поиске alpha в данных, потому что это и есть ваш competitive edge на котором вы делаете деньги… Но этому тоже можно научиться.
avatar
Arsen G, Да не, на самом деле у меня есть куча плюсов, сильных сторон, которые могут дать преимущество, но чисто эмоционально такие посты оказывают локальное негативное влияние на самооценку)) — локальное в смысле — у меня уже оно с момента предыдущего моего коммента уже прошло))
avatar
Replikant_mih, я тоже вплотную занимался нейронными сетями и SVM, и тоже остановил исследования в этой области, хотя и защитился по этой теме :) мои роботы обучаемые, но уже на других принципах)
avatar
прощай реал))
avatar
Arsen G, вообще он прав.
Такое использование иностранных терминов, говорит о плохом знании русского языка или неумением пользоваться.
И читать не приятно.
avatar
«cross-validation, regularization» — методами оптимизации не являются. Ну точней: так не говорят.
avatar

теги блога QJGlXS3Ars

....все тэги



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