Tech Whims

tradeSys 行为规则引擎 MVP 设计方案

张晓龙 / 2026-04-20


tradeSys 行为规则引擎 MVP 设计方案

版本:v1.0
日期:2026-04-14
状态:设计文档


一、行为规则引擎基础

1.1 七大认知偏差回顾

认知偏差定义交易场景表现
损失厌恶 (Loss Aversion)对损失的敏感度是收益的两倍亏损时不愿止损,盈利时急于落袋
处置效应 (Disposition Effect)过早卖出盈利头寸,过久持有亏损头寸股票涨了急着卖,跌了死扛
FOMO (Fear of Missing Out)害怕错过机会的非理性焦虑追涨杀跌,高位接盘
过度自信 (Overconfidence)高估自己的判断能力频繁交易,仓位过重
锚定效应 (Anchoring)过度依赖初始信息买入价成为心理锚点,影响卖出决策
确认偏误 (Confirmation Bias)选择性寻找支持自己观点的证据只看利好消息,忽视风险信号
后见之明 (Hindsight Bias)事后认为事件可预测亏损后说"早就知道",不做复盘

1.2 对应的 IF-THEN 规则设计

规则 1:损失厌恶拦截器

IF 当前持仓亏损 > 5% AND 距离上次再平衡 < 7 天
THEN 触发"冷静期"告警,延迟执行 24 小时

规则 2:处置效应检测器

IF 单笔盈利 > 10% AND 持有时间 < 30 天
THEN 标记为"过早止盈嫌疑",要求填写理由

规则 3:FOMO 防火墙

IF 标的 7 日涨幅 > 20% AND 未在计划内
THEN 禁止开仓,发送"追涨风险提示"

规则 4:过度自信监控

IF 月度交易次数 > 计划次数 * 2
THEN 锁定交易权限至月底,强制复盘

规则 5:锚定效应提醒

IF 卖出决策中提及"成本价"或"买入价"
THEN 弹出"去锚定"提示,显示当前估值而非成本

规则 6:确认偏误对冲

IF 连续 3 次交易方向相同(连续买入或卖出)
THEN 强制展示反向观点数据,要求确认

规则 7:后见之明预防

IF 交易亏损 AND 未在 48 小时内提交复盘
THEN 暂停新交易,直至复盘完成

1.3 行为损耗的量化方法

3-4%/年的行为损耗来源分析:

损耗来源估计年化损耗计算依据
处置效应1.0-1.5%Barber & Odean (2000) 实证研究
过度交易0.5-1.0%频繁交易的摩擦成本
FOMO 追涨0.5-1.0%高位买入的额外成本
损失厌恶(不止损)0.5-1.0%小亏变大亏的累积
合计2.5-4.5%保守估计 3-4%

量化公式:

行为损耗率 = (实际收益率 - 策略理论收益率) / 策略理论收益率

月度行为评分 = 100 - Σ(违规次数 × 权重)
- 触发规则但遵守:-2 分/次
- 触发规则且违规:-10 分/次
- 未触发规则:0 分

二、MVP 架构设计

2.1 检测层:识别"非计划交易"

核心检测逻辑:

class UnplannedTradeDetector:
    def detect(self, trade_intent):
        checks = [
            self.is_in_rebalance_plan(trade_intent),      # 是否在再平衡计划内
            self.is_emergency_stop_triggered(trade_intent), # 是否触发紧急止损
            self.is_cash_management(trade_intent),         # 是否现金管理需求
        ]
        return not any(checks)  # 都不是 = 非计划交易
    
    def is_in_rebalance_plan(self, intent):
        # 检查是否在月度/季度再平衡清单中
        pass
    
    def is_emergency_stop_triggered(self, intent):
        # 检查是否触发预设止损线(如 -10%)
        pass

非计划交易特征:

  1. 不在预设的再平衡时间表内
  2. 标的不在当前持仓或目标配置中
  3. 交易理由包含情绪关键词(“忍不住”、“感觉要涨”、“怕错过”)
  4. 短时间内多次反向操作

2.2 干预层:告警、锁定、延迟执行

三级干预机制:

级别触发条件干预措施
L1 提醒触发任意规则弹窗/消息提醒,记录日志
L2 延迟触发 2+ 规则或高风险操作强制 24h 冷静期,需二次确认
L3 锁定月度违规 > 3 次或单次重大违规暂停交易权限,需人工解锁

延迟执行实现:

class DelayedExecution:
    def __init__(self):
        self.pending_orders = []
    
    def schedule(self, order, delay_hours=24):
        execute_at = now() + timedelta(hours=delay_hours)
        self.pending_orders.append({
            'order': order,
            'execute_at': execute_at,
            'reason': 'cooling_off_period'
        })
        # 发送延迟确认通知
        self.notify(f"订单已延迟至 {execute_at} 执行")
    
    def check_and_execute(self):
        for pending in self.pending_orders:
            if now() >= pending['execute_at']:
                if self.confirm_intent(pending['order']):
                    self.execute(pending['order'])

2.3 复盘层:交易日志与行为评分

交易日志结构:

CREATE TABLE trade_logs (
    id INTEGER PRIMARY KEY,
    timestamp DATETIME,
    symbol TEXT,
    action TEXT,  -- BUY/SELL
    quantity REAL,
    price REAL,
    trigger_type TEXT,  -- PLANNED / DETECTED_BEHAVIORAL / EMERGENCY
    rules_triggered JSON,  -- ["FOMO", "LOSS_AVERSION"]
    decision_rationale TEXT,
    outcome_7d REAL,  -- 7天后收益率
    outcome_30d REAL  -- 30天后收益率
);

行为评分仪表盘:


三、技术实现方案

3.1 与现有再平衡引擎的集成

集成架构:

┌─────────────────────────────────────────────────────────┐
│                    tradeSys Core                        │
├─────────────┬─────────────────────┬─────────────────────┤
│  再平衡引擎  │    行为规则引擎      │    执行层           │
│  Rebalance  │   Behavior Engine   │   Execution         │
├─────────────┼─────────────────────┼─────────────────────┤
│ • 计划生成   │ • 意图检测          │ • 订单路由          │
│ • 调仓计算   │ • 规则匹配          │ • 成交确认          │
│ • 时间表    │ • 干预决策          │ • 状态同步          │
└──────┬──────┴──────────┬──────────┴──────────┬──────────┘
       │                 │                     │
       └─────────────────┴─────────────────────┘
                         │
              ┌──────────▼──────────┐
              │    统一数据层        │
              │  (DuckDB/SQLite)    │
              └─────────────────────┘

集成点:

  1. 前置拦截:所有交易意图先经过行为规则引擎
  2. 计划标记:再平衡引擎生成的交易自动标记为 PLANNED
  3. 结果回调:执行层将成交结果回写至行为引擎用于复盘

3.2 数据存储选型:DuckDB vs SQLite

维度DuckDBSQLite推荐
分析查询优秀(列式存储)一般DuckDB
写入性能优秀持平
部署复杂度低(单文件)极低SQLite
时间序列分析内置支持需自行实现DuckDB
生态成熟度新兴极成熟SQLite
行为分析需求非常适合够用DuckDB

MVP 选择:DuckDB

3.3 告警渠道

优先级配置:

场景飞书邮件短信
L1 提醒--
L2 延迟-
L3 锁定
月度报告-

飞书机器人消息模板:

{
  "msg_type": "interactive",
  "card": {
    "header": {
      "title": {"tag": "plain_text", "content": "🚨 行为规则触发"},
      "template": "red"
    },
    "elements": [
      {"tag": "div", "text": {"tag": "lark_md", "content": "**规则**: FOMO 防火墙\n**标的**: NVDA\n**建议**: 该标的 7 日涨幅 25%,不在计划内,建议暂缓买入"}},
      {"tag": "action", "actions": [
        {"tag": "button", "text": {"tag": "plain_text", "content": "确认违规,继续执行"}, "type": "danger"},
        {"tag": "button", "text": {"tag": "plain_text", "content": "接受建议,取消交易"}, "type": "primary"}
      ]}
    ]
  }
}

四、实盘验证计划

4.1 验证周期

总周期:2-3 年(24-36 个月)

理由:

4.2 关键指标

指标定义目标值
规则触发次数每月规则触发总次数记录基线,观察趋势
遵守率触发后按规则执行次数 / 总触发次数> 80%
行为损耗变化(Year_N 实际收益 - 理论收益) vs Year_1降低 50%+
干预有效性延迟/取消的交易 30 天后收益为负的比例> 60%
系统可用性引擎正常运行时间占比> 99%

4.3 里程碑

时间点里程碑验收标准
3 个月系统稳定运行无重大 bug,数据完整记录,告警正常触发
6 个月行为基线建立完成 50+ 次交易,规则触发模式清晰,月度报告自动化
1 年初步有效性验证遵守率 > 70%,行为损耗呈下降趋势
2 年中期评估遵守率 > 80%,行为损耗降低 30%+,决定是否扩大规则覆盖
3 年最终评估完整周期数据,ROI 可量化,形成标准化规则引擎

五、独到判断

5.1 行为规则引擎的实际价值

判断:价值被严重低估,是散户量化投资的"隐形护城河"

  1. 不对称收益:8-12 小时开发成本 vs 1-2% 年化收益提升,ROI 极高
  2. 复利效应:每年 1-2% 的差异,20 年复利差距可达 20-40%
  3. 非竞争性优势:不像策略因子会被市场套利,行为优势是个人内在
  4. 防御属性:在极端行情(泡沫/恐慌)中价值最大,正好是收益差距最大的时期

5.2 是否值得投入工程资源

判断:值得,但要有正确预期

值得的原因:

正确预期:

5.3 对 tradeSys 实盘的含义

核心意义:从"策略执行"升级为"策略纪律"

当前 tradeSys 解决了"做什么"(资产配置、择时信号),行为规则引擎解决"怎么做对"(避免执行层面的自我破坏)。

长期愿景:


六、实操建议

6.1 MVP 开发优先级

P0(核心功能,必须实现)

功能工作量说明
非计划交易检测4h与再平衡计划对比
基础规则引擎(3条)4hFOMO、处置效应、损失厌恶
交易日志存储2hDuckDB 基础表
飞书告警通知2h基础消息推送
P0 合计12h

P1(增强功能,建议实现)

功能工作量说明
延迟执行机制3h24h 冷静期实现
行为评分仪表盘4h月度报告自动化
规则 4-7 实现4h过度自信、锚定、确认偏误、后见之明
复盘报告生成2h亏损交易自动提醒复盘
P1 合计13h

P2(优化功能,可延后)

功能工作量说明
邮件/短信告警2h多渠道通知
交互式确认 UI4h飞书卡片按钮交互
行为预测模型8h基于历史数据预测违规风险
个性化规则调整4h根据个人行为模式动态调整阈值
P2 合计18h

总工作量:P0(12h) + P1(13h) + P2(18h) = 43h

6.2 预期工作量

阶段时间交付物
MVP v0.112h(2天)P0 功能,可拦截基本违规行为
MVP v0.525h(1周)P0+P1,完整规则覆盖,月度报告
MVP v1.043h(2周)P0+P1+P2,生产级可用

6.3 风险与应对

风险可能性影响应对策略
规则误报设置白名单机制,计划内交易自动放行;设置阈值可调参数
绕过系统心理层面:明确规则意义;技术层面:延迟执行增加绕过成本
效果不明显设定清晰的成功标准(遵守率>80%);3个月无改善则复盘调整
维护负担规则尽量静态,避免频繁调优;使用声明式配置而非硬编码
数据丢失定期备份 DuckDB 文件;关键日志双写(本地+云端)

附录:快速启动检查清单

开发前准备

开发阶段

上线前检查

上线后监控


文档结束