temporalcv Documentation¶
Temporal cross-validation with leakage protection for time-series ML.
temporalcv provides rigorous validation tools for time-series forecasting, including:
Validation gates for detecting data leakage
Walk-forward cross-validation with gap enforcement
Statistical tests (Diebold-Mariano, Pesaran-Timmermann)
High-persistence handling (MC-SS, move thresholds)
Regime classification (volatility, direction)
Conformal prediction intervals with coverage guarantees
Time-series-aware bagging with bootstrap strategies
Quick Example¶
from temporalcv import run_gates, WalkForwardCV
from temporalcv.gates import gate_signal_verification
# Run signal verification gate
# Note: n_shuffles>=100 required for statistical power in permutation mode
gate_result = gate_signal_verification(my_model, X, y, n_shuffles=100)
report = run_gates([gate_result])
if report.status == "HALT":
raise ValueError(f"Signal detected — investigate: {report.failures}")
# Move-conditional metrics for high-persistence series
from temporalcv import compute_move_threshold, compute_move_conditional_metrics
threshold = compute_move_threshold(train_actuals) # From training only!
mc = compute_move_conditional_metrics(predictions, actuals, threshold=threshold)
print(f"MC-SS: {mc.skill_score:.3f}")
Installation¶
pip install temporalcv
# With all optional dependencies
pip install temporalcv[all]
Getting Started
- Quickstart Guide
- Why Time Series Is Different
- The Problem You Didn’t Know You Had
- Why Shuffling Breaks Everything
- The Solution: Walk-Forward Validation
- The Gap Parameter: Your Horizon Matters
- Beyond Cross-Validation: Validation Gates
- Quick Comparison: Standard ML vs Time Series
- Common Mistakes (and How temporalcv Catches Them)
- Next Steps
- References
- Common Pitfalls and Best Practices
- Pitfall #1: Using KFold on Time Series
- Pitfall #2: Rolling Features Without Shift
- Pitfall #3: Normalizing on Full Dataset
- Pitfall #4: Computing Thresholds on All Data
- Pitfall #5: Insufficient Gap for Multi-Step Forecasting
- Pitfall #6: Trusting MAE on High-Persistence Series
- Pitfall #7: Using center=True for Rolling Windows
- Pitfall #8: GroupBy Transform Including Test Data
- Summary: Validation Gate Coverage
- Running All Gates
- Next Steps
- Algorithm Decision Tree
Examples Gallery
Tutorials
API Guides
- API Reference: Validation Gates
- Guardrails
- API Reference: Walk-Forward Cross-Validation
- Financial Cross-Validation
- API Reference: Statistical Tests
- Stationarity Tests
- Lag Selection
- API Reference: Conformal Prediction
- API Reference: High-Persistence Metrics
- API Reference: Regime Classification
- API Reference: Time Series Bagging
- Diagnostics
- Changepoint Detection
- Inference
- API Reference: Metrics
- Benchmarks
- Model Comparison
- Visualization Module
Reference