# NSPS 周K线量化交易系统 — Feature Design

> Version: 1.0
> Created: 2026-07-30
> Author: Hao + Alca
> Status: Draft

---

## 一、产品愿景

**一句话**:NSPS周K线量化交易系统是一个独立模块,通过周线级别的量化分析、概率决策和风险管理,实现低频、高纪律、高期望值的交易。

**核心理念**(来自Hao):
> "市场不会持续奖励'预测正确'的人,而更容易长期奖励那些能够在不确定性中做好量化分析以及概率决策和风险管理的人。"

**设计哲学**:
- 预测是"主观的幻觉",概率是"客观的数学"
- 不是每天都要交易,而是等待"高概率+高赔率"的机会
- 从"凭直觉操作"转向"凭系统操作"
- 真正的赚钱机器,不是一个天才的预测者,而是一个严格执行概率制度的机器人

---

## 二、核心功能

### F1: 周K线量化分析 (`weekly_kline_quant.py`)

**目标**:用周线级别数据过滤日K线噪音,识别真正的趋势和信号。

#### F1.1 周线形态识别
| 形态 | 定义 | 信号 |
|------|------|------|
| 周线锤子线 | 下影线 > 实体×2 | 底部反转 |
| 周线吞没 | 本周阳线完全包住上周阴线 | 强烈反转 |
| 周线早晨之星 | 3周形态:阴→十字星→阳 | 强烈底部 |
| 周线三连阳+放量 | 连续3周阳线且周成交量递增 | 趋势确认 |
| 周线长上影 | 上影线 > 实体×3 | 顶部警告 |

#### F1.2 周线技术指标
| 指标 | 计算方式 | 用法 |
|------|----------|------|
| 周线MACD | 12/26/9 EMA | 金叉=买入,死叉=卖出 |
| 周线RSI | 14周RSI | <30超卖,>70超买 |
| 周线布林带 | 20周MA ± 2σ | 突破上轨+放量=强势 |
| 周线MA排列 | 5/10/20/50周MA | 多头排列=强势 |
| 50周MA趋势 | 50周MA斜率 | 斜率>0=上升趋势 |

#### F1.3 周线波浪位置
- 用周线判断Elliott波浪阶段
- 1浪:长期横盘后首次放量突破
- 2浪:回调到1浪的50%,成交量萎缩(地量)
- 3浪:主升浪,涨幅最大,成交量最大
- 4浪:回调到3浪的38.2%
- 5浪:最后一冲,通常有背离

#### F1.4 周线支撑/阻力
- 过去52周高低点画关键位
- 周线突破阻力 = 强烈买入信号
- 周线跌破支撑 = 强烈卖出信号
- Fibonacci回撤位:38.2%, 50%, 61.8%

---

### F2: 概率决策引擎 (`probability_engine.py`)

**目标**:不追求"每次都猜对",追求"长期期望值为正"。

#### F2.1 历史胜率统计
- 回测过去10年数据(1300万行TimescaleDB)
- 统计各种形态/指标组合的历史胜率
- 自动更新:每周日重新计算

#### F2.2 期望值计算
```
E[收益] = 胜率 × 平均盈利 - (1-胜率) × 平均亏损

示例:
- 胜率=68%,平均盈利=+15%,平均亏损=-8%
- E = 0.68×15 - 0.32×8 = +7.64%
- 期望值为正 → 值得交易
```

#### F2.3 凯利公式(最优仓位)
```
最优仓位 = (胜率×赔率 - 1) / (赔率 - 1)
实际用半凯利(更安全)

示例:
- 胜率=68%,赔率=15/8=1.875
- 凯利 = (0.68×1.875-1)/(1.875-1) = 31.4%
- 半凯利 = 15.7%
```

#### F2.4 风险预算(1%原则)
```
铁律:单笔风险 ≤ 总资金的1%

max_risk = total_capital × 0.01
position_size = max_risk / (entry_price - stop_loss)

示例:
- 总资金100万,单笔最大亏损1万
- 止损位-10% → 最多买入10万
```

#### F2.5 相对强度排名(RS)
- 用过去26周的涨幅做全市场排名
- RS前10% = 领头羊候选
- 核心:不是跟大盘比,是跟全市场所有股票比

---

### F3: 耐心交易系统 (`patient_trading_system.py`)

**目标**:不是每天都要交易,而是等待"高概率+高赔率"的机会。

#### F3.1 量化筛选清单(替代主观预测)
```
指标A:股价位于50周均线之上 且 趋势向上
指标B:相对强度(RS)处于全市场前10%
指标C:季度营收增长率 > 20%
结论:只有同时满足A+B+C才进入观察名单
```

#### F3.2 观察名单(Watch List)
- 周线级别筛选出的候选股
- 不急于交易,先观察1-2周
- 记录每只股票的"触发条件"
- 每周日更新一次

#### F3.3 触发条件(多因子共振)
至少3个条件同时满足才交易:
1. 周线形态:锤子线/吞没/早晨之星
2. 周线指标:MACD金叉 + RSI<50
3. 周线波浪:处于2浪末期或3浪初期
4. 周线成交量:放量突破
5. 周线支撑/阻力:突破关键阻力位

#### F3.4 动态仓位管理(金字塔加仓法)
```
第1周:试探仓(25%仓位)→ 确认周线突破
第2-3周:如果盈利 → 加仓仓(再加25%)→ 回调到MA10不破
第4-6周:如果继续盈利 → 锁定仓(再加25%)→ 趋势确认
铁律:永远不在亏损头寸上加仓!
```

#### F3.5 交易频率限制
- 每周最多交易2次
- 避免过度交易(手续费+滑点会吃掉利润)
- 如果没有好机会,就不交易

---

### F4: CLFA策略闭环

**目标**:CLFA不仅修代码bug,还修策略bug。

#### F4.1 交易记录
每笔交易记录6个数据点:
- 入场价、止损价、目标价
- 实际出场价、持有周数、结果

#### F4.2 每周自动回测
每周日自动回测最近50笔:
- 胜率<40%?→ 自动收紧入场条件
- 盈亏比<1.5?→ 自动调整止损/止盈
- 某个形态连续失败3次?→ 自动降权

#### F4.3 策略参数自适应
- 根据市场状态(趋势市/震荡市/恐慌市)自动调整参数
- 趋势市:放宽入场条件,加大仓位
- 震荡市:收紧入场条件,减小仓位
- 恐慌市:暂停交易,等待明确信号

---

## 三、操作流程

```
筛选期(每周一次)
  ↓ 扫描全市场 → 量化指标寻找领头羊 → 放入周K线观察名单
等待期(耐心)
  ↓ 等待回调至关键支撑位,或突破关键平台
执行期(果断)
  ↓ 设定止损点 → 根据1%风险原则计算仓位 → 买入
管理期(客观)
  ↓ 只要周线趋势未坏且未触及止损,忽略日线波动
  ↓ 记录每笔交易数据 → 优化系统
```

**周K线定方向 → 日K线找买点 → 持仓陪伴周线级别上涨**

---

## 四、数据源

| 数据 | 来源 | 频率 |
|------|------|------|
| 周线OHLCV | TimescaleDB (prices/prices_cn) | 每周 |
| 财务数据 | MX API / TTFUND API | 每季度 |
| 板块数据 | TimescaleDB | 每周 |
| 新闻催化剂 | MX Search | 实时 |

---

## 五、独立性原则

- **独立模块**:不影响现有NSPS日K线系统
- **渐进集成**:可以先测试一部分,步步为营
- **向后兼容**:现有Pipeline继续运行
- **数据共享**:共用TimescaleDB,不重复存储

---

## 六、参考理论

| 大师 | 核心方法 | 我们的实现 |
|------|----------|-----------|
| 威廉奥奈尔 (CANSLIM) | RS排名+基本面+杯柄形态 | F2.5 RS排名 + F3.1量化筛选 |
| 马克米勒维尼 | 周线趋势跟踪 | F1 周K线分析 |
| 尼古拉斯达瓦斯 | 箱体突破+止损 | F1.4支撑阻力 + F2.4风险预算 |
| 拉尔夫文斯 | 凯利公式+最优仓位 | F2.3凯利公式 |

---

*Last updated: 2026-07-30 14:46 PT*