获取实时行情

from tqsdk import TqApi, TqAuth

# 创建API实例

api = TqApi(auth=TqAuth("信易账户","信易账户密码"))

# 获得上期所 cu2001 的行情引用,当行情有变化时 quote 中的字段会对应更新

quote = api.get_quote("SHFE.cu2001")

while True:

# 调用 wait_update 等待业务信息发生变化,例如: 行情发生变化, 委托单状态变化, 发生成交等等

api.wait_update()

# 每当业务信息有变化时就输出 cu2001 的最新行情时间和最新价

# 注意:其他合约的行情的更新也会触发业务信息变化,因此这里可能会将同一笔行情输出多次

print(quote.datetime, quote.last_price)

使用K线数据

from tqsdk import TqApi, TqAuth

import datetime

api = TqApi(auth=TqAuth("信易账户","信易账户密码"))

# 获得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("信易账户","信易账户密码"))

# 获得 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("信易账户","信易账户密码"))

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_天勤量化相关推荐

  1. 天勤python_天勤量化策略库:R-Breaker策略(难度:初级)

    策略简介 R-Breaker是一种短线日内交易策略,该策略已经在市场上存活了二十年之久,尤其当指数波动较大时,该策略表现越好,根据S&P至2011年底的统计,R-Break也多次名列前十,由于 ...

  2. 天勤python_天勤量化策略库:网格交易策略(难度:中级)

    什么是网格交易策略 网格交易又名渔网交易,就是跌买涨卖.它适合震荡市,震荡市就是行情价围着一个数字上下浮动的,这个数字就是设置的价格中轴线. 设定中枢价格后,对投资标的进行机械式操作,下跌时,进行分档 ...

  3. 天勤python_天勤量化策略库:海龟交易法则(难度:中级)

    什么是海龟交易法则 海龟交易法是著名的公开交易系统,其法则覆盖了交易的各个方面,并且不给交易员留下一点主观想象决策的余地.它是一套非常完整的趋势跟随型的自动化交易策略,具备一个完整的交易系统的所有成分 ...

  4. 曾国藩:一勤天下无难事(五勤)

    1 一勤天下无难事 概述 曾国藩说为官者当有五勤:"一曰身勤:险远之路,身往验之:艰苦之境,身亲尝之.二曰眼勤:遇一人,必详细察看:接一文,必反复审阅.三曰手勤:易弃之物,随手收拾:易忘之事 ...

  5. 2022考研天勤计算机408pdf(天勤计算机组成原理+天勤操作系统+天勤计算机网络+天勤数据结构)

    天勤408 链接:https://pan.baidu.com/s/1oC9NV_0kScWsjsWdCgXP_g 提取码:hlts

  6. 同花顺python_专题研究|量化交易怎么少得了GUI!手把手教你用 Python 打造股票行情分析界面...

    开场 Python 的出现可以帮助我们快速解决实际的问题,提高工作效率. 如果给Python 脚本加上一个GUI 的话,不仅可以进一步提升使用效率(不用每次停止运行去修改参数),而且还能把自己程序分享 ...

  7. 回撤率 python_【Python量化】O(n)复杂度实现最大回撤的计算

    看到大多数计算最大回撤的代码都是 的算法复杂度,其实最大回撤的计算用 的算法复杂度就能实现,只需对 复杂度的代码稍作修改即可. 我们先来回顾下最大回撤的定义: 我们来生成一个数组,包含连续1000个时 ...

  8. 网页崩溃原因软件测试,Web网站为什么会崩溃 - Web自动化测试 - 松勤网 - 松勤软件测试-软件测试在线教育领跑者-国内最专业的软件测试学习平台...

    在进行网站测试的时候,有没有碰到过网站崩溃,打不开,出现404错误等各种现象,如果你碰到了,那么恭喜你,你的网站出问题了,是什么原因导致网站出问题呢,根据软件测试在线学习课程里面的讲解总结如下: 1. ...

  9. 聚宽数据python_聚宽量化(Zen)

    一.基本 网址:https://www.joinquant.com 自己用过的jupyter在登陆后的首页--"我的研究文件"里面. 二.取数 通过在线jupyter取数 impo ...

最新文章

  1. PCL中异常处理机制
  2. Hadoop/Spark生态圈里的新气象
  3. 三个实例演示 Java Thread Dump 日志分析
  4. copyof java_JDK10——copyOf方法
  5. SKYLINE UVALive - 4108
  6. PPPoE原理和实验
  7. Oracle 12导出、导入数据
  8. 《组合数学引论》第二章部分习题解答
  9. 怎么提高文公写作水平?公文写作报告类模板
  10. 网络安全kali渗透学习 web渗透入门 Google搜索引擎的使用技巧
  11. Struts1与Struts2原理以及区别
  12. 短文阅读1:Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate
  13. 矿工罢工?官方砸盘?FIL暴跌!Filecoin上线后的魔幻7天
  14. 项目管理(软件开发)之思维导图使用
  15. 电车难题和他的n个**变种分享
  16. CV文章摘要中文翻译集(目标检测,纹理分类)
  17. 机器学习算法(二):决策树理论与python实现+经典应用(预测隐形眼镜类型)
  18. 计算机专业大四课程,计算机专业大学四年课表.doc
  19. BZOJ 1615: [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机 bfs
  20. mongodb基础操作之聚合操作、索引优化

热门文章

  1. 一般纳税人有限公司可以享受的税收优惠政策有哪些?
  2. 7.去空格函数-strip
  3. 微信小程序canvas2d使用封装与案例使用
  4. matlab—绘制给定数据的概率密度曲线+实现图像局部放大效果
  5. 1.1二进制文件概述
  6. 玉米社:抖音作品几大核心指标,完播率、点赞率、吸粉率多少算好?
  7. 检测某个地图某个怪物的数量的脚本
  8. DeFi+NFT+DAO,MIGO打造区块链新金融雏形
  9. Java加密算法—凯撒加密实现以及暴力破解
  10. go 错误处理与测试