vnpy/docs/risk_manager.md

40 lines
2.0 KiB
Markdown
Raw Permalink Normal View History

2019-06-10 03:16:11 +00:00
# 交易风控
交易风控模块属于事前风控即在委托在通过交易API接口发出去前需要检查其状态不能超过风控限制其中包括
- 委托数量必须大于0
- 单笔委托的数量上限
- 当日总成交数量上限
- 委托流数量上限
- 当前活动委托次数上限
- 当日撤单次数上限
 
## 加载启动
进入VN Trader后首先登陆接口如连接CTP然后在菜单栏中点击“功能”->"交易风控“后,会弹出交易风控窗口,如图。
![](https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/risk_manager/risk_manager.png)
窗口中显示的参数对应的是C:\Users\Administrator\.vntrader里面risk_manager_setting.json的参数字典如图。
![](https://vnpy-community.oss-cn-shanghai.aliyuncs.com/forum_experience/yazhang/risk_manager/data_setting.png)
在“风控运行状态”的选择框中点击“启动”后
- 立刻调用RiskManagerEngine类的update_setting()函数读取risk_manager_setting.json的参数字典并且绑定类的属性。
- 在日志中输出"交易风控功能启动"。
- 运行check_risk()函数,去检查每一笔发出去的委托是否符合各种风控要求,若全部满足后,流控计数+1委托真正通过API接口发送出去。
 
## 修改参数
交易风控组件允许用户修改风控参数。由于GUI界面的各参数栏是基于PyQt5的QSpinBox用户可以用鼠标点击上下箭头来修改也可以直接键盘输入来修改。
最后点击窗口下方的“保存”按钮对调用RiskManagerEngine类的save_setting()函数去更新到risk_manager_setting.json的参数字典中最后通过update_setting()函数把参数字典绑定到类的属性。
 
## 停止风控
在“风控运行状态”的选择框中点击“停止后”后RiskManagerEngine类的active变成Falsecheck_risk()函数不再检查委托的风控流控状态,同时在日志中输出"交易风控功能停止"。