---
title: "MOC-AlphaGPT择时框架"
tags: [MOC, AlphaGPT, 择时, 因子挖掘]
date: 2026-07-21
---

# AlphaGPT 期货择时因子挖掘 · 架构地图

> 用一个**小型 GPT(Transformer)自动"写"择时因子公式**,把公式在真实行情上
> **回测打分**,再用**强化学习(REINFORCE)**根据分数迭代,让模型越写越好。
> 最终产出一条用**用户自己的列名**写成、经过**样本外验证**的择时公式。

这份 MOC 是学习/讲课的入口。先读本页建立整体图景,再按链路顺序下钻到每个知识点笔记。

---

## 一句话内核

```
采样公式(Transformer) → 执行公式(栈式虚拟机VM) → 回测打分(仓位+夏普) → 策略梯度更新 → 循环
```

这条闭环里,**公式是"基因"**(一串离散 token),模型学的是"如何写出高分基因"。
与传统"喂特征进 XGBoost/LSTM 出预测"的黑箱路线最大的区别:**产出的不是黑箱预测,
是一条能读的公式**。这是符号回归相对黑箱模型的核心卖点。 ^核心区别

---

## 三层架构

```
第3层 用户接口   demo notebook: 喂 DataFrame + feature_cols → 得到一条公式
                   │
第2层 择时适配层  timing_adapter/  针对「自定义DataFrame + 期货缺失值」适配
                   │  复用底层
第1层 通用引擎    model_core/  场景无关的算子库/词表/虚拟机/回测器/策略网络
```

**关键理解**:`model_core` 原本为「A股选股」写的通用引擎;`timing_adapter` 是薄适配层,
让同一套引擎能吃「期货 + 用户任意特征列」。适配层**复用**最底层组件(算子库、回测器),
**重写**与数据形态强相关的组件(数据加载、词表、虚拟机)。 ^三层架构

---

## 端到端数据流(一次挖掘的完整生命周期)

```
[用户 DataFrame]  date | instrument | 行情/自算因子列
      │ ① 数据加载: 长表 → 魔方张量 [N品种,F特征,T时间]
      ▼
[feat_tensor] [target_ret未来收益] [valid_mask可交易真相]
      │ ② 动态词表: 特征列 → token 编号
      ▼
[VM 虚拟机] 按后缀公式在魔方上执行 → 因子值
      │ ③ walk-forward 切窗
      ▼
[RL 训练循环]
   ┌────────────────────────────────────────┐
   │ a. Transformer 采样公式(action_mask保证合法) │
   │ b. VM 执行 → 因子值                        │
   │ c. 回测: 因子→仓位→扣成本→夏普 = 分数        │
   │ d. reward = 各 OOS 窗夏普均值 - 复杂度惩罚    │
   │ e. REINFORCE 策略梯度更新 Transformer       │
   └────────────────────────────────────────┘
      │ ④ 产出
      ▼
[最优公式 + OOS分 + 因子池]
      │ ⑤ 应用/可解释性
      ▼
[因子值/仓位] + [因子归类:是不是经典因子换皮]
```

---

## 知识点索引(按链路顺序,逐个展开)

沿着上面的数据流,每一环都有一篇单独的知识点笔记:

1. [[概念-AlphaGPT-数据加载与期货缺失值处理]] — 长表 DataFrame 怎么变成 `[N,F,T]` 魔方张量;`valid_mask` 如何记录期货非永续品种的"可交易真相",为什么绝不 `fillna(0)`
2. [[概念-AlphaGPT-动态词表]] — 特征列名如何现场编号成 token;`operator_offset` 这根分界轴;为什么"动态"是相对"写死"
3. [[概念-AlphaGPT-后缀表达式与栈式虚拟机]] — 公式为什么写成后缀式(RPN);虚拟机如何用"栈+卡片"执行公式;NaN 怎么清洗
4. [[概念-AlphaGPT-公式生成器与合法性掩码]] — Transformer 如何"接龙"逐 token 写公式;`action_mask` 裁判如何保证不写出病句
5. [[概念-AlphaGPT-回测评分与仓位映射]] — 因子值 → 仓位(tanh/threshold 四组合)→ 扣成本 → 夏普 → 聚合成一个分数
6. [[概念-AlphaGPT-REINFORCE训练闭环]] — 分数(指挥棒)如何反过来更新模型:策略梯度、advantage 标准化
7. [[概念-AlphaGPT-walk-forward样本外验证]] — 只认 OOS、IS/OOS gap 的实盘意义、为什么防过拟合是行家最挑剔的点
8. [[概念-AlphaGPT-因子可解释性]] — 符号公式的天然白盒;复杂度惩罚(惩罚嵌套深度而非长度);因子归类(是不是动量换皮)
9. [[概念-AlphaGPT-择时框架的频率无关设计]] — 元认知:内核只认"K线序号",与日频/分钟频无关;频率只是解读层的翻译

---

## 讲课/学习建议

给**熟悉量化**的听众讲这套框架,重点次序:
- **核心机制(3、4)**是最独特、最该花时间的部分 — 大多数人对"ML挖因子"的印象停留在黑箱,要突出"我产出的是可读公式"
- **防过拟合(7)**是行家的试金石 — 讲透 walk-forward/OOS/复杂度惩罚,立刻建立信任
- **可解释性(8)**是差异化卖点 — "挖完还能自查是不是换皮"很多人没做过
- 诚实讲局限反而加分:REINFORCE 无 baseline、夏普年化因子的频率假设等

方法论参见 [[方法论-以讲促学-期货CTA课程学习路径设计]](讲课是学习杠杆的元认知)。


