feat: 全面优化迭代所有文档 - 增加数据说明+计算公式+名词解释+内部链接

变更统计:
- 70个文件变更 (39个新增 + 31个修改)
- 新增 6554 行内容

优化内容:
1. 30个核心文档增加附录(数据说明/计算公式/参数表/使用场景/常见误区)
   - 第一批: 量化基础/技术指标/策略/信号/品种/数据流/回测/风控/链上/EWO
   - 第二批: AI/案例复盘/多Agent/Hyperliquid/KOL/期权/RWA/券商/BTC/主流币
   - 第三批: ETH/SOL/BNB_DOGE/XAUT/代币化美股/信号优化/tradehk系统
2. 新增38个名词解释wiki条目(Delta对冲/Gamma/Theta/Vega/IV/VaR/CVaR等)
3. 更新全局术语表索引(79个术语/12大类/知识图谱/学习路径)
4. 新增内部链接体系(wiki式交叉引用)
这个提交包含在:
Manus Quant Agent
2026-03-06 05:09:34 -05:00
父节点 ad4a73846c
当前提交 790c0eaa0a
修改 70 个文件,包含 6539 行新增126 行删除

查看文件

@@ -298,3 +298,108 @@ class SimpleBacktester:
- QuantStart. "Backtesting Systematic Trading Strategies in Python". https://www.quantstart.com/
- Backtesting.py 文档https://kernc.github.io/backtesting.py/
- BigQuant 量化平台https://bigquant.com/
---
## 附录:数据说明与补充
本文档旨在对回测方法论中的核心概念进行深化,提供更详尽的数据说明、参数参考、应用场景及常见误区,以帮助量化研究员和策略开发者建立更为严谨和科学的回测体系。
### 一、核心绩效指标数据说明
在评估策略表现时,精确理解各项绩效指标的计算细节、数据特征与来源至关重要。下表对文档中提及的关键指标进行了详细的补充说明。
| 指标名称 (Indicator) | 计算公式 (LaTeX) | 数据范围 | 单位 | 推荐精度 | 数据来源 |
| :--- | :--- | :--- | :--- | :--- | :--- |
| **夏普比率 (Sharpe Ratio)** | `\frac{E[R_p - R_f]}{\sigma_p}` | (-∞, +∞) | 无量纲 | 小数点后 2-3 位 | 策略每日或每周期收益率序列 |
| **索提诺比率 (Sortino Ratio)** | `\frac{E[R_p - R_f]}{\sigma_d}` | (-∞, +∞) | 无量纲 | 小数点后 2-3 位 | 策略每日或每周期收益率序列 |
| **卡尔玛比率 (Calmar Ratio)** | `\frac{CAGR}{|MDD|}` | (-∞, +∞) | 无量纲 | 小数点后 2-3 位 | 策略净值曲线、年化收益率 |
| **最大回撤 (Max Drawdown)** | `\max_{t \in [0,T]} \left(\frac{P(t) - V(t)}{P(t)}\right)` | [0, 1] | 百分比 (%) | 小数点后 2 位 | 策略净值曲线 (Equity Curve) |
| **风险价值 (VaR)** | `\text{Value at Risk}` | [0, +∞) | 计价货币 (如 USD) | 小数点后 2-4 位 | 策略历史收益率分布 |
| **盈亏比 (Profit/Loss Ratio)** | `\frac{\text{Avg. Profit}}{\text{Avg. Loss}}` | [0, +∞) | 无量纲 | 小数点后 2 位 | 已完成的交易记录列表 |
其中,$R_p$ 为策略收益率,$R_f$ 为[无风险利率](../../wiki/名词解释/无风险利率.md),$\sigma_p$ 为策略收益率的标准差(总波动率),$\sigma_d$ 为下行标准差(只考虑亏损日的波动率),$P(t)$ 为时间 $t$ 的历史峰值净值,$V(t)$ 为时间 $t$ 的当前净值。
### 二、回测框架参数参考
回测框架中的参数设置直接影响回测结果的准确性和可信度。以下是对 `SimpleBacktester` 及通用回测环境中的关键参数的配置建议。
| 参数名称 | 推荐值 | 取值范围 | 说明与考量 |
| :--- | :--- | :--- | :--- |
| `initial_capital` | 10,000 USD | > 1,000 | 初始资金应与实盘计划投入的资金规模相匹配,以便更真实地评估资金利用率和冲击成本。 |
| `commission` | 0.001 (0.1%) | 0.0005 - 0.002 | **必须包含滑点**。建议设为交易所 Taker 费率的 1.5-2 倍,以模拟平均成交滑点和手续费。 |
| `risk_free_rate` | 0.02 (2%) | 0.01 - 0.05 | 用于计算夏普比率等指标。可参考美国国债短期利率或主流交易所的稳定币理财利率。 |
| 样本内周期 | 2-3 年 | 1-5 年 | 训练周期应足够长以包含多种市场状态(牛、熊、震荡),但过长可能导致模型对近期市场状态不敏感。 |
| 样本外/前向测试周期 | 1 年 | 0.5-2 年 | 测试期应独立于训练期,其长度应能体现策略在未知环境下的稳定性。 |
### 三、数据格式规范
标准化的数据结构是程序化回测的基础。所有输入数据和输出结果都应遵循统一的格式规范。
**1. K线数据 (OHLCV)**
K线数据是回测的基础输入,推荐使用 Pandas DataFrame 存储,并采用统一的列名和时间戳格式。
* **数据结构**: `pandas.DataFrame`
* **索引**: `pandas.DatetimeIndex` (UTC, 毫秒级精度 `datetime64[ms]`)
* **字段定义**:
```json
[
{
"timestamp": 1672531200000, // Unix 毫秒时间戳
"open": 16500.00,
"high": 16550.50,
"low": 16480.25,
"close": 16525.75, // 价格精度要求:小数点后 2-4 位
"volume": 1250.75 // 交易量精度要求:小数点后 2-4 位
}
]
```
**2. 交易记录 (Trade Log)**
交易记录是评估策略行为和进行绩效归因的核心。建议使用对象列表或 DataFrame 进行管理。
* **数据结构**: `List[Trade]``pandas.DataFrame`
* **字段定义**:
```json
{
"trade_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef", // 唯一交易ID
"entry_time": 1672534800000, // Unix 毫秒时间戳
"exit_time": 1672542000000,
"side": "LONG", // 'LONG' or 'SHORT'
"entry_price": 16530.00,
"exit_price": 16600.50,
"size": 0.5, // 交易数量 (例如BTC)
"pnl": 34.50, // 已实现盈亏 (计价货币)
"commission_paid": 0.75, // 支付的总手续费
"reason_entry": "RSI < 30", // 开仓信号来源
"reason_exit": "Take Profit" // 平仓信号来源
}
```
### 四、量化交易应用场景
回测方法论不仅是理论,更在实际策略开发中扮演着决策依据的角色。
1. **高频套利策略的成本评估**:对于一个依赖微小价差套利的[高频交易](../../wiki/名词解释/高频交易.md)策略,回测时必须精确设置 `commission` 和滑点模型。通过在回测中模拟 0.01% 到 0.1% 的不同滑点,可以确定策略在不同流动性环境下的盈利能力边界,从而决定该策略适合在哪些交易所或交易对上运行。
2. **趋势跟踪策略的鲁棒性检验**一个基于移动均线交叉的趋势策略在2020-2021年的牛市中表现优异。为了检验其[过拟合](../../wiki/名词解释/过拟合.md)风险,研究员采用**前向测试 (Walk-Forward Analysis)**。将2018-2022年的数据划分为多个“训练-测试”窗口,发现在2019年和2022年的震荡行情中,该策略表现不佳,最大回撤超过40%。这表明策略缺乏鲁棒性,需要引入震荡行情过滤器或动态调整参数。
3. **多因子选币策略的偏差修正**:一个用于山寨币筛选的多因子模型在回测中获得了极高的夏普比率。但资深研究员怀疑其中存在**幸存者偏差**。通过引入一个包含已退市和归零币种的完整数据集进行回测,策略的年化收益率从 80% 下降到 15%,说明原有回测结果是严重失真的。这促使团队在因子选择中加入更多考虑流动性和存活周期的风险因子。
### 五、常见误区与正确理解
1. **误区:夏普比率越高越好**
* **正确理解**:极高的夏普比率(例如 > 3.0)往往是过拟合或回测错误的信号。一个稳健的策略,其夏普比率通常在 1.0 到 2.0 之间。过高的夏普比率可能源于:测试周期过短且恰逢单边行情、忽略了交易成本、或存在未来数据泄露。应优先追求一个**稳定且合理**的夏普比率,而非最高值。
2. **误区:回测时间越长,结果越可信**
* **正确理解**虽然足够长的数据周期是必要的,但并非越长越好。市场结构会随时间演变Market Regime Shift。一个在10年前有效的策略,其逻辑可能已不适应当前由算法和衍生品主导的市场。更有效的方法是采用滚动窗口的**前向测试**,确保模型能适应近期市场环境,同时在足够长的历史数据上验证其跨周期的有效性。
3. **误区:胜率是衡量策略好坏的首要标准**
* **正确理解**:胜率必须与**盈亏比**结合来看。一个胜率仅为 40% 的趋势跟踪策略,如果其盈亏比达到 3:1,其长期期望收益依然非常可观。相反,一个胜率高达 90% 的网格交易策略,可能因为一次黑天鹅事件的巨额亏损而导致账户归零。因此,[交易期望值](../../wiki/名词解释/交易期望值.md)`胜率 × 盈亏比 - (1 - 胜率)`)是比单一胜率更科学的评估标准。
4. **误区:回测代码中的 `shift(1)` 能完全避免未来数据**
* **正确理解**`shift(1)` 是避免“用未来信息指导当前决策”的基础操作,但它无法防止更隐蔽的未来数据泄露。例如,在进行因子标准化Z-Score时,如果使用了整个数据集的均值和标准差,那么在回测的每一个时间点,实际上都隐式地包含了未来的数据信息。正确的做法是在每个时间点,只使用**截至该时间点**的历史数据来计算均值和标准差。