Роботы… Как много в этом слове для уха трейдера слилось!
Как? Откуда? С чего начать?
Как ни банально, но для начала необходимо определиться со стратегией. Она может быть создана либо основываясь на стратегии других трейдеров (Резвяков, привет! Ударные дни легли в основу самого первого робота, который работал и зарабатывал у меня 1.5 года назад), либо — основываясь на собственных ощущениях и понимании рынка.
Мы пойдём путём наиболее логичным и, на мой взгляд, правильным — будем исследовать рынок на истории, искать и наблюдать закономерности, их тестировать. А в случае успеха — реализовывать в торговом роботе.
шаг 0 — что почитать?
1)
Кургузкин А.А. Биржевой трейдинг: системный подход
Лучшая книга по системному трейдингу. Полезна всем и каждому, в независимости от вашей причастности к роботам.
Далее книги по C# — учимся программировать и готовимся к тестированию / реализации своих будущих алгоритмов:
2)
Герберт Шилдт. C# 4.0 полное руководство.
3)
http://msdn.microsoft.com/ru-ru/library/bb383962%28VS.90%29.aspx
4)
http://msdn.microsoft.com/ru-ru/beginner/ee344863.aspx
5)
http://www.youtube.com/user/geekitdevelop
Шаг 1 — поиск закономерностей:
открываем график, накладываем
индикаторы (хаха), ищем индикаторы/их пересечения, которые позволят нам обнаружить начало движения / его остановку / пилу /… Собственно всё то, что может стать костяком нашего будущего робота.
Кому индикаторы не внушают доверие — начинаем анализ стакана, ленты, строим объёмные уровни, анализируем дельту — и используем всё это для того же самого — понимания и осознания как что где может работать.
Вот один из примеров.
Все тут не первый год на рынке, поэтому у каждого есть свои наблюдения, которые он бы хотел протестировать.
Шаг 2 — тестирование
Для многих это первый затык, который останавливает.
Для тестирования берём либо Wealth-Lab (лучше брать версию не младше 5.0 — присутствует .Net язык C#. С помощью Wealth-Lab я умудрялся даже тестировать стратегии, основанные только на объёмах (кому интересны детали как — можно личкой / в комментах)),
либо — вариант более проффесиональный и намного лучше для будущего —
библиотека Stock# (мой выбор).
Кому-то может для тестов подойдёт и TsLab. На вкус и цвет все фломастеры разные.
Для начала в любом случае советую выбрать тестировщик с визуальным редактором.
Программируем наши первоначальные идеи-закономерности, смотрим на первые результаты. Если не сливает — уже отлично.
Добавляем / тестируем разные варианты выхода / входов. Перестановки стопа, выхода по времени, добавляем фильтры, убираем фильтры,… Стараемся получить лучший результат (доходность, просадка, ...), при этом не увеличивая число параметров стратегии.
Тестируем на разных интервалах, в разные периоды.
При тестировании учитывайте:
1) Стратегия должна быть простой, она должна быть обоснованной и логичной.
Закономерность, что сбербанк надо шортить в том случае, если 47 часовых свечек назад лукойл рос — бред, на помойку.
2) Параметров не должно быть много, старайтесь не перегружать систему параметрами. Чем меньше параметров — тем лучше. Если введение параметра лишь немного улучшает систему — от такого параметра стоит вообще избавиться и сделать систему таким образом более стабильной.
3) При тестировании параметров выбирайте не лучшее значение, а среднее значение среди стабильного диапазона. Т.е. при небольшом изменении параметра система должна работать также хорошо.
К примеру, если на параметре X равном 1.2 система показывает 100% прибыли, а на 1.1 и 1.3 — 10%; при этом в диапазоне 2.1 — 2.5 система показывает в среднем 60-80%, то стоит брать параметр именно 2.3 — средний от диапазона.
4) Старайтесь тесты максимально приближать к реальным торгам — учитывайте комиссии, проскальзывания берите больше чем могут быть.
И самое главное — 5) Перепроверяйте всё по 10 раз. Все полученные сделки просмотрите — что нет заглядывания в будущее, что всё именно так, как и предполагалось.
Данный этап может быть самым длительным и не все подойдут к третьему этапу, но если вы дошли — значит уже сделано более половины пути.
Продолжение следует...
ждем продолжения