Постов с тегом "Торговые роботы": 5673

Торговые роботы


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

В этом разделе вы найдете самые актуальные записи по теме торговые роботы.

Написание торговых роботов. Шаг 3.

Итак, долгожданное продолжение первой части.



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

Что делать дальше, как поскорее начинать заполнять чемоданы деньгами?
Как запустить стратегию на биржу?

Здесь, как обычно, вариантов несколько.
1) Вы тестировали стратегию в тестере, который поддерживается вашим брокером — TS Lab (АйтиИнвест, Алор, Финам), Wealth Lab (Церих),… — просто напросто пользуясь средствами программы и вашего брокера посылаете приказы на биржу.

Этот вариант очевиден своей простотой.
На мой взгляд, все плюсы на этом заканчиваются.

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

Тема дискуссии: системная торговля, написание роботов

Тимофей вписал меня в список докладчиков на встречу Смартлаба, видимо, буду выступать тогда. :)

Пока примерный план доклада я прикинул такой:
1) Системный подход — преимущества, недостатки
2) Поиск системы
3) Тестирование системы
4) Релизация системы в роботе



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

А те кто не идёт могут задавать в комментариях любые вопросы по теме роботостроения и системной торговли. :)

Написание торговых роботов. Шаги 0-2.

Роботы… Как много в этом слове для уха трейдера слилось!
Как? Откуда? С чего начать?

Как ни банально, но для начала необходимо определиться со стратегией. Она может быть создана либо основываясь на стратегии других трейдеров (Резвяков, привет! Ударные дни легли в основу самого первого робота, который работал и зарабатывал у меня 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. На вкус и цвет все фломастеры разные.
Для начала в любом случае советую выбрать тестировщик с визуальным редактором.


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

Подготовка к торгам. Сделки [RIM1]

Теперь ближе к делу.
Диапазон недельных объёмов на начало сегодняшнего дня — 204000-205150. Отмечаем их на графике и смотрим какие входы должны были быть сделаны:




Но что очень важно и что невозможно отметить на данном графике — на каждом из этих уровней возникал локальный сигнал, т.к. уровни предыдущих дней \ неделей \… служат лишь ориентиром, но не могут являться сигналом!


Что вообще наиболее интересно?
  • реальные входы с комментариями;
  • описания как разрабатывать роботов — какие инструменты, какие шаги, etc.;
  • вбросы подобно предыдущим двум постам :)

TSLab. Корректная проверка, что вы вне позиции.

Сегодня вместе с разработчиками нашли ошибку в моих скриптах. Оказывается, список позиций в реальной работе передается уже заполненным, в лаборатории же он всегда пустой и формируется по мере расчета. Поэтому, когда вы находитесь в позиции нужно проверять еще  и текущий бар. Текущий бар должен быть больше бара открытия  позиции, иначе это может порождать забавные глюки. Типа открыл-закрыл. Меня кстати сегодня это спасло от лося случайно. Но проверку я все же переделал.
Итак правильная проверка:
if (
   position == null /* && other conditions*/
) {
   // try to buy or sell
} else {
   if (null == position || position.EntryBarNum > barNum)
     continue;

   // stop loss, take profit or close by market logic
}

Эксплуатация TSLab.

Еще несколько вещей, которые нашел в реальной эксплуатации.
 
1. Если вы хотите изменить настройки работающего скрипта, нужно открыть его в «Управление скриптами», изменить настройки и затем нажать «Выполнить»(F5). Иначе настройки не вступят в силу в боевом режиме.
 
2. Все данные нужно стараться рассчитать до основного цикла, если возможно и закэшировать. Это даст скорость выполнения.
 
3. Программа иногда валится с unhandled exception. Разработчики не предоставляют никакого функционала failover или механизма оповещений. Это бывает довольно редко, но случается(1-2 раза в неделю).

TSLab. Изменение профита в открытой сделке.

    • 27 февраля 2011, 19:02
    • |
    • Deleted
  • Еще
Еще одна карапуля для отслеживания профита в открытой сделке: www.everfall.com/paste/id.php?xwxusrrbeac9
 
Помогает подумать над тем как использовать некоторые закономерности в изменении профита как дополнительный сигнал фиксации прибыли.
 
 
 

TSLab. Как построить график распределения PnL по месяцам.

    • 27 февраля 2011, 04:09
    • |
    • Deleted
  • Еще
Я люблю смотреть как ТС торгует по месяцам, на общей кривой доходности это конечно также видно, но хочется посмотреть и дискретно.
 
Так как я сторонник open source(был много лет контрибьютером некоторых OSS проектов) и полностью разделяю данную идеологию, я буду выкладывать, по-немногу, те вещи, которые могут быть интересны кому-то еще. Конечно, речь не идет о «граалях», но некоторые полезные фичи могут пригодиться тем, кто ковыряет торговые системы в TSLab.


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

Февраль с точки зрения робота-трендовика.

    • 25 февраля 2011, 16:23
    • |
    • Deleted
  • Еще
Мой трендовый робот показывает, что Февраль был чуть ли худшим месяцем за 4 последних года! Таким образом, в Феврале хорошо работал контр-тренд, интрадей или редкая торговля отдельных идей, а не фьючерса.
 
Интрадей я сам пробовал, и вполне себе жил, если б не сунулся в нефть, то все недели были бы с прибылью, а так считай две недели в ноль.
 
p.s. Высказывание про контр-тренд я проверил самым тривиальным способом, просто поменяв местами приказы на покупку и продажу. И тут получил профит :-)

Использование TSLab в тестировании торговых систем

    • 16 февраля 2011, 00:04
    • |
    • Deleted
  • Еще
Неделю плотно попользовав TSLab нашел две неприятные, но известные «фичи» TSLab. Будет полезно тем, кто только начинает знакомство.
 
1. Если ваш приказ TakeProfit прописан в стратегии раньше, чем StopLoss и профит у вас небольшой, вы получаете иллюзорный результат. В тестировании такой приказ будет выполняться всегда раньше чем StopLoss при достижении целевой цены, естественно. В реале же будет исполнен тот, до которого _первым_ дойдет цена.
 
2.  Просто так выставить StopLoss или TakeProfit на той же свече, на которой было открытие, нельзя. Есть костыль, называется сжатие/расжатие или Compress/Decompress. Подробнее можно на форуме почитать.
 
Было также замечено, что программа частенько зависает на тестировании длинных периодов(3-4 года) с мелким тай-фреймом(10 минут). В WLD такого не было. Возможно это связано с тем, что windows у меня в виртуалке.

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