1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/tianqin_quantification_tqsdk-tqsdk-python

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

TqSdk: библиотека Python для разработки количественных торговых стратегий

TqSdk — это библиотека с открытым исходным кодом на Python, разработанная компанией ShinnyTech. Она позволяет пользователям создавать различные типы количественных торговых стратегий с использованием минимального количества кода. Библиотека предоставляет доступ к историческим данным, данным в реальном времени, а также инструменты для разработки, отладки, тестирования и реального исполнения стратегий.

Пример использования TqSdk

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

from tqsdk import TqApi, TqAuth, TqAccount, TargetPosTask

api = TqApi(TqAccount("H海通期货", "4003242", "123456"), auth=TqAuth("信易账户", "账户密码"))      # 创建 TqApi 实例, 指定交易账户
q_1910 = api.get_quote("SHFE.rb1910")                         # 订阅近月合约行情
t_1910 = TargetPosTask(api, "SHFE.rb1910")                    # 创建近月合约调仓工具
q_2001 = api.get_quote("SHFE.rb2001")                         # 订阅远月合约行情
t_2001 = TargetPosTask(api, "SHFE.rb2001")                    # 创建远月合约调仓工具

while True:
  api.wait_update()                                           # 等待数据更新
  spread = q_1910["last_price"] - q_2001["last_price"]        # 计算近月合约-远月合约价差
  print("当前价差:", spread)
  if spread > 250:
    print("价差过高: 空近月,多远月")                            
    t_1910.set_target_volume(-1)                              # 要求把1910合约调整为空头1手
    t_2001.set_target_volume(1)                               # 要求把2001合约调整为多头1手
  elif spread < 200:
    print("价差回复: 清空持仓")                               # 要求把 1910 和 2001合约都调整为不持仓
    t_1910.set_target_volume(0)
    t_2001.set_target_volume(0)

Этот код создаёт экземпляр TqApi с учётными данными пользователя, подписывается на данные о ценах двух контрактов, создаёт инструменты для управления позициями и затем проверяет разницу цен. Если разница превышает определённый порог, стратегия корректирует позиции.

Архитектура TqSdk

Архитектура TqSdk включает в себя следующие компоненты:

  • Строка ворот (Open Md Gateway) — обеспечивает доступ к данным о ценах и истории.
  • Торговый шлюз (Open Trade Gateway) — соединяет с торговыми системами брокеров.
  • Оба шлюза используют протокол Diff для взаимодействия с нижестоящими сервисами.
  • TqSdk подключается к этим шлюзам через протокол Diff и реализует функции торговли и анализа данных.

Особенности TqSdk

Библиотека TqSdk предлагает широкий спектр функций для поддержки различных типов стратегий:

  • Доступ к историческим и текущим данным по всем доступным контрактам.
  • Поддержка реальной торговли с большинством брокеров на рынке.
  • Возможность моделирования торговли.
  • Инструменты для тестирования стратегий на исторических данных и сложных алгоритмах.
  • Более 100 технических индикаторов и их исходных кодов.
  • Отсутствие необходимости в создании и обслуживании баз данных — все данные хранятся в оперативной памяти без задержек доступа.
  • Оптимизация для работы с библиотеками pandas и numpy.
  • Гибкость для реализации стратегий любой сложности.
  • Интеграция с инструментами разработчика для отслеживания торговых сигналов и создания пользовательских индикаторов.

Для установки TqSdk используется pip:

$ pip install tqsdk

Документация доступна онлайн по адресу https://doc.shinnytech.com/tqsdk/latest. Также есть сообщество вопросов и ответов на сайте компании и группа в QQ для общения с другими пользователями.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/tianqin_quantification_tqsdk-tqsdk-python.git
git@api.gitlife.ru:oschina-mirror/tianqin_quantification_tqsdk-tqsdk-python.git
oschina-mirror
tianqin_quantification_tqsdk-tqsdk-python
tianqin_quantification_tqsdk-tqsdk-python
master