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 включает в себя следующие компоненты:
Особенности TqSdk
Библиотека TqSdk предлагает широкий спектр функций для поддержки различных типов стратегий:
Для установки TqSdk используется pip:
$ pip install tqsdk
Документация доступна онлайн по адресу https://doc.shinnytech.com/tqsdk/latest. Также есть сообщество вопросов и ответов на сайте компании и группа в QQ для общения с другими пользователями.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )