【量化交易】QMT自动交易逆回购

#encoding:gbk
import pandas as pd
import time
from datetime import datetime


accID = '00000001'
asset_name = '204001.SH'  # 上交所1天逆回购


def init(ContextInfo):
    global accID, asset_name
    ContextInfo.set_account(accID)
    ContextInfo.run_time("process_condition_order","1nDay","2022-12-01 15:03:00") #'3nSecond' '1nDay'
    print('已启动')

def process_condition_order(ContextInfo):
    # 查可用资金
    available_funds = get_trade_detail_data(accID, 'stock', 'account')[0].m_dAvailable
    volume = int(available_funds/1000)*10
    print('可用余额:',available_funds)
    print('可交易逆回购数量:',volume)
    
    if volume >= 1000:
        # 查逆回购价格
        result=ContextInfo.get_market_data(['quoter'],stock_code=[asset_name],start_time='',end_time='',skip_paused=True,period='tick',dividend_type='none')
        buy5_price = result['bidPrice'][-1]
        last_price = result['lastPrice']
        print('buy5_price',buy5_price)
        
        #下单方向、下单方式、账号、标的代码、价格类型、下单价格、下单数量、策略名称、是否立即促发下单、委托id、ContextInfo
        passorder(24,1101,accID,asset_name,11,buy5_price,volume, '', 2, '', ContextInfo)
    else:
        print('可用资金不足,不交易')
    
def order_callback(ContextInfo, orderInfo): 
    print(f'>>> order_callback: {orderInfo.m_nRef}')

def deal_callback(ContextInfo, dealInfo): 
    print(f'>>> deal_callback: {dealInfo.m_nRef}')

def stop(ContextInfo):
    print( 'strategy is stop !')

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狮子王量化

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值