响应式网站模版下载,店铺外卖网站怎么做,wordpress 手机版主题,怎么让google收录网站文章目录 前言一、逆回购是什么#xff1f;1. 什么是逆回购#xff1f;2. 最低参与金额是多少#xff1f;3. 逆回购交易是否安全#xff1f;4. 逆回购交易适合什么类型的客户#xff1f; 二、讯投XtQuant是什么#xff1f;1. XtQuant运行依赖环境2. XtQuant运行逻辑 三、… 文章目录 前言一、逆回购是什么1. 什么是逆回购2. 最低参与金额是多少3. 逆回购交易是否安全4. 逆回购交易适合什么类型的客户 二、讯投XtQuant是什么1. XtQuant运行依赖环境2. XtQuant运行逻辑 三、使用xtquant进行逆回购含完整源代码1.选择深市开展逆回购2.深市逆回购完整代码 总结 前言
前面很多人提到逆回购但是经常一忙就忘了收盘后下单逆回购白给的肉又飞了。这里我们使用xtquant玩玩逆回购代码简单复制到本地配置好即可运行收益无负担送你的钱不要白不要。
一、逆回购是什么
1. 什么是逆回购
简单来讲逆回购从本质上讲是一种短期贷款就是你把钱借给别人获得固定利息别人用债券国债或企业债作抵押到期还本付息。
2. 最低参与金额是多少
上海市场国债逆回购交易数量为10万或10万的整数倍深圳市场债券逆回购交易数量为1000元或其整数倍
3. 逆回购交易是否安全
逆回购交易一般没有风险因为逆回购方直接针对的是中国结算公司这样的第三方。如果债券质押方到期不能按时还款结算公司会先垫付资金然后通过罚款和处置质押券等方式向融资方追诉。 与股票交易不同的是逆回购交易在初始交易时收益的大小即已确定抵押债券价格的涨跌、市场利率水平的波动与逆回购交易的收益无关。
4. 逆回购交易适合什么类型的客户
逆回购交易适合风险承受能力较低的个人以及流动资金充裕且有资金管理需求的机构。
二、讯投XtQuant是什么
XtQuant是基于迅投MiniQMT衍生出来的一套完善的Python策略运行框架对外以Python库的形式提供策略交易所需要的行情和交易相关的API接口。使用讯投XtQuant首先需要选择支持开通QMT的券商开户有些开通了QMT但不支持MiniQMT。需要提前问好。
1. XtQuant运行依赖环境
XtQuant目前提供的库包括64位Python3.6----3.11版本不同版本的python导入时会自动切换。 在运行使用XtQuant的程序前需要先启动MiniQMT客户端。
2. XtQuant运行逻辑 Xtdata作为行情模块本模块旨在提供精简直接的数据满足量化交易者的数据需求主要提供行情数据历史和实时的K线和分笔、财务数据、合约基础信息、板块和行业分类信息等通用的行情数据。 Xttrader作为交易模块封装了策略交易所需要的Python API接口可以和MiniQMT客户端交互进行报单、撤单、查询资产、查询委托、查询成交、查询持仓以及接收资金、委托、成交和持仓等变动的主推消息。 更多详情可查询讯投知识库http://docs.thinktrader.net/pages/040ff7/
首先需要下载xtquant库并将其解压到一个目录后面会用到。
三、使用xtquant进行逆回购含完整源代码
下面的代码基于以上2个条件 1、启动MiniQMT客户端 2、下载xtquant库并将其解压到一个目录当然也可以直接使用QMT安装后下载python后xtquant目录。 下载地址http://dict.thinktrader.net/nativeApi/download_xtquant.html
如果以上环境已准备到位下面我们说如何来实现交易。因为逆回购的交易基本没有风险且可以在股市交易期间交易还可以在1500-15:30进行交易为了最大化发挥资金优势一般都会将股市剩余资金在休市后来购买逆回购以增加收益虽然没多钱但蚊子腿也是肉不是。
1.选择深市开展逆回购
笔者一般选择深市开展逆回购上海也有需要自己计算下单手数由于逆回购代码固定这里默认选深市1天逆回购代码“131810.SZ”。下单手数需要进行计算深圳市场债券逆回购交易数量为1000元或其整数倍所以这里查询可用金额后直接取模计算下单手数并使用异步接口进行下单。 一般逆回购量都比较大个人投资者基本不用考虑成交不了需要撤单的问题一般盘口下单立即就可以成交。所以这里只报单即可。 特别声明不放心的可用去观察下成交情况或者自行完善代码笔者不对成交和收益负责 def nihuigou(xt_trader,acc,symbol131810.SZ):A.asset xt_trader.query_stock_asset(acc)if A.asset.cash 1000:vol int((A.asset.cash//1000)*10)async_seq xt_trader.order_stock_async(acc,symbol,xtconstant.STOCK_SELL,vol,xtconstant.LATEST_PRICE,9.99,strategy_namenihuigou,order_remarknihuigou卖出)print(fnihuigou下单async_seq({async_seq})卖出逆回购{vol}手)else:print(nihuigou下单逆回购金额不足)2.深市逆回购完整代码
将以下代码保存后并将 xxxxx 处的证券账号按证券公司给的账户进行修改运行即可。注意这里QMT的安装目录为D:\gszqqmt请根据实际情况自行修改。
#coding:utf-8import sys
import time# 每个调用工具库的文件均添加以下语句即可实现随处调用。
sys.path.append(rD:\gszqqmt\bin.x64\Lib\site-packages)#xtquant所在目录from xtquant import xtdata
from xtquant.xttrader import XtQuantTrader, XtQuantTraderCallback
from xtquant.xttype import StockAccount
from xtquant import xtconstant# 创建一个空对象方便快速引用。持仓数据(用A.代替)
class a():pass
A a()def nihuigou(xt_trader,acc,symbol131810.SZ):A.asset xt_trader.query_stock_asset(acc)if A.asset.cash 1000:vol int((A.asset.cash//1000)*10)async_seq xt_trader.order_stock_async(acc,symbol,xtconstant.STOCK_SELL,vol,xtconstant.LATEST_PRICE,9.99,strategy_namenihuigou,order_remarknihuigou卖出)print(time.strftime(%H:%M:%S),fnihuigou下单async_seq({async_seq})卖出逆回购{vol}手)else:print(time.strftime(%H:%M:%S),nihuigou下单逆回购金额不足)class MyXtQuantTraderCallback(XtQuantTraderCallback):def on_disconnected(self):连接断开:return:print(datetime.datetime.now(),连接断开回调)def on_stock_order(self, order):委托回报推送:param order: XtOrder对象:return:print(datetime.datetime.now(), 委托回调, order.order_remark)def on_stock_trade(self, trade):成交变动推送:param trade: XtTrade对象:return:print(datetime.datetime.now(), 成交回调, trade.order_remark)def on_order_error(self, order_error):委托失败推送:param order_error:XtOrderError 对象:return:# print(on order_error callback)# print(order_error.order_id, order_error.error_id, order_error.error_msg)print(f委托报错回调 {order_error.order_remark} {order_error.error_msg})def on_cancel_error(self, cancel_error):撤单失败推送:param cancel_error: XtCancelError 对象:return:print(datetime.datetime.now(), sys._getframe().f_code.co_name)def on_order_stock_async_response(self, response):异步下单回报推送:param response: XtOrderResponse 对象:return:print(f异步委托回调 {response.order_remark})def on_cancel_order_stock_async_response(self, response)::param response: XtCancelOrderResponse 对象:return:print(datetime.datetime.now(), sys._getframe().f_code.co_name)def on_account_status(self, status)::param response: XtAccountStatus 对象:return:print(datetime.datetime.now(), sys._getframe().f_code.co_name)if __name__ __main__:print(启动xtquant实盘交易-逆回购)#指定客户端所在路径path rD:\gszqqmt\userdata_mini# 生成session id 整数类型 同时运行的策略不能重复session_id int(time.time())xt_trader XtQuantTrader(path, session_id)# 开启主动请求接口的专用线程 开启后在on_stock_xxx回调函数里调用XtQuantTrader.query_xxx函数不会卡住回调线程但是查询和推送的数据在时序上会变得不确定# 详见: http://docs.thinktrader.net/vip/pages/ee0e9b/#开启主动请求接口的专用线程# xt_trader.set_relaxed_response_order_enabled(True)# 创建资金账号为 xxxxx 的证券账号对象,请根据自己的账户进行修改acc StockAccount(xxxxx , STOCK)# 创建交易回调类对象并声明接收回调callback MyXtQuantTraderCallback()xt_trader.register_callback(callback)# 启动交易线程xt_trader.start()# 建立交易连接返回0表示连接成功connect_result xt_trader.connect()print(建立交易连接返回0表示连接成功, connect_result)# 对交易回调进行订阅订阅后可以收到交易主推返回0表示订阅成功subscribe_result xt_trader.subscribe(acc)print(对交易回调进行订阅订阅后可以收到交易主推返回0表示订阅成功, subscribe_result)A.asset xt_trader.query_stock_asset(acc)print(\n持仓市值,A.asset.market_value,\n总资金,A.asset.total_asset,\n持仓占比,round(A.asset.market_value/A.asset.total_asset,2)*100,%,\n逆回购可用资金,A.asset.cash) while 1:if 150000 time.strftime(%H%M%S) 153000:nihuigou(xt_trader,acc,symbol131810.SZ);time.sleep(60)else:print(time.strftime(%H:%M:%S),时间未到待收盘后自动下单);time.sleep(60) 总结
前期文章如何优雅地调教QMT量化平台编写量化策略使用notepad、pycharm、vscode等外部IDE编写量化交易代码 抛出了mpython的秘密当时MiniQMT并不为人知晓。此篇文章也算是对上文的承接。目前官方文档已经很详尽了可以查询讯投知识库http://docs.thinktrader.net/pages/040ff7/
使用xtquant可以不受QMT运行环境尤其是Python3.6.8版本的限制可以充分发挥本地Python的性能也可以方便的调用第三方库。
我们这里小试牛刀其实还有更多玩法。视评论情况后续给大家陆续解锁。
感觉有用就点个赞发个评论再走让更多人可以看到