fix(pre-alpha): preserve injected provider identity
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from copy import copy
|
||||
from dataclasses import dataclass
|
||||
from datetime import date
|
||||
from math import isclose
|
||||
|
||||
from app.backtesting.engine import SyntheticBacktestEngine
|
||||
from app.domain.backtesting_math import materialize_backtest_portfolio_state
|
||||
from app.models.backtest import (
|
||||
BacktestRunResult,
|
||||
@@ -102,10 +104,10 @@ class BacktestPageService:
|
||||
)
|
||||
self.template_service = template_service or base_service.template_service
|
||||
fixture_provider = FixtureBoundHistoricalProvider(base_service.provider)
|
||||
self.backtest_service = BacktestService(
|
||||
provider=fixture_provider,
|
||||
template_service=self.template_service,
|
||||
)
|
||||
self.backtest_service = copy(base_service)
|
||||
self.backtest_service.provider = fixture_provider
|
||||
self.backtest_service.template_service = self.template_service
|
||||
self.backtest_service.engine = SyntheticBacktestEngine(fixture_provider)
|
||||
|
||||
def template_options(self, symbol: str = "GLD") -> list[dict[str, str | int]]:
|
||||
return [
|
||||
@@ -209,7 +211,10 @@ class BacktestPageService:
|
||||
end_date=end_date,
|
||||
initial_portfolio=initial_portfolio,
|
||||
template_refs=(TemplateRef(slug=template.slug, version=template.version),),
|
||||
provider_ref=ProviderRef(provider_id="synthetic_v1", pricing_mode="synthetic_bs_mid"),
|
||||
provider_ref=ProviderRef(
|
||||
provider_id=self.backtest_service.provider.provider_id,
|
||||
pricing_mode=self.backtest_service.provider.pricing_mode,
|
||||
),
|
||||
)
|
||||
return BacktestPageRunResult(
|
||||
scenario=scenario,
|
||||
|
||||
Reference in New Issue
Block a user