① 数据层
Data Layer
已接入
幻方公开宣传累计 10PB+ 历史 + 另类数据。个人版起步够用就行:Yahoo 日线、SEC 13F/Form4、FRED 宏观,期权链已接 Polygon/Yahoo fallback。
- Yahoo Finance 日 K(免费)
- SEC EDGAR 13F + Form 4(已在 /market 接入)
- FRED 宏观(利率、收益率曲线、CPI)
- 期权链(Polygon / Yahoo fallback)
QUANT TRADING · v0.1
借鉴公开的幻方量化(High-Flyer)分层架构 — 数据、信号、回测、风控四层堆起来。我们复刻不了几百号人 + 自建超算 + 十年数据, 但能把同样的架构骨架缩到一个美股交易者能用的规模。
入门 · 一句话讲清楚
因子 = 你认为能解释或预测股价未来涨跌的变量。 机器学习里叫 feature,量化里叫 factor,是一个东西。给每只股票算一个因子分数,把分数最高的一批拿出来做多、最低的一批避开,这就是横截面量化最朴素的玩法。
举个最简单的例子 · 20日动量因子
// 一个真实因子,就这么简单: const momentum_20d = close[今] / close[20天前] - 1; // 横截面打分: universe.forEach(t => t.score = z_score(t.momentum_20d)); // 排前 10% 做多,排后 10% 做空。
这个因子假设「过去 20 天涨得越猛,未来 5 天越可能继续涨」。我们把它跑遍全 universe, 打分排名,然后用历史数据回测一下:这个假设过去十年成立过吗?最大回撤多少? — 这就是量化研究的最小闭环。
常见因子家族
顶级量化公司在做的事:找别人没发现的因子,或者比别人更快算出来。
系统架构 · 四层
和真实系统化基金的形状一样。前三层全部跑在这个仓库里;最上面那层(broker 下单)复用 /trade 已有的 IBKR / Alpaca 接线。
Data Layer
已接入
幻方公开宣传累计 10PB+ 历史 + 另类数据。个人版起步够用就行:Yahoo 日线、SEC 13F/Form4、FRED 宏观,期权链已接 Polygon/Yahoo fallback。
Factor / Signal Layer
已接入
幻方走深度学习 + 多频策略矩阵,alpha 模型不公开。个人版要透明:动量、均值回归、趋势、波动、资金流、价值、质量 — 每个因子都能在代码里看到公式。
Backtest Layer
已接入
没回测过就不能上实盘。Bar-by-bar 走查,无 look-ahead;手续费 + 滑点都建模;用 buy & hold 做基准对比。
Risk / Execution Layer
部分接入
散户最爱跳过、却最致命的一层。先把规则写死再聊执行;上实盘前先 paper trade。
因子总表 · 全部公开
每个因子都有公式、方向、数据源、当前权重。 想换权重直接改 lib/quant/factors.ts 里的 QUANT_DEFAULT_WEIGHTS。
| 因子 | 公式 / 定义 | 方向 | 权重 | 状态 |
|---|---|---|---|---|
12-1月动量 momentum_12_1 | close[-21] / close[-252] - 1 | 高分看多 | +0.22 | 已接入 |
3月动量 momentum_3m | close[今] / close[63天前] - 1 | 高分看多 | +0.12 | 已接入 |
1月动量 momentum_1m | close[今] / close[21天前] - 1 | 高分看多 | +0.08 | 已接入 |
60日上涨比例 momentum_consistency_60 | 过去60交易日中收阳线的比例 | 高分看多 | +0.08 | 已接入 |
| 因子 | 公式 / 定义 | 方向 | 权重 | 状态 |
|---|---|---|---|---|
5日反向 meanReversion_5d | -(close[今] / close[5天前] - 1) | 高分看多 | +0.08 | 已接入 |
| 因子 | 公式 / 定义 | 方向 | 权重 | 状态 |
|---|---|---|---|---|
SMA50/200 趋势 trend_sma50_200 | SMA50 / SMA200 - 1 | 高分看多 | +0.16 | 已接入 |
52周高位距离 gap_from_52w_high | close[今] / max(close[过去252天]) | 高分看多 | +0.06 | 已接入 |
RSI(14) rsi14 | 14日相对强弱指标 | 高分看空 | -0.04 | 已接入 |
| 因子 | 公式 / 定义 | 方向 | 权重 | 状态 |
|---|---|---|---|---|
20日年化波动 vol_realized_20 | stdev(log returns, 20d) × √252 | 高分看空 | -0.08 | 已接入 |
波动扩张 20/60 vol_zscore_20_60 | vol_20d / vol_60d - 1 | 高分看空 | -0.04 | 已接入 |
| 因子 | 公式 / 定义 | 方向 | 权重 | 状态 |
|---|---|---|---|---|
流动性 log10$V liquidity_dollar_vol | log10(20日均成交额, 美元) | 高分看多 | +0.06 | 已接入 |
5/30 成交异动 volume_surge_5_30 | 5日均成交 / 30日均成交 - 1 | 高分看多 | +0.08 | 已接入 |
| 因子 | 公式 / 定义 | 方向 | 权重 | 状态 |
|---|---|---|---|---|
盈利收益率 1/PE value_earningsYield | 1 / trailingPE(仅正值) | 高分看多 | +0.08 | 已接入 |
| 因子 | 公式 / 定义 | 方向 | 权重 | 状态 |
|---|---|---|---|---|
净利润率 quality_profitMargin | profitMargin (TTM) | 高分看多 | +0.04 | 数据待接入 |
技术栈对照
| 层 | 幻方(公开信息) | 本仓库 |
|---|---|---|
| 算力 | 自建萤火 GPU 集群(也喂 DeepSeek) | 单台 Node.js / Vercel runtime |
| 数据 | 10PB+ 历史 + 另类数据 | 按需 Yahoo + SEC + FRED fetch |
| 模型 | 深度学习多频策略矩阵 | 透明因子栈 + 规则策略 |
| 语言 | C++ / Python / CUDA | 纯 TypeScript,确定性 JS 数学 |
| 执行 | 自营直连低延迟 | 复用 /trade 的券商接线 |
| 频率 | 高频 + 中频 + 低频混合 | 只做日线 swing(1d–1mo) |
老实写下来的约束