fix(CORE-002C): align historical units with workspace weight
This commit is contained in:
@@ -9,9 +9,11 @@ from app.domain.backtesting_math import (
|
||||
PricePerAsset,
|
||||
asset_quantity_from_floats,
|
||||
asset_quantity_from_money,
|
||||
asset_quantity_from_workspace_config,
|
||||
materialize_backtest_portfolio_state,
|
||||
)
|
||||
from app.domain.units import BaseCurrency, Money
|
||||
from app.models.portfolio import PortfolioConfig
|
||||
from app.services.backtesting.comparison import EventComparisonService
|
||||
from app.services.backtesting.historical_provider import SyntheticHistoricalProvider
|
||||
from app.services.event_comparison_ui import EventComparisonFixtureHistoricalPriceSource
|
||||
@@ -47,6 +49,20 @@ def test_asset_quantity_from_floats_matches_workspace_backtest_conversion() -> N
|
||||
assert asset_quantity_from_floats(968000.0, 100.0, "GLD") == 9680.0
|
||||
|
||||
|
||||
def test_asset_quantity_from_workspace_config_uses_instrument_weight_conversion_for_gld() -> None:
|
||||
config = PortfolioConfig(
|
||||
gold_ounces=220.0,
|
||||
entry_price=4400.0,
|
||||
entry_basis_mode="weight",
|
||||
loan_amount=222000.0,
|
||||
margin_threshold=0.80,
|
||||
)
|
||||
|
||||
quantity = asset_quantity_from_workspace_config(config, entry_spot=100.0, symbol="GLD")
|
||||
|
||||
assert quantity == 2200.0
|
||||
|
||||
|
||||
def test_materialize_backtest_portfolio_state_uses_typed_asset_boundary() -> None:
|
||||
portfolio = materialize_backtest_portfolio_state(
|
||||
symbol="GLD",
|
||||
|
||||
Reference in New Issue
Block a user