期货账户风险度与强平预警
下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/slzq--futures-risk-dashboard.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @slzq/futures-risk-dashboard。已绑定三立智期账户的用户一句「分析下我的账户风险」即自动拉取账户与持仓、套用方法论出结果——无需手动输入任何数字。输出风险度、占用保证金、可用资金、逐仓强平价与交割月风险预警。不绑定任何品种,所有参数由数据表驱动。
阅读全文 (展开查看完整说明)
概述
本 Skill 绑定客户的 slzq 账户(三立智期 · AI 交易助手,模拟盘 userId 12216),用户一句「分析下我的账户风险 / 我账户怎么样」即自动拉取账户与持仓、套用方法论出结果——用户无需手动输入任何权益或持仓数字。这是一套方法论:Skill 只提供风险计算坐标系与执行引擎,品种/交易所参数全部由 references/spec_table.json 承载——代码不写死任何品种。仅在无 API 密钥 / 离线时,才退化为手动输入快照。
触发场景
- "我账户风险度多少 / 会不会爆仓"
- "这个持仓强平价在哪、还能扛几个点"
- "自然人持实物仓进交割月有什么风险"
- "帮我算一下追保缺口 / 可用资金"
方法论(核心公式)
账户风险度 = 占用保证金 / 客户权益 × 100%
占用保证金 = Σ(持仓合约价值 × 保证金率)
客户权益 = 静态权益 + Σ(盯市浮动盈亏)
浮动盈亏 = 手数 × 合约乘数 × (现价 - 开仓价) × 方向
强平价 = 反解「客户权益(P) = 持仓合约价值(P) × 维持保证金率」得价格 P- 风险度 ≥ 100% → 权益不足覆盖保证金 → 触发强平;80%~100% 为追保预警区。
- 强平价模型:在「客户权益随价格变动」与「维持保证金占用随价格变动」两线相交处反解价格,给出价格还能反向走多少百分比的安全垫。
- 商品与金融期货同构:盈亏公式
手数×合约乘数×(现价-开仓价)×方向对两者通用,合约乘数来自持仓输入或 slzq 目录。
依赖(默认绑定账户,手动为兜底)
- 行情/账户源 = slzq-ai-trading-assistant(默认、核心):本 skill 绑定客户的 slzq 账户(sim: userId 12216)。用户只需说「分析我的账户风险」,Skill 自动调用
risk.py(不带参数)从account/summary取静态权益、从positions取逐仓持仓、逐仓查market/snapshot补合约乘数,再走同一套引擎。全程无需用户手动输入数字。sim 还会回显 slzq 自身riskRate作交叉校验。- 实盘:
--env live(需先绑定 CTP)。
- 实盘:
- 手动输入(仅兜底):当 slzq 未配置
API_KEY/ 离线时,才用--no-fetch --equity ... --pos ...手动给快照,脚本绝不编数据。 - 引擎只依赖
references/spec_table.json(交易所保证金率、维持保证金率、交割方式、品种→交易所映射),纯标准库。 - 环境变量:
SLZQ_OPENCLAW_DOMAIN/SLZQ_OPENCLAW_API_KEY/ENV(与另外两个 skill 同构)。
执行逻辑(全品种通用)
静态权益 + 持仓快照 → ① 逐仓解析(代码→交易所→参数)
→ ② 账户级(风险度/占用/可用/追保缺口)
→ ③ 逐仓强平价(反解 + 安全垫% + 预警等级)
→ ④ 交割风险(查 spec_table 交割方式/自然人限制)
→ ⑤ 汇总 dashboard- 引擎只有"解析→查表→计算→输出"四段逻辑,不出现任何具体品种名。
- 品种差异 100% 在
spec_table.json:symbol_to_exchange映射 +exchanges参数集。 - 新增品种 = 在
symbol_to_exchange加一行(确认其交易所已覆盖即可)。 - 新增交易所/调整保证金率 = 在
exchanges改对应字段,引擎零改动。
用法
# 【默认·绑定账户一键分析】用户说"分析我的账户风险"即调用此条,无需任何参数
python3 risk.py # 自动从绑定的 slzq 模拟盘(userId 12216)拉取账户+持仓
python3 risk.py --env live # 实盘(需先绑定 CTP)
# 【兜底·手动快照】仅当无 API 密钥 / 离线时使用
python3 risk.py --no-fetch --equity 200000
--pos "au2606,2,780,long,790.5,1000,0.08"
--pos "m2509,5,3100,short,3000,10,0.08"
python3 risk.py --no-fetch --equity 200000 --positions-file positions.json--pos 字段:contract,lots,entry,direction,current[,multiplier,margin_rate,maintenance_rate];后三项省略时由 spec_table 按交易所兜底。direction 取 long/short(slzq 模式下自动兼容 sim 的 1/2 与 live 的 LONG/SHORT)。
sim 的
account.summary.equity已含浮动盈亏,引擎会自动扣回positionProfit得到静态权益后再重新累加各仓浮动盈亏,避免重复计入。
交付物
- 引擎:
scripts/risk.py(纯标准库)。 - 参数表:
references/spec_table.json(含symbol_to_exchange映射 + 6 家交易所保证金率/维持保证金率/交割方式)。
边界
- 强平价模型为风险提示,非强平保证;实际强平以期货公司风控线为准。
- 维持保证金率默认取交易所保证金率;如有期货公司加收,请手动传入
maintenance_rate。 - 交割风险仅按"实物/现金交割 + 自然人限制"规则提示,不判断具体日历临近度(需结合最后交易日)。
- 非投资建议,输出须附免责。