我把国债逆回购添加到了框架,原理是卖出对应的国债,提供qmt获取实时数据,进行下单,我们可以控制买入比率,同花顺,东方财富,通达信的可以获取国债代码,同花顺可以设置自动购买
我们默认买一天的资金快速使用,周末也要收益,框架了吗的购买源代码

def reverse_repurchase_of_treasury_bonds(self,security='131810.SZ',buy_ratio=0.00001, order_type=xtconstant.STOCK_SELL ,price_type=xtconstant.FIX_PRICE,strategy_name='',order_remark=''): ''' 国债逆回购 ''' # 对交易回调进行订阅,订阅后可以收到交易主推,返回0表示订阅成功 account=self.balance() av_cash=account['可用金额'].tolist()[-1] av_cash=float(av_cash) av_cash=av_cash*buy_ratio spot_data=self.data.get_full_tick(code_list=[security]) price=spot_data[security]['lastPrice'] price=float(price) amount=math.floor((av_cash/price)/10)*10 subscribe_result = self.xt_trader.subscribe(self.acc) print(self.xt_trader.query_stock_asset_async(account=self.acc,callback=subscribe_result)) #print(subscribe_result) stock_code =self.adjust_stock(stock=security) #price=self.select_slippage(stock=security,price=price,trader_type='sell') order_volume=amount # 使用指定价下单,接口返回订单编号,后续可以用于撤单操作以及查询委托状态 if order_volume>0: fix_result_order_id = self.xt_trader.order_stock(account=self.acc,stock_code=stock_code, order_type=order_type, order_volume=order_volume, price_type=price_type, price=price, strategy_name=strategy_name, order_remark=order_remark) text='国债逆回购交易类型{} 代码{} 价格{} 数量{} 订单编号{}'.format(order_type,stock_code,price,order_volume,fix_result_order_id) return '交易成功',text else: text='国债逆回购卖出 标的{} 价格{} 委托数量{}小于0有问题'.format(stock_code,price,order_volume) return '交易失败',text
原理是计算可用资金,获取委托价格,计算最大可用买入数量,自己可用设置买入比例,恶魔简单的调用框架测试代码

from xgtrader.unification_data_ths import unification_data_thsfrom qmt_trader.unification_data_qmt import unification_data_qmtfrom xgtrader.stock_data_ths import stock_data_thsfrom qmt_trader.stock_data_qmt import stock_data_qmtfrom xgtrader.etf_fund_data_ths import etf_fund_data_thsfrom qmt_trader.etf_fund_data_qmt import etf_fund_data_qmtfrom qmt_trader.bond_cov_data_qmt import bond_cov_data_qmtfrom xgtrader.bond_cov_data_ths import bond_cov_data_thsfrom xgtrader.tdx_data import tdx_datafrom trader_models.bond_cov_rend_strategy.bond_cov_rend_strategy import bond_cov_rend_strategyfrom trader_tool.unification_data import unification_datafrom trader_models.bond_cov_rend_strategy.bond_cov_rend_strategy import bond_cov_rend_strategyfrom trader_models.etf_trend_strategy.etf_trend_strategy import etf_trend_strategyfrom xgtrader.xgtrader import xgtraderfrom trader_tool.tdx_data import tdx_datafrom trader_tool.analysis_models import analysis_modelsfrom trader_tool.unification_data import unification_dataimport statsmodels.api as smfrom trader_models.micro_stock_cap_trend_trading.micro_stock_cap_trend_trading import micro_stock_cap_trend_tradingfrom trader_tool.unification_data import unification_datafrom trader_tool.ths_rq import ths_rqfrom trader_models.micro_stock_cap_trend_trading.micro_stock_cap_trend_trading import micro_stock_cap_trend_tradingfrom qmt_trader.qmt_trader_ths import qmt_trader_thsfrom qmt_trader.qmt_data import qmt_data#导入交易框架from qmt_trader.qmt_trader_ths import qmt_trader_thsmodels=qmt_trader_ths()#连接qmtmodels.connect()#获取iop数据df=models.reverse_repurchase_of_treasury_bonds(security='131810.SZ',buy_ratio=0.00001,)print(df)
下单结果

qmt交易的结果周末委托不了

搭载实盘交易模型里面的函数
"自动申购新股可转债时间":"14:20",
"是否自动回购国债":"是",
"国债代码":["131810.SZ"],
"国债购买比率":0.8,
"国债购买时间":"14:57",
实盘运行的函数
def get_reverse_repurchase_of_treasury_bonds(self):
'''
国债回购
'''
with open('分析配置.json','r+',encoding='utf-8') as f:
com=f.read()
text=json.loads(com)
if self.check_is_trader_date_1()==True:
security=text['国债代码'],
buy_ratio=text['国债购买比率']
if self.trader_tool=='qmt':
stats,text1=self.trader.reverse_repurchase_of_treasury_bonds(security=security,buy_ratio=buy_ratio)
else:
stats=''
text1=''
print('同花顺目前没有支持国债回购')
if stats=='交易成功':
self.data.seed_emial_qq(text=text1)
else:
text1='国债回购失败'
self.data.seed_emial_qq(text=text1)
else:
print('目前不是交易时间',datetime.now())
实盘交易的效果

显示开启的模块

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/68817
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!