# Code Review Finance

> Code Review (Finance-Aware)

- Skill: `lisonevf/code-review-finance` (Agent Skill)
- Install (CLI): `npx skillmds@latest add lisonevf/code-review-finance`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lisonevf/code-review-finance/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: lisonevf (https://skillmd.com/u/lisonevf)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/lisonevf/code-review-finance

---


# Code Review (Finance-Aware)

Reviews code for financial-domain-specific correctness issues beyond general code quality.

## Real Code Reference

- `tradinglearn/strategies/macd_strategy.py` — `generate_signals()` uses `.shift()` to prevent lookahead; verify this is correct
- `tradinglearn/backtest/backtester.py` — `run_backtest()` iterates bars sequentially; verify order
- `tradinglearn/pytdx2/backtest.py` — `BacktestEngine` has its own execution loop; check for data leakage between train/test

## What to Check

- **Lookahead bias**: verify no future data used in signal calculation (`.shift(1)` is correct, raw access is suspicious)
- **Data leakage**: train/test split must be temporal, not random — `data[:split_date]` train, `data[split_date:]` test
- **Decimal handling**: prices in cents vs yuan — K-line returns /1000, quotes return /100
- **Survivorship bias**: delisted stocks must be in historical universes
- **Overfitting**: parameter count vs data points ratio, out-of-sample validation
- **Transaction costs**: commission rate, slippage assumptions must be realistic
- **Bid/ask spread**: execution at mid-price is unrealistic for illiquid stocks
- **Dividend handling**: total return should include dividends

## Review Process

1. Read strategy logic, understand the core idea
2. Trace data flow from raw prices → indicators → signals → trades
3. Check temporal integrity — no peeking into future at any step
4. Verify metric formulas against standard definitions
5. Assess overfitting risk from parameter count and search space
6. Report findings: **critical** / **warning** / **suggestion**

