ingeniero
ingeniero личный блог
18 декабря 2011, 19:10

Алгоритм v1.0

В первую очередь хочу поблагодарить создателя проекта Stock#, Михаила Сухова.
Я считаю, что Stock# – достаточно успешный стартап, который объединяет прогрессивно мыслящих трейдеров и, безусловно, является частью МФЦ:)

В этой теме предлагаю обсудить вопросы, связанные с созданием алгоритма торгового робота.
Поскольку я торгую опционами, примеры буду приводить для этих инструментов. Не обессудьте.

Начнем с блок-схемы, описывающей основные элементы системы.
1. Выбор источника данных.
В качестве источника данных может выступать торговый терминал (Quik, Альфа-Директ, SmartCOM) или шлюз Plaza2.
2. Проверка работы источника данных
В случае проблем с подключением выдает сообщение об ошибке и предлагает выбрать другой источник данных.
3. Выбор стратегии
Предоставляет возможность тестировать несколько стратегий в одной оболочке. Например, торговля волатильностью, торговля спредами, арбитраж.
4. Грааль
Основной элемент системы. Рассчитывает оптимальные параметры для совершения торговых операций.
5. Проверка сигналов на сделку
Решение о сделке принимается на основании получаемых данных. В случае если соблюдается условие, необходимое для совершения сделки, программа переходит к этапу отправки заявки.
На этом этапе предусматривается возможность изменять параметры для принятия решения. Например, менять значение волатильности или стоимости спреда -n страйков от центра.
6. Отправка заявки
Программа отправляет заявку в торговый терминал или шлюз. Если от биржи приходит ответ о выставлении заявки, сообщает об этом пользователю. Если возвращает ошибку или не приходит ответ, сообщает пользователю об ошибке и пытается отправить заявку повторно.
Здесь можно настроить время или количество попыток для отправки заявки.
7. Проверка активных заявок
Этот элемент проверяет, исполнилась ли заявка. В случае исполнения заявки и ответа от биржи сообщает пользователю о сделке.
8. Изменение заявки
Если заявка не исполнилась, предлагает изменить цену.
Бывают такие ситуации, когда мы согласны на исполнение по худшей цене. Можно ввести условие, например, увеличивать цену на 15 пунктов, если заявка не исполняется в течение 5 секунд.
Или исполнить по рынку, если заявка висит больше 15 секунд. При этом алгоритм перейдет в п.6 (Отправка заявки). Программа также сообщает пользователю о снятии первоначальной заявки.

Буду признателен за конструктивную критику и рацпредложения.


Алгоритм

Оригинал
4 Комментария
  • Макс
    18 декабря 2011, 19:30
    После «сообщения об ошибке» (после «заявка выставлена?) возврат должен быть на „есть сигнал на сделку?“
  • Сергей Масюра
    18 декабря 2011, 20:12
    Блок-схема плохо подходит для описания торговых алгоритмов, на мой взгляд. Торговая стратегия работает событийно, а не последовательно. После выставления заявки можем получить событие разрыва соединения, например. Если есть большое желание именно спроектировать, то больше подходит диаграмма состояний (state transition diagram) и диаграмма последовательностей (sequence diagram).
  • Роботорговец
    18 декабря 2011, 22:29
    Нарядно!

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн