简朴但强盛的 Python 量化开发包
基于 Python 语言, 在一个战略中会见恣意K线和行情数据, 还能对生意细节和账户执行准确控制
一分钟装置, 战略开发/运行/回测, 模拟/实盘生意, 实时行情/历史行情等功效所有直接到位
天勤量化免费版的开发包在 Github 完全开放,可以自由获取或修改, 也可以与其它 Python 包组合使用
点击注册/登录c7c7娱乐平台官网入口账户,相识更多关于天勤量化专业版内容!
天勤提供目今所有可生意合约从上市最先的所有 Tick 数据和K线数据
天勤支持数十家期货公司的实盘账号,您可以通过这些账号举行实盘生意
天勤提供模拟账户用于测试您的生意战略
可以指定历史上恣意一天的行情举行复盘
天勤提供一套完整的手艺指标库, 以 Python?写成, 可以在战略程序中使用, 也可以自行修改
天勤包括了数个套利战略的完整代码, 您可以直接使用它们, 也可以按自己的需求刷新
天勤包括了一个完整的网格生意战略的完整代码, 您可以使用或修改它
天勤中除完整战略外, 也支持人机混淆的算法生意程序, 例如自动迁仓, 大单分拆等
无须装置其它任何软件包, 即可在天勤中开发战略程序
天勤为每个战略提供一个专属行情图. 战略程序可以通过 Python 代码在图上绘制标记
所有战略程序可以直接执行回测, 包括K线回测和 Tick 回测, 回测历程中实时天生回测报告
提供VsCode插件,直接在VsCode中翻开K线图,运行战略和回测
from tqsdk import TqApi, TqAuth # 建设API实例 api = TqApi(auth=TqAuth("c7c7娱乐平台官网入口账户","c7c7娱乐平台官网入口账户密码")) # 获得上期所 cu2001 的行情引用,当行情有转变时 quote 中的字段会对应更新 quote = api.get_quote("SHFE.cu2001") while True: # 挪用 wait_update 期待营业信息爆发转变,例如: 行情爆发转变, 委托单状态转变, 发天生交等等 api.wait_update() # 每当营业信息有转变时就输出 cu2001 的最新行情时间和最新价 # 注重:其他合约的行情的更新也会触发营业信息转变,因此这里可能会将统一笔行情输出多次 print(quote.datetime, quote.last_price)
from tqsdk import TqApi, TqAuth import datetime api = TqApi(auth=TqAuth("c7c7娱乐平台官网入口账户","c7c7娱乐平台官网入口账户密码")) # 获得cu2001 tick序列的引用 ticks = api.get_tick_serial("SHFE.cu2001") # 获得cu2001 10秒K线的引用 klines = api.get_kline_serial("SHFE.cu2001", 10) while True: api.wait_update() # 判断整个tick序列是否有转变 if api.is_changing(ticks): # ticks.iloc[-1]返回序列中最后一个tick print("tick转变", ticks.iloc[-1]) # 判断最后一根K线的时间是否有转变,若是爆发转变则体现新爆发了一根K线 if api.is_changing(klines.iloc[-1], "datetime"): # datetime: 自unix epoch(1970-01-01 00:00:00 GMT)以来的纳秒数 print("新K线", datetime.datetime.fromtimestamp(klines.iloc[-1]["datetime"]/1e9)) # 判断最后一根K线的收盘价是否有转变 if api.is_changing(klines.iloc[-1], "close"): # klines.close返接纳盘价序列 print("K线转变", datetime.datetime.fromtimestamp(klines.iloc[-1]["datetime"]/1e9), klines.close.iloc[-1])
from tqsdk import TqApi, TqAuth api = TqApi(auth=TqAuth("c7c7娱乐平台官网入口账户","c7c7娱乐平台官网入口账户密码")) # 获得 m2005 的持仓引用,当持仓有转变时 position 中的字段会对应更新 position = api.get_position("DCE.m2005") # 获得资金账户引用,当账户有转变时 account 中的字段会对应更新 account = api.get_account() # 下单并返回委托单的引用,当该委托单有转变时 order 中的字段会对应更新 order = api.insert_order(symbol="DCE.m2005", direction="BUY", offset="OPEN", volume=5, limit_price=2900) while True: api.wait_update() if api.is_changing(order, ["status", "volume_orign", "volume_left"]): print("单状态: %s, 已成交: %d 手" % (order.status, order.volume_orign - order.volume_left)) if api.is_changing(position, "volume_long_today"): print("今多头: %d 手" % (position.volume_long_today)) if api.is_changing(account, "available"): print("可用资金: %.2f" % (account.available))
from tqsdk import TqApi, TqAuth, TargetPosTask ''' 价差回归 当近月-远月的价差大于200时做空近月,做多远月 当价差小于150时平仓 ''' api = TqApi(auth=TqAuth("c7c7娱乐平台官网入口账户","c7c7娱乐平台官网入口账户密码")) quote_near = api.get_quote("SHFE.rb1810") quote_deferred = api.get_quote("SHFE.rb1901") # 建设 rb1810 的目的持仓 task,该 task 认真调解 rb1810 的仓位到指定的目的仓位 target_pos_near = TargetPosTask(api, "SHFE.rb1810") # 建设 rb1901 的目的持仓 task,该 task 认真调解 rb1901 的仓位到指定的目的仓位 target_pos_deferred = TargetPosTask(api, "SHFE.rb1901") while True: api.wait_update() if api.is_changing(quote_near) or api.is_changing(quote_deferred): spread = quote_near.last_price - quote_deferred.last_price print("目今价差:", spread) if spread > 200: print("目的持仓: 空近月,多远月") # 设置目的持仓为正数体现多头,负数体现空头,0体现空仓 target_pos_near.set_target_volume(-1) target_pos_deferred.set_target_volume(1) elif spread < 150: print("目的持仓: 空仓") target_pos_near.set_target_volume(0) target_pos_deferred.set_target_volume(0)
基于 Python 语言, 在一个战略中会见恣意K线和行情数据, 还能对生意细节和账户执行准确控制
一分钟装置, 战略开发/运行/回测, 模拟/实盘生意, 实时行情/历史行情等功效所有直接到位
天勤量化免费版的开发包在 Github 完全开放,可以自由获取或修改, 也可以与其它 Python 包组合使用
点击注册/登录c7c7娱乐平台官网入口账户,相识更多关于天勤量化专业版内容!
点击注册/登录c7c7娱乐平台官网入口账户,相识更多关于天勤量化专业版内容!
天勤提供目今所有可生意合约从上市最先的所有 Tick 数据和K线数据
天勤支持数十家期货公司的实盘账号,您可以通过这些账号举行实盘生意
天勤提供模拟账户用于测试您的生意战略
可以指定历史上恣意一天的行情举行复盘
天勤包括了数个套利战略的完整代码, 您可以直接使用它们, 也可以按自己的需求刷新
天勤包括了一个完整的网格生意战略的完整代码,您可以使用或修改它
天勤中除完整战略外, 也支持人机混淆的算法生意程序, 例如自动迁仓, 大单分拆等
无须装置其它任何软件包, 即可在天勤中开发战略程序
天勤为每个战略提供一个专属行情图. 战略程序可以通过 Python 代码在图上绘制标记
所有战略程序可以直接执行回测, 包括K线回测和 Tick 回测, 回测历程中实时天生回测报告
提供VsCode插件,直接在VsCode中翻开K线图,运行战略和回测
from tqsdk import TqApi, TqAuth # 建设API实例 api = TqApi(auth=TqAuth("c7c7娱乐平台官网入口账户","c7c7娱乐平台官网入口账户密码")) # 获得上期所 cu2001 的行情引用,当行情有转变时 quote 中的字段会对应更新 quote = api.get_quote("SHFE.cu2001") while True: # 挪用 wait_update 期待营业信息爆发转变,例如: 行情爆发转变, 委托单状态转变, 发天生交等等 api.wait_update() # 每当营业信息有转变时就输出 cu2001 的最新行情时间和最新价 # 注重:其他合约的行情的更新也会触发营业信息转变,因此这里可能会将统一笔行情输出多次 print(quote.datetime, quote.last_price)
from tqsdk import TqApi, TqAuth import datetime api = TqApi(auth=TqAuth("c7c7娱乐平台官网入口账户","c7c7娱乐平台官网入口账户密码")) # 获得cu2001 tick序列的引用 ticks = api.get_tick_serial("SHFE.cu2001") # 获得cu2001 10秒K线的引用 klines = api.get_kline_serial("SHFE.cu2001", 10) while True: api.wait_update() # 判断整个tick序列是否有转变 if api.is_changing(ticks): # ticks.iloc[-1]返回序列中最后一个tick print("tick转变", ticks.iloc[-1]) # 判断最后一根K线的时间是否有转变,若是爆发转变则体现新爆发了一根K线 if api.is_changing(klines.iloc[-1], "datetime"): # datetime: 自unix epoch(1970-01-01 00:00:00 GMT)以来的纳秒数 print("新K线", datetime.datetime.fromtimestamp(klines.iloc[-1]["datetime"]/1e9)) # 判断最后一根K线的收盘价是否有转变 if api.is_changing(klines.iloc[-1], "close"): # klines.close返接纳盘价序列 print("K线转变", datetime.datetime.fromtimestamp(klines.iloc[-1]["datetime"]/1e9), klines.close.iloc[-1])
from tqsdk import TqApi, TqAuth api = TqApi(auth=TqAuth("c7c7娱乐平台官网入口账户","c7c7娱乐平台官网入口账户密码")) # 获得 m2005 的持仓引用,当持仓有转变时 position 中的字段会对应更新 position = api.get_position("DCE.m2005") # 获得资金账户引用,当账户有转变时 account 中的字段会对应更新 account = api.get_account() # 下单并返回委托单的引用,当该委托单有转变时 order 中的字段会对应更新 order = api.insert_order(symbol="DCE.m2005", direction="BUY", offset="OPEN", volume=5, limit_price=2900) while True: api.wait_update() if api.is_changing(order, ["status", "volume_orign", "volume_left"]): print("单状态: %s, 已成交: %d 手" % (order.status, order.volume_orign - order.volume_left)) if api.is_changing(position, "volume_long_today"): print("今多头: %d 手" % (position.volume_long_today)) if api.is_changing(account, "available"): print("可用资金: %.2f" % (account.available))
from tqsdk import TqApi, TqAuth, TargetPosTask ''' 价差回归 当近月-远月的价差大于200时做空近月,做多远月 当价差小于150时平仓 ''' api = TqApi(auth=TqAuth("c7c7娱乐平台官网入口账户","c7c7娱乐平台官网入口账户密码")) quote_near = api.get_quote("SHFE.rb1810") quote_deferred = api.get_quote("SHFE.rb1901") # 建设 rb1810 的目的持仓 task,该 task 认真调解 rb1810 的仓位到指定的目的仓位 target_pos_near = TargetPosTask(api, "SHFE.rb1810") # 建设 rb1901 的目的持仓 task,该 task 认真调解 rb1901 的仓位到指定的目的仓位 target_pos_deferred = TargetPosTask(api, "SHFE.rb1901") while True: api.wait_update() if api.is_changing(quote_near) or api.is_changing(quote_deferred): spread = quote_near.last_price - quote_deferred.last_price print("目今价差:", spread) if spread > 200: print("目的持仓: 空近月,多远月") # 设置目的持仓为正数体现多头,负数体现空头,0体现空仓 target_pos_near.set_target_volume(-1) target_pos_deferred.set_target_volume(1) elif spread < 150: print("目的持仓: 空仓") target_pos_near.set_target_volume(0) target_pos_deferred.set_target_volume(0)