"""Single-factor D48 experiment: tighten the account stop from 5.0% to 4.5%."""

from __future__ import annotations

import sys
from pathlib import Path


VOLATILITY_STRATEGY_DIR = Path(__file__).resolve().parents[1] / "volatility_breakout"
if str(VOLATILITY_STRATEGY_DIR) not in sys.path:
    sys.path.insert(0, str(VOLATILITY_STRATEGY_DIR))

from v5_d48_riskcap import VolatilityBreakoutRiskCap  # noqa: E402


class VolatilityBreakoutStop45Baseline(VolatilityBreakoutRiskCap):
    """Unchanged production RiskCap strategy for matched comparison."""

    def version(self) -> str:
        return "research-d48-riskcap-stop50-baseline"


class VolatilityBreakoutStop45V1(VolatilityBreakoutRiskCap):
    """Use a 4.5% account stop; RiskCap sizing follows the inherited stop value."""

    stoploss = -0.045

    def version(self) -> str:
        return "research-d48-riskcap-stop45-v1"
