vnpy/docs/risk_manager.md
2019-06-10 11:16:11 +08:00

2.0 KiB
Raw Permalink Blame History

交易风控

交易风控模块属于事前风控即在委托在通过交易API接口发出去前需要检查其状态不能超过风控限制其中包括

  • 委托数量必须大于0
  • 单笔委托的数量上限
  • 当日总成交数量上限
  • 委托流数量上限
  • 当前活动委托次数上限
  • 当日撤单次数上限

 

加载启动

进入VN Trader后首先登陆接口如连接CTP然后在菜单栏中点击“功能”->"交易风控“后,会弹出交易风控窗口,如图。

窗口中显示的参数对应的是C:\Users\Administrator.vntrader里面risk_manager_setting.json的参数字典如图。

在“风控运行状态”的选择框中点击“启动”后

  • 立刻调用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()函数不再检查委托的风控流控状态,同时在日志中输出"交易风控功能停止"。