将量化投资进行到底
提供专业的量化投资解决方案

AlgoPlus量化投资进阶手册(2)盈损风控管理

这是广告

本文将向大家展示使用AlgoPlus从账户层面,包括手动开仓或程序持仓,对持仓进行风控的例子。

很多商业软件也提供风控功能,例如云端止盈止损单,但是AlgoPlus可以帮助大家实现更个性化的风控方案。如果使用过程遇到任何问题请联系我们。

AlgoPlus是使用Cython、ctypes技术封装的Python版量化投资开源框架,不仅释放了GIL,而且充分利用CTP线程特性,既能满足低延时的交易需求,又提高了易用性。

 

止盈止损方法

常用的止盈止损方案有:固定止损、固定止盈、跟踪止损、阶梯止损、保本、时间止损。详细介绍可以参考:

程序化模型中常用的止损策略

在AlgoPlus量化投资开源项目的风控模块中,我们封装了上述止盈止损逻辑。AlgoPlus用户即可以此为账户风控引擎,也可从中抽离需要的逻辑放在自己的策略中。

 

配置账户参数

在account_info.py中配置账户信息,并订阅合约。如果没有订阅持仓合约行情,将无法进行止盈止损。

 

撤单次数数据结构

撤单次数是一个以合约名为键值的字典。收到撤单通知后,对撤单次数计算增加。

 

收到撤单通知时增加撤单次数计数

 

止盈止损参数数据结构

止损参数是一个以合约名为键值的字典,根据不同的止损止盈类型存储价差/时间差等参数。

其中,止损类型参数取值:

b”0″ 固定止盈
b”1″ 固定止损

价差/时间差等参数以列表形式存储,有些止损逻辑可能需要多个参数。

 

持仓数据结构

账户持仓以合约名为键值存入字典中,LongVolume统计合约总多头持仓,ShortVolume统计合约总空头持仓,LongPositionList、ShortPositionList以OrderRef为单位存储成交明细。

成交明细是在AlgoPlus.CTP.ApiStruct中TradeField基础上附加IsLock、AnchorTime、StopProfitDict、StopLossDict、MaxProfitPrice字段。

 

成交通知

收到成交通知时放入一个列表中,等待后续处理,避免在此设计复杂的耗时操作。

 

处理成交通知

根据开买卖开平字段将成交成交信息放入持仓数据结构中。

 

实时监控当前行情价格是否触及止盈止损价

遍历持仓数据结构中的所有成交明细,判断最新行情是否触发某个止盈止损阈值,如果触发则录入平仓报单。

 

止盈止损逻辑

根据止盈止损(固定止盈、固定止损、跟踪止损、阶梯止损、保本止损)逻辑计算出触发价格,存入成交明细字典中。这里给出了固定止盈和固定止损的例子供大家参考:

 

使用方法

配置账户并设置止损参数之后,运行profit_loss_manager_example.py,即可对账户进行监控。从快期客户端下单,当持仓触发止损条件,程序会自动进行平仓。

 

完整代码下载地址:

码云:https://gitee.com/AlgoPlus/AlgoPlus

GitHub:https://github.com/CTPPlus/AlgoPlus

赞(0) 打赏
未经允许不得转载:CTP量化投资技术研究 - AlgoPlus量化投资开源框架 - 将交易进行到底 » AlgoPlus量化投资进阶手册(2)盈损风控管理
分享到: (0)

评论 抢沙发

评论前必须登录!

 

知者不惑,仁者不忧,勇者不惧

你的认可是我们最大的动力!

微信扫一扫打赏