Skip to content

turtle_quant_1.backtesting.main

turtle_quant_1.backtesting.main

Main entry point for backtesting.

This script contains custom backtesting test cases to verify the backtesting engine. For implementation details, see runner.py.

create_test_cases

create_test_cases() -> List[BacktestingTestCase]

Create predefined test cases for backtesting.

Source code in src/turtle_quant_1/backtesting/main.py
def create_test_cases() -> List[BacktestingTestCase]:
    """Create predefined test cases for backtesting."""
    test_cases = []

    # Test Case 1: Standard backtesting with moderate capital
    # pyrefly: ignore
    strategies = [strategy_type() for strategy_type in BaseStrategy.__subclasses__()]
    logger.info(
        f"Found {len(strategies)} strategies: {[type(strategy).__name__ for strategy in strategies]}"
    )

    weights = {}

    strategy_engine = WeightedMeanStrategyEngine(
        strategies=strategies,
        weights=weights,
        buy_unit_threshold=0.2,
        sell_threshold=-0.2,
    )

    test_cases.append(
        BacktestingTestCase(
            name="default",
            description="Standard backtesting with $10,000 initial capital",
            strategy_engine=strategy_engine,
            initial_capital=10000.0,
        )
    )

    return test_cases