December 27, 2023

QuantConnect - алгоритмы торговли в реальном времени.

Введение

QuantConnect позволяет запускать ваши алгоритмы в режиме реального времени с рыночными данными в реальном времени. Мы успешно разместили более 200.000 действующих алгоритмов, а с 2015 года объем торгов на наших серверах превысил $22 миллиарда.

Компания Interactive Brokers (IB) была основана Томасом Петерффи в 1993 году с целью «создать технологию для обеспечения ликвидности на более выгодных условиях, конкурентноспособную по цене, скорости, размеру, разнообразию глобальных продуктов и передовым торговым инструментам».

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

IB также предоставляет бумажную торговлю, торговую платформу и образовательные услуги.

Типы счетов

IB API не поддерживает план IBKR LITE. Вам нужен план IBKR PRO.

Доступны индивидуальные счета и счета финансового консультанта (FA).

Индивидуальные счета

IB поддерживает наличные счета и маржинальные счета.

Чтобы задать тип счета в алгоритме, см. документацию по модели брокера IB.

Счета FA

IB поддерживает счета FA для торговых фирм и учреждений. Счета FA позволяют сертифицированным профессионалам использовать единый торговый алгоритм для управления несколькими клиентскими счетами. Если код вашей учетной записи начинается с F, FA или I, значит, у вас есть учетная запись FA.

Создание аккаунта

Вам необходимо открыть учетную запись IBKR Pro для внедрения алгоритмов с помощью IB.

IB API не поддерживает счета IBKR Lite. Чтобы создать учетную запись IB, см. страницу "Открыть счет" на сайте IB.

Вам необходимо активировать мобильную аутентификацию IBKR (ключ IB), чтобы развернуть живые алгоритмы на брокерском счете. После открытия счета следуйте инструкциям по установке и активации на сайте IB.


Бумажная торговля

IB поддерживает бумажную торговлю. Следуйте странице «Открытие бумажного торгового счета» в документации IB, чтобы настроить свой бумажный торговый счет.

Если вы хотите использовать потоки данных IB и торговать со своего бумажного торгового счета, выполните следующие действия:

- Войдите на клиентский портал IB.
- В правом верхнем углу щелкните значок человечка и выберите «Настройки» .
- В разделе «Конфигурация счета» нажмите «Бумажный торговый счет» .
- Нажмите Да .
- Нажмите Сохранить .

Торговая среда IB paper имитирует большинство аспектов рабочего счета Trader Workstation, но вы можете столкнуться с некоторыми отличиями, поскольку она построена как симулятор без возможностей исполнения или клиринга.

Программа страхования застрахованных банковских вкладов

LEAN не поддерживает счета IB в программе очистки застрахованных банковских депозитов, поскольку, когда LEAN считывает балансы ваших счетов, она включает в себя денежные средства, находящиеся на счете очистки FDIC, которые не подлежат торговле. Например, если на вашем счете есть 150 тысяч долларов США наличными, для торговли может быть доступно только 100 тысяч долларов США, если 50 тысяч долларов находятся в денежных средствах на счете FDIC.

Классы активов

Наша интеграция с Interactive Brokers поддерживает следующие классы активов:

- US Equities - Equity Options - Forex - Futures - Future Options - Indices - Index Options

Возможно, вы не сможете торговать всеми активами с помощью IB. Например, если вы живете в ЕС, вы не можете торговать ETF США.

Свяжитесь с местными регулирующими органами, чтобы узнать, какими активами вам разрешено торговать. Вам может потребоваться изменить настройки вашего брокерского счета, чтобы торговать некоторыми активами в режиме реального времени.

Потоки данных

Возможно, вам придется приобрести подписку на канал данных IB для вашей торговли. Дополнительную информацию о потоках данных в реальном времени см. в разделе «Подоки данных» .

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

Типы ордеров

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

В следующей таблице описаны доступные типы ордеров для каждого класса активов, которые поддерживает IB:

Параметры ордеров.

Мы моделируем индивидуальные параметры ордеров из IB API.

В следующей таблице описаны члены объекта InteractiveBrokersOrderProperties, которые вы можете установить для настройки исполнения ордеров.

* В таблицу не включены предыдущие методы для учетных записей FA.

Обновления

Мы моделируем API IB, поддерживая обновления ордеров.

Дробная торговля

IB API и FIX/CTCI не поддерживают дробную торговлю .

Обработка сплитов

Если вы используете нормализацию исходных данных и у вас есть активные ордера с лимитной, стоповой или триггерной ценой на рынке акций США, когда происходит дробление акций , следующие свойства ваших ордеров автоматически корректируются с учетом дробления акций:

- Количество - Лимитная цена - Стоп-цена - Триггерная цена

Время заполнения

Время исполнения текущих ордеров IB составляет 400 миллисекунд.

Брокерская ликвидация

Когда IB ликвидирует часть вашей позиции, вы получаете событие заказа , содержащее Brokerage Liquidation сообщение.

Комиссии

Чтобы просмотреть торговые комиссии IB, посетите страницу «Комиссии» на веб-сайте IB.

Маржа


Мы моделируем покупательную способность и маржинальные требования, чтобы ваш алгоритм оставался в рамках маржинальных требований. Если на вашем брокерском счете более $25.000, вы можете использовать модель PatternDayTradingMarginModel, чтобы воспользоваться 4-кратным внутридневным кредитным плечом и 2-кратным кредитным плечом овернайт, доступными в большинстве брокерских компаний в соответствии с правилом PDT.

Правило PDT

Если все следующие утверждения верны, вы классифицируетесь как дневной трейдер по шаблонам:

  • Вы проживаете в США.
  • Вы торгуете на маржинальном счете.
  • Вы совершаете более 4 внутридневных сделок с акциями США в течение 5 рабочих дней.
  • Ваши внутридневные сделки с акциями США составляют более 6% от общего числа ваших сделок.

Чтобы продолжить торговлю, трейдеры, торгующие по шаблонам, должны поддерживать на своем маржинальном счете минимальный капитал в размере $25.000.

Для получения дополнительной информации о дневной торговле по шаблонам см. «Являюсь ли я дей-трейдером по шаблонам?» на сайте ФИНРА.

Модель PatternDayTradingMarginModel не устанавливает правила минимального капитала и не ограничивает ваши сделки, но регулирует доступное кредитное плечо в зависимости от состояния рынка.

- В обычные часы работы рынка вы можете использовать кредитное плечо до 4x.
- В расширенные часы работы рынка вы можете использовать кредитное плечо до 2х.

Проскальзывание

Ордера через IB не имеют проскальзываний при тестировании на истории. При бумажной торговле и торговле в реальном времени ваши ордера могут проскальзывать.

Чтобы просмотреть, как мы моделируем проскальзывание IB, см. Проскальзывание.

Исполнение ордеров

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

Рассчеты

Если вы торгуете с использованием маржинального счета, сделки рассчитываются немедленно.

Безопасность и стабильность

Обратите внимание на следующие аспекты безопасности и стабильности нашей интеграции IB.

Данные учетной записи

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

Сбои API

QuantConnect вызывает API IB для размещения сделок в режиме реального времени. Иногда API может быть неработоспособен.

Проверьте страницу статуса IB , чтобы узнать, работает ли API в настоящее время.

Подключения

По умолчанию IB поддерживает только одно подключение к вашей учетной записи за раз.

Если вы вмешаетесь в работу своего брокерского счета, когда к нему подключен алгоритм, алгоритм может перестать выполняться.

Если вы развертываете алгоритм работы в реальном времени со своей учетной записью IB и хотите открыть рабочую станцию Trader (TWS) с той же учетной записью IB, создайте второго пользователя в своей учетной записи IB и войдите в TWS с новыми учетными данными пользователя.

Чтобы запустить более одного алгоритма с IB, откройте субсчет IB для каждого дополнительного алгоритма.

Если вы не можете войти в TWS со своими учетными данными, обратитесь в IB.

Если вы можете войти в TWS, но не можете войти в мастер развертывания, свяжитесь с командой QuantConnect и предоставьте algorithm ID и deployment ID.

СМС 2FA

Наша интеграция с IB не поддерживает двухфакторную аутентификацию (2FA) через SMS или онлайн-карту кодов безопасности. Вместо этого используйте IB Key Security через IBKR Mobile.

Системный сброс

Каждое воскресенье вы будете получать на свое устройство IB Key уведомление о необходимости повторной аутентификации соединения между IB и вашим действующим алгоритмом.

При развертывании алгоритма вы можете выбрать время в воскресенье для получения уведомления.

Если вы не пройдете повторную аутентификацию до истечения времени ожидания, ваш алгоритм прекратит выполнение.

Убедитесь, что на вашем устройстве IB Key достаточно заряда батареи на время, в течение которого вы ожидаете получения уведомления.

Если вы не получили уведомление, см. раздел «Я не получаю уведомления IBKR Mobile» на веб-сайте IB.

Депозиты и выводы

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

QuantConnect синхронизирует денежные средства алгоритма с денежными средствами на вашем брокерском счете каждый день в 7:45 утра по восточному времени (ET).

Развертывание живых алгоритмов

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

Выполните следующие шаги, чтобы развернуть работающий алгоритм:

  • Откройте проект, который хотите развернуть.
  • Щелкните значок Значок молнии «Развернуть в реальном времени».
  • На странице «Развертывание Live» щелкните поле «Брокер» , а затем выберите «Интерактивные брокеры» в раскрывающемся меню.
  • Введите имя пользователя, идентификатор и пароль IB.
    * Данные вашей учетной записи не сохраняются в QuantConnect.
  • В поле «Еженедельный перезапуск в формате UTC» введите время по всемирному координированному времени (UTC), когда вы хотите получать уведомления по воскресеньям для повторной аутентификации подключения к вашей учетной записи.

Например, 16:00 UTC эквивалентно:

- 11:00 по восточному стандартному времени, - 12:00 по восточному летнему времени, - 8:00 по тихоокеанскому стандартному времени - 9:00 по тихоокеанскому летнему времени.

Чтобы преобразовать UTC в другой часовой пояс, воспользуйтесь конвертером часовых поясов UTC на веб-сайте времени UTC.

Если в вашей учетной записи IB включена 2FA, вы каждое воскресенье получаете на свое устройство IB Key уведомление о необходимости повторной аутентификации соединения между IB и вашим действующим алгоритмом.

Если вы не пройдете повторную аутентификацию до истечения времени ожидания, ваш алгоритм прекратит выполнение.

  • Щелкните поле «Поставщик данных», а затем выберите один из каналов данных в раскрывающемся меню.

    В следующей таблице описаны доступные каналы данных:
  • Щелкните поле «Узел» , а затем в раскрывающемся меню выберите узел реальной торговли, который вы хотите использовать.
  • (Необязательно) Настройте уведомления.
  • Настройте параметр Алгоритм автоматического перезапуска.

    Включив автоматический перезапуск , алгоритм приложит все усилия для перезапуска алгоритма в случае сбоя из-за ошибки во время выполнения. Это может помочь повысить устойчивость алгоритма к временным сбоям, таким как отключение брокерского API.
  • Нажмите «Развернуть»(Deploy).
  • Если в вашей учетной записи IB включена 2FA, коснитесь уведомления на устройстве IB Key и введите свой PIN-код.

Процесс развертывания может занять до 5 минут.
Когда алгоритм развернется, отобразится страница с результатами в реальном времени.

Если вы знаете свои брокерские позиции до развертывания, вы можете убедиться, что они загружены правильно, проверив стоимость вашего собственного капитала в статистике времени выполнения, свои резервы в кассовой книге и ваши позиции.