Блог им. Sereas |Первые шаги в создании торгового робота. Шаг третий

    • 28 декабря 2015, 18:41
    • |
    • Sereas
  • Еще

Всем добрый день!

Прошу прощения, за то что не ответил на комментарии к предыдущему посту — был занят на выходных. Поэтому сейчас хотел бы посвятить пару строчек ответам на вопросы, я уверен они для многих будут интересны и пояснят некоторые недопонимания:

1) Я согласен с тем, что робот не является панацеей и решением всех проблем, однако, на мой взгляд, он может помочь новичку не слить капитал, так как программа не подвержена основным врагам трейдера, таким как страх или жадность. Программа будет следовать заданному алгоритму, беспощадно срезая убытки и выдерживая прибыльную позу до заданного уровня. Однако, естественно, чтобы робот был прибыльным, нужно иметь хороший алгоритм, построенный на правильной идее/системе. На данном этапе я и занимаюсь тем, что ищу хорошую торговую идею, на основе которой будет построен робот. Хочу уточнить, что я не хочу заниматься «переоптимизацией» идеи, подгоняя параметры под исторические данные. Конечно, возможно оценивать параметры только по части выборки, а тестировать на оставшейся части, но на мой взгляд подгон параметров это не выход. Лучше придумать фундаментальное улучшение системы.

2) Было много замечаний по поводу того, что я не смогу открыть позу по открытию свечи. Я частично согласен с этим замечанием. Это скорее всего правда для первых свечей после ночи/клиринга, но в большинство внутредневных часовых свечек я смогу зайти по открытию. В любом случае, в последний раз я писал, что решил делать вход не по открытию, а ставить ордер каждый час, который зависит от максимальной просадки нефти в прошлом периоде. Естественно, с таким правилом, я не буду входить каждый час, а лишь в том случае, если цена ртс с момента открытия свечки опустится на эту просадку, но это было учтено в модели. Так же хотел бы уточнить, потому что, возможно возникло недопонимание, что когда я использую «брент(-1)» я имею в виду не шорт одного фьюча, а лаг нефти в один период.



( Читать дальше )

Блог им. Sereas |Первые шаги в создании торгового робота. Шаг второй

    • 25 декабря 2015, 18:40
    • |
    • Sereas
  • Еще

Всем добрый день!

Вчера я написал о том, что хочу создать торгового работа, который торговал бы на фьючах на нефть и ртс. Во вчерашней записе я рассмотрел простейшее торговое правило: смотрю закрылась ли часовая свечка по бренту в плюсе или минусе и в следующий час открываюсь в соответствующем направление по РТС. Результаты в целом были впечатляющими, но довольно противоречивыми — у системы был долгий период убыточных/нулевых сделок, затем резкий рост доходности и еще пара резких спадов, после которых шел рост. Процент успешных сделок составил около 52%.

Естественным порывом было искать пути улучшения этого правила. Для себя я выделил 2 основных пути, как я могу это сделать: увеличить процент выигрышных сделок, и/либо порезать убыток по отрицательным сделкам. 

Начать я решил именно со второго пути — так как он проще и требовал меньше времени на придумывание и тестирование. Одним из основных минусом своего простейшего правила я считаю то, что я вхожу по открытию свечи и выхожу по закрытию, в то время как почти у каждой свечи есть тень и я мог бы заходить в позицию по более выгодной цене. Отсюда вытекает логичный вопрос — на каком уровне выставлять ордер для входа в сделку? Вариантов было несколько: 
1) Взять среднее значение максимального отклонения от уровня открытия (вниз для того, чтобы входить в лонг и вверх, чтобы шортить). По формулам это выглядит так (Low-open)/open и (high-open)/open. Соответственно заходим если относительно уровня открытия цена падает/поднимается больше чем средние значения.

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

3) Понимая, что минус второго способа заключается в том, что я смотрю на волатильность совершенно другого актива, я решил что выходом из ситуации будет задание распределения волатильности ртс и делать корректировки на уровень захода исходя из последней реализовавшийся волатильности

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



( Читать дальше )

Блог им. Sereas |Первые шаги в создании торгового робота

    • 24 декабря 2015, 12:35
    • |
    • Sereas
  • Еще

Всем добрый день!

Недавно задался идеей создать торгового работа. А первый шаг для этого, как известно, это разработка торговой идеи.
Текущая мысль засела в голове, когда я в очередной раз смотрел на график цен брента и ртс и подумал «Черт, да их же не отличить» и решил, что пора действовать.

Естественно я не экстрасенс, чтобы смотреть на график и говорить, куда пойдет цена. Поэтому я решил посмотреть на график фьюча на ртс и лаг нефти. Как я и ожидал они тоже очень похожи. На графики представлены часовики с января 2009 года по декабрь 2015
Первые шаги в создании торгового робота

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



( Читать дальше )

....все тэги
UPDONW
Новый дизайн