refactor(pre-alpha): align preview and runtime fixture validation

This commit is contained in:
Bu5hm4nn
2026-03-26 12:11:45 +01:00
parent 68275c4d18
commit 18fd0681ca
4 changed files with 79 additions and 21 deletions

View File

@@ -68,9 +68,8 @@ class BacktestPageService:
template_service=self.template_service,
provider=None,
)
if backtest_service is None:
provider = self.backtest_service.provider
provider.source = DeterministicBacktestFixtureSource()
provider = self.backtest_service.provider
provider.source = DeterministicBacktestFixtureSource()
def template_options(self, symbol: str = "GLD") -> list[dict[str, str | int]]:
return [
@@ -122,11 +121,13 @@ class BacktestPageService:
raise ValueError("Template selection is required")
self.template_service.get_template(template_slug)
resolved_entry_spot = (
entry_spot if entry_spot is not None else self.derive_entry_spot(normalized_symbol, start_date, end_date)
)
_validate_initial_collateral(underlying_units, resolved_entry_spot, loan_amount)
return resolved_entry_spot
derived_entry_spot = self.derive_entry_spot(normalized_symbol, start_date, end_date)
if entry_spot is not None and entry_spot != derived_entry_spot:
raise ValueError(
f"Supplied entry spot ${entry_spot:,.2f} does not match derived historical entry spot ${derived_entry_spot:,.2f}"
)
_validate_initial_collateral(underlying_units, derived_entry_spot, loan_amount)
return derived_entry_spot
def run_read_only_scenario(
self,