Я дал проект по разработке Алгоритмической торговой системы с использованием библиотеки c ++ и quickFix, я ищу в Google информацию о библиотеке quickFix, но не нашел никакой полезной информации.
Кто-нибудь может дать мне некоторую информацию, откуда я должен начать?
Вы предоставляете очень мало деталей в своем вопросе, поэтому я могу только догадываться о полезном подходе. Я сделал то, что вы начинаете, в Python, и могу дать вам некоторую ориентацию. Все ссылки, упомянутые Карлом, имеют решающее значение (вы должны обратить особое внимание на документацию по быстрым исправлениям в файле конфигурации), к которой я бы добавил FIXIMATE.
Чтобы сделать что-то подобное в QF, вам нужно ответить на ряд вопросов.
Вход в систему. Выясните, как войти в систему. Попробуйте получить словарь данных от вашего контрагента. Вы не хотите, чтобы вас заставляли слишком сильно изменять ваш DD.
Интерфейс. Как вы скажете QF входить в систему, выходить из нее, выходить из ужасных позиций и так далее? Я использую инструмент командной строки (cmd2Это дает мне эту способность. Другие люди кодируют окна GUI.
Взлом сообщения. Некоторые версии QF поставляются с взломщиком, но если у вас его нет в C ++, вам придется написать свою собственную, чтобы вы могли анализировать входящие сообщения.
Управление данными. Как вы будете сохранять входящие рыночные данные, как в оперативной памяти, так и на диск для последующего анализа? Как вы будете представлять и контролировать свои позиции, ваши рабочие заказы, ваш контрольный журнал? Ознакомьтесь с ScreenLogFactory
а также FileLogFactory
в QF.
Вспомогательные функции. Вам понадобится много функций, которые вы сами напишите, чтобы помочь на всех этапах. Сохраните их все в одном месте и упорядочите по категориям для быстрого доступа.
мониторинг. Как вы узнаете, если что-то идет не так (или правильно), когда вы не перед вашим компьютером следите за алгоритмом? Я запускаю совершенно отдельный процесс, который потребляет сообщения через очередь и отправляет мне тексты и электронные письма.
риск. Вы не хотите, чтобы ваша машина отправляла 1000 заказов на рынок в мгновение ока. Вам нужно закодировать некоторые чеки, которые наложат вето на плохие заказы на заключительном этапе, прежде чем они выйдут. Также некоторый код, который скажет вам, если вы находитесь в позиции, когда вы должны быть плоскими. Эта часть очень важна.
стратегия. Вам понадобится возможность быстро принимать данные, анализировать их и генерировать сигналы. Для гибкости вы не должны создавать свою стратегию в своей системе, но вы должны разработать стратегический объект, который может поддерживать любую стратегию, которую вы придумали. Затем вы развертываете эти объекты в вашей системе.
Обработка заказов. Ваш алгоритм должен знать, когда и как вводить ордера, отменять их, перемещать стопы и т. Д. Он должен иметь дело с частичным заполнением и уметь поддерживать несколько типов ордеров.
Это только начало, с моей головы. Это долгий путь, чтобы сделать все самостоятельно, без посторонней помощи. Очень интересно и полезно.
Загрузки 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, и о том, как их следует использовать.