返回列表 发布新帖

综合交易模型----qmt交易框架的使用,当作第三方库使用,提供源代码

2249 2
发表于 2023-12-23 23:45:04 | 显示全部楼层 阅读模式
本帖最后由 *******0079 于 2023-12-25 10:43 编辑

今天我把最新版的综合交易框架里面的qmt独立出来方便大家开发,使用简单,和easytrader一样的调用,复制的处理全部封装了,我们把程序当作第三方库使用
第一步复制文件夹
image.png
大概的内容
image.png
第二部复制python路径,打开文件夹路径
image.png
进入lib
image.png
找到文件夹site-packages,放在文件夹内部
image.png
放在文件夹内部就完成了
image.png
使用的教程和easytrader差不多
  1. #可转债数据
  2. from qmt_trader.bond_cov_data_qmt import bond_cov_data_qmt
  3. #etf数据
  4. from qmt_trader.etf_fund_data_qmt import etf_fund_data_qmt
  5. #qmt数据
  6. from qmt_trader.qmt_data import qmt_data
  7. #股票数据
  8. from qmt_trader.stock_data_qmt import stock_data_qmt
  9. #交易框架
  10. from qmt_trader.qmt_trader_ths import qmt_trader_ths
  11. #通达信数据
  12. from qmt_trader.tdx_data import tdx_data
  13. #统一接口数据
  14. from qmt_trader.unification_data_qmt import unification_data_qmt
  15. #qmt数据
  16. unification_data=unification_data_qmt()
  17. #qmt交易模型
  18. trader=qmt_trader_ths(path= r'D:/国金QMT交易端模拟/userdata_mini',
  19.                   session_id = 123456,account='55009640',account_type='STOCK',
  20.                   is_slippage=True,slippage=0.01)
  21. #连接qmt
  22. trader.connect()
  23. #获取持股
  24. hold_stock=trader.position()
  25. print(hold_stock)
  26. #获取账户
  27. account=trader.balance()
  28. print(account)
  29. #买入
  30. #获取数据
  31. stock='600031'
  32. stock=trader.adjust_stock(stock=stock)
  33. spot_data=unification_data.get_spot_data(stock=stock)
  34. print(spot_data)
  35. price=spot_data['最新价']
  36. trader.buy(security=stock,price=price,amount=1000)
  37. #卖出
  38. trader.sell(security=stock,price=price,amount=1000)
  39. #撤单
  40. trader.cancel_order_stock(order_id='12')
  41. #开发的通过代码撤单
  42. trader.cancel_order_stock_async_by_code(cancel_type='all',stock=stock)
复制代码
我已经处理好了内容,直接调用就可用,后面很复杂
运行效果获取持股
image.png
image.png
下单的结果
image.png
image.png
通过股票代码来撤单
  1. def cancel_order_stock_async_by_code(self,cancel_type='all',stock='600031.SH',num='all'):
  2.         '''
  3.         通过证券代码来撤单
  4.         类型cancel_type=all/buy/sell/one
  5.         在有多个单时候选择怎么样撤单num=0/all
  6.         '''
  7.         # 使用订单编号撤单
  8.         entrusts=self.today_entrusts()
  9.         if entrusts.shape[0]>0:
  10.             stock=self.adjust_stock(stock=stock)
  11.             stock_list=entrusts['证券代码'].tolist()
  12.             if stock in stock_list:
  13.                 if cancel_type=='all':
  14.                     order_id_list=entrusts['订单编号'].tolist()
  15.                     for order_id in order_id_list:
  16.                         self.cancel_order_stock_async(order_id=order_id)
  17.                 elif cancel_type=='buy':
  18.                     entrusts_buy=entrusts[entrusts['委托类型']==xtconstant.STOCK_BUY]
  19.                     order_id_list=entrusts_buy['订单编号'].tolist()
  20.                     for order_id in order_id_list:
  21.                         self.cancel_order_stock_async(order_id=order_id)
  22.                 elif cancel_type=='sell':
  23.                     entrusts_sell=entrusts[entrusts['委托类型']==xtconstant.STOCK_SELL]
  24.                     order_id_list=entrusts_sell['订单编号'].tolist()
  25.                     for order_id in order_id_list:
  26.                         self.cancel_order_stock_async(order_id=order_id)
  27.                 else:
  28.                     entrusts_on=entrusts[entrusts['证券代码']==stock]
  29.                     if num=='all':
  30.                         order_id_list=entrusts_on['订单编号'].tolist()
  31.                         for order_id in order_id_list:
  32.                             self.cancel_order_stock_async(order_id=order_id)
  33.                     else:
  34.                         order_id_list=entrusts_on['订单编号'].tolist()
  35.                         self.cancel_order_stock_async(order_id=order_id_list[num])
复制代码
代码块相关缩进可以参考地址 https://mp.weixin.qq.com/s/EFEBtmT9uy8MLG-Nca_apw
来自圈子: 量化交易研究

评论2

木头
发表于 2024-1-20 21:12:01 | 显示全部楼层
这样就不用打开qmt的客户端直接运行吗?
miniQMT.com申请
发表于 2024-1-25 10:56:35 | 显示全部楼层
:qiang:

回复

您需要登录后才可以回帖 登录 | 立即注册

客服专线

400-080-8112

用思考的速度交易,用真诚的态度合作,我们是认真的!
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2025 迅投QMT社区 版权所有 All Rights Reserved. 蜀ICP备19002686号-2
关灯 快速发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表