量化策略实盘交易日记 (自动化交易笔记)

交易策略及实盘,趋势交易策略的实盘记录

这里说一个大家不常用的三个方法吧,委托,成交,撤单。

大部分开发同学仅仅是做到了回测这个步骤,这个步骤很好理解,就是通过对历史数据的运行来检查当前程序是否可以挣钱,统计历史数据,利润,最大回测等数值都还是很有参考意义的。

委托,成交,撤单,这三个是在实盘中才会用到,委托是下单的回调,成交是委托的回调,撤单是程序发起的,但需要用户自动做判断

委托和程序需要在程序里设定好交易的账号

def init(ContextInfo):
	ContextInfo.set_account('*******')

设定好后会自动回调委托:

def order_callback(ContextInfo, orderInfo):
    print("委托交易Id:" + orderInfo.m_strOrderSysID)

回调交易:

def deal_callback(ContextInfo, dealInfo):
    print("完成一笔交易:" + str(dealInfo.m_strOrderSysID))r

所有交易结果的清算应该在交易完成后进行,记录委托的作用是为了撤单使用。

若委托完成后,长时间未成交,则需要撤单。

交易策略及实盘,趋势交易策略的实盘记录

一个简要的流程图来说明各个阶段的状态。对于撤单功能,则是发起一个定时任务,每10秒钟检查一下,若仍没有成交则进行撤单。

定时任务注册功能如下:

#撤单定时任务
ContextInfo.run_time('cancel_order_timer','10nSecond','2026-03-14T12:08:19+00:00')

参照这些功能边开发边测试了一只股票的程序交易,交易成果如下:

交易策略及实盘,趋势交易策略的实盘记录

挣了大约14元。估计手续费大约是在5元左右。400股有10元的收益吧。下周再继续完善算法和交易流程。

交易策略及实盘,趋势交易策略的实盘记录