Как начать работать с библиотекой QuickFix

Я дал проект по разработке Алгоритмической торговой системы с использованием библиотеки c ++ и quickFix, я ищу в Google информацию о библиотеке quickFix, но не нашел никакой полезной информации.
Кто-нибудь может дать мне некоторую информацию, откуда я должен начать?

2

Решение

Вы предоставляете очень мало деталей в своем вопросе, поэтому я могу только догадываться о полезном подходе. Я сделал то, что вы начинаете, в Python, и могу дать вам некоторую ориентацию. Все ссылки, упомянутые Карлом, имеют решающее значение (вы должны обратить особое внимание на документацию по быстрым исправлениям в файле конфигурации), к которой я бы добавил FIXIMATE.

Чтобы сделать что-то подобное в QF, вам нужно ответить на ряд вопросов.

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

  2. Интерфейс. Как вы скажете QF входить в систему, выходить из нее, выходить из ужасных позиций и так далее? Я использую инструмент командной строки (cmd2Это дает мне эту способность. Другие люди кодируют окна GUI.

  3. Взлом сообщения. Некоторые версии QF поставляются с взломщиком, но если у вас его нет в C ++, вам придется написать свою собственную, чтобы вы могли анализировать входящие сообщения.

  4. Управление данными. Как вы будете сохранять входящие рыночные данные, как в оперативной памяти, так и на диск для последующего анализа? Как вы будете представлять и контролировать свои позиции, ваши рабочие заказы, ваш контрольный журнал? Ознакомьтесь с ScreenLogFactory а также FileLogFactory в QF.

  5. Вспомогательные функции. Вам понадобится много функций, которые вы сами напишите, чтобы помочь на всех этапах. Сохраните их все в одном месте и упорядочите по категориям для быстрого доступа.

  6. мониторинг. Как вы узнаете, если что-то идет не так (или правильно), когда вы не перед вашим компьютером следите за алгоритмом? Я запускаю совершенно отдельный процесс, который потребляет сообщения через очередь и отправляет мне тексты и электронные письма.

  7. риск. Вы не хотите, чтобы ваша машина отправляла 1000 заказов на рынок в мгновение ока. Вам нужно закодировать некоторые чеки, которые наложат вето на плохие заказы на заключительном этапе, прежде чем они выйдут. Также некоторый код, который скажет вам, если вы находитесь в позиции, когда вы должны быть плоскими. Эта часть очень важна.

  8. стратегия. Вам понадобится возможность быстро принимать данные, анализировать их и генерировать сигналы. Для гибкости вы не должны создавать свою стратегию в своей системе, но вы должны разработать стратегический объект, который может поддерживать любую стратегию, которую вы придумали. Затем вы развертываете эти объекты в вашей системе.

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

Это только начало, с моей головы. Это долгий путь, чтобы сделать все самостоятельно, без посторонней помощи. Очень интересно и полезно.

2

Другие решения

Загрузки QuickFIX можно найти на сайте quickfixengine.org здесь: http://www.quickfixengine.org/. Оттуда вы можете скачать исходный код или загрузить готовые пакеты для Visual Studio 2010, 2012 и 2013.

Документацию по QuickFIX можно найти в разделе документации здесь: http://www.quickfixengine.org/quickfix/doc/html/. Документация включает в себя инструкции по компиляции / установке и раздел «Начало работы», в котором описывается настройка проекта и написание вашего первого приложения QuickFIX.

Если вы хотите узнать больше о протоколе FIX, советуем заглянуть на сайт FIX здесь: http://www.fixtradingcommunity.org. На этом сайте есть спецификации, которые предоставят вам информацию о типах сообщений, поддерживаемых FIX, и о том, как их следует использовать.

1