---
id: gh-backtesting-frameworks
name: "backtesting-frameworks"
url: https://skills.yangsir.net/skill/gh-backtesting-frameworks
author: wshobson
domain: investment
tags: ["backtesting", "trading", "strategies", "algorithmic-trading", "quantitative-finance"]
install_count: 16600
rating: 4.60 (120 reviews)
github: https://github.com/wshobson/agents/tree/main/plugins/quantitative-trading/skills/backtesting-frameworks
---

# backtesting-frameworks

> 构建稳健的交易策略回测系统，有效处理前瞻性偏差、幸存者偏差和交易成本。适用于开发交易算法、验证策略或搭建回测基础设施，确保策略性能评估的可靠性。

**Stats**: 16,600 installs · 4.6/5 (120 reviews)

## Before / After 对比

### 提高回测结果可靠性

**Before**:

传统回测方法常因前瞻性偏差、幸存者偏差等问题，导致大量策略被错误地评估为盈利，浪费了宝贵的开发和部署资源。

**After**:

采用本技能构建的回测系统，能有效识别并规避常见偏差，显著降低错误策略的识别率，确保策略评估的准确性和可靠性。

| Metric | Before | After | Change |
|---|---|---|---|
| 错误盈利策略识别率 | 50% | 10% | -80% |

## Readme

# Backtesting Frameworks

Build robust, production-grade backtesting systems that avoid common pitfalls and produce reliable strategy performance estimates.

## When to Use This Skill

- Developing trading strategy backtests
- Building backtesting infrastructure
- Validating strategy performance
- Avoiding common backtesting biases
- Implementing walk-forward analysis
- Comparing strategy alternatives

## Core Concepts

### 1. Backtesting Biases

| Bias             | Description               | Mitigation              |
| ---------------- | ------------------------- | ----------------------- |
| **Look-ahead**   | Using future information  | Point-in-time data      |
| **Survivorship** | Only testing on survivors | Use delisted securities |
| **Overfitting**  | Curve-fitting to history  | Out-of-sample testing   |
| **Selection**    | Cherry-picking strategies | Pre-registration        |
| **Transaction**  | Ignoring trading costs    | Realistic cost models   |

### 2. Proper Backtest Structure

```
Historical Data
      │
      ▼
┌─────────────────────────────────────────┐
│              Training Set               │
│  (Strategy Development & Optimization)  │
└─────────────────────────────────────────┘
      │
      ▼
┌─────────────────────────────────────────┐
│             Validation Set              │
│  (Parameter Selection, No Peeking)      │
└─────────────────────────────────────────┘
      │
      ▼
┌─────────────────────────────────────────┐
│               Test Set                  │
│  (Final Performance Evaluation)         │
└─────────────────────────────────────────┘
```

### 3. Walk-Forward Analysis

```
Window 1: [Train──────][Test]
Window 2:     [Train──────][Test]
Window 3:         [Train──────][Test]
Window 4:             [Train──────][Test]
                                     ─────▶ Time
```

## Detailed worked examples and patterns

Detailed sections (starting with `## Implementation Patterns`) live in `references/details.md`. Read that file when the navigation summary above is insufficient.

## Best Practices

### Do's

- **Use point-in-time data** - Avoid look-ahead bias
- **Include transaction costs** - Realistic estimates
- **Test out-of-sample** - Always reserve data
- **Use walk-forward** - Not just train/test
- **Monte Carlo analysis** - Understand uncertainty

### Don'ts

- **Don't overfit** - Limit parameters
- **Don't ignore survivorship** - Include delisted
- **Don't use adjusted data carelessly** - Understand adjustments
- **Don't optimize on full history** - Reserve test set
- **Don't ignore capacity** - Market impact matters


---
*Source: https://skills.yangsir.net/skill/gh-backtesting-frameworks*
*Markdown mirror: https://skills.yangsir.net/api/skill/gh-backtesting-frameworks/markdown*