Files
qihuo/docs/RISK.md
T

4.2 KiB
Raw Blame History

全局账户风控

本文汇总 所有板块共用 的风控规则。各板块下单前均会调用 assert_can_open() 或等价校验。

相关代码:risk/account_risk_lib.pyposition_sizing.pyproduct_recommend.py


仓位上限

默认值 说明
MAX_ACTIVE_POSITIONS 1 同时 active 持仓监控数量上限
环境变量 .env MAX_ACTIVE_POSITIONS=1
  • 达到上限后:禁止新开仓,但允许 滚仓/顺势加仓can_roll=True)。
  • 状态标签:仓位上限冻结

冷静期与日冻结

默认值 说明
RISK_CONTROL_ENABLED true 关闭后跳过冷静期逻辑
RISK_MANUAL_CLOSE_DAILY_LIMIT 2 当日 手动平仓 次数上限
RISK_COOLING_HOURS_MANUAL 4 超限后冷静期(小时)
RISK_COOLING_HOURS_MANUAL_JOURNAL 1 填写复盘情绪日记后缩短为 1 小时
TRADING_DAY_RESET_HOUR 8 交易日重置时刻(8 点前算上一交易日)

触发流程

  1. 用户在下单监控 手动平仓,且当日手动平仓次数 ≥ 上限。
  2. 进入 4h 冻结(或填写复盘表单中的情绪问题选项后 → 1h 冻结)。
  3. 冻结期间 can_trade=False,禁止一切新开仓。

日冻结

  • 复盘表单勾选情绪问题(怕踏空、报复开仓、盈利飘了、拿不住单、扛单、重仓违规等)并提交后,可触发 当日日冻结
  • 日冻结期间禁止新开仓,次日(按 TRADING_DAY_RESET_HOUR)重置。

保证金占用上限

配置位置 默认值 用途
单仓保证金上限 系统设置 max_margin_pct 30% 新开仓:拟开 + 已有占用,占权益不得超过此值
综合保证金上限 系统设置 roll_max_margin_pct 50% 单仓模式:滚仓/加仓合计上限;多仓模式:所有持仓合计上限
  • 看板 综合保证金占比 的分母为 50%(综合上限),不是 30%。详见 风控说明.md
  • 新开仓前仍按 30% 收紧手数;滚仓/多仓合计按 50% 校验(见 STRATEGY.md)。

计仓与单笔手数

模式 说明
固定手数 使用系统设置 fixed_lots
固定金额(以损定仓) 须填止损价;手数 = 固定风险金额 ÷ 每手风险;同时受保证金上限约束
单笔上限 DEFAULT_MAX_ORDER_LOTS = 50

固定金额模式公式(简化):

每手风险 = |入场价 − 止损价| × 合约乘数
手数 = floor(固定风险金额 / 每手风险)
再按 max_margin_pct 收紧

可交易品种范围

条件 规则
权益 ≤ 20 万 CTP 未连接 仅可交易:玉米、豆粕、甲醇、螺纹钢
CTP 未连接时估算 可开仓表按 10 万权益 估算最大手数
夜盘时段 可开仓表仅显示有夜盘品种

详见 TRADING.mdORDER_MONITOR.md


交易时段

  • 非交易时段:禁止报单(开仓/平仓 API 返回 403)。
  • CTP 未连接:禁止下单;连接中提示稍候。

各板块风控对照

板块 开仓前校验 特殊规则
下单监控 全部全局规则 + 保证金 + 品种 移动保本须填止损
关键位自动单 同上 + 交易时段 + CTP 手数按 risk_percent 计算
策略首仓 同上 趋势回调计划单独表
滚仓/加仓 仓位上限冻结时仍可滚仓 滚仓保证金单独上限
开单计划 不自动下单,仅提醒 无 assert_can_open
关键支阻区 不自动下单 仅微信提醒

风险状态展示

下单监控顶栏、数据看板 → 风控说明 均展示当前状态。看板各指标释义与颜色见 风控说明.md

状态 含义
正常 可新开仓
1h / 4h 冻结 冷静期中
日冻结 当日禁止新开仓
仓位上限冻结 已达 active 上限,可滚仓不可开新仓