84 lines
2.8 KiB
YAML
84 lines
2.8 KiB
YAML
formula_id: WBS_10_DOTNET_PARITY_CONTRACT_V1
|
|
owner: QuantEngine
|
|
status: draft
|
|
source_of_truth:
|
|
- src/dotnet/QuantEngine.Core/Domain/FormulaEngine.cs
|
|
- src/dotnet/QuantEngine.Core/Domain/ExitDecisions.cs
|
|
- src/dotnet/QuantEngine.Core/Domain/FactorCalculator.cs
|
|
- src/dotnet/QuantEngine.Core.Tests/FormulaEngineTests.cs
|
|
- src/dotnet/QuantEngine.Core.Tests/FactorCalculatorTests.cs
|
|
- src/dotnet/QuantEngine.Core.Tests/ParityTests/DomainParityTests.cs
|
|
|
|
goal: "Python reference와 .NET domain 결과를 데이터 기반 parity 계약으로 고정한다."
|
|
|
|
targets:
|
|
- target_id: formula_engine_timing
|
|
symbol: FormulaEngine.ComputeTimingDecision
|
|
tolerance:
|
|
numeric: 0
|
|
text: exact
|
|
evidence:
|
|
- src/dotnet/QuantEngine.Core.Tests/FormulaEngineTests.cs
|
|
- src/dotnet/QuantEngine.Core.Tests/ParityTests/DomainParityTests.cs
|
|
pass_condition: "timing action/reason이 reference와 동일"
|
|
|
|
- target_id: formula_engine_sell
|
|
symbol: FormulaEngine.ComputeSellDecision
|
|
tolerance:
|
|
numeric: 0
|
|
text: exact
|
|
evidence:
|
|
- src/dotnet/QuantEngine.Core.Tests/FormulaEngineTests.cs
|
|
- src/dotnet/QuantEngine.Core.Tests/ParityTests/DomainParityTests.cs
|
|
pass_condition: "sell action/ratio/validation이 reference와 동일"
|
|
|
|
- target_id: formula_engine_final
|
|
symbol: FormulaEngine.ComputeFinalDecision
|
|
tolerance:
|
|
numeric: 0
|
|
text: exact
|
|
evidence:
|
|
- src/dotnet/QuantEngine.Core.Tests/FormulaEngineTests.cs
|
|
- src/dotnet/QuantEngine.Core.Tests/ParityTests/DomainParityTests.cs
|
|
pass_condition: "final action/priority/source가 reference와 동일"
|
|
|
|
- target_id: exit_stop_price
|
|
symbol: ExitDecisions.ComputeStopPriceCore
|
|
tolerance:
|
|
numeric: 0.0001
|
|
text: exact
|
|
evidence:
|
|
- src/dotnet/QuantEngine.Core.Tests/ParityTests/DomainParityTests.cs
|
|
pass_condition: "stop price within tolerance"
|
|
|
|
- target_id: exit_stop_ladder
|
|
symbol: ExitDecisions.ComputeStopActionLadder
|
|
tolerance:
|
|
numeric: 0
|
|
text: exact
|
|
evidence:
|
|
- src/dotnet/QuantEngine.Core.Tests/ParityTests/DomainParityTests.cs
|
|
pass_condition: "exit action ladder exact match"
|
|
|
|
- target_id: exit_heat_thresholds
|
|
symbol: ExitDecisions.ComputeDynamicHeatThresholds
|
|
tolerance:
|
|
numeric: 0
|
|
text: exact
|
|
evidence:
|
|
- src/dotnet/QuantEngine.Core.Tests/ParityTests/DomainParityTests.cs
|
|
pass_condition: "heat thresholds exact match"
|
|
|
|
- target_id: factor_calculator
|
|
symbol: FactorCalculator.CalculateFactors
|
|
tolerance:
|
|
numeric: 0.000001
|
|
text: exact
|
|
evidence:
|
|
- src/dotnet/QuantEngine.Core.Tests/FactorCalculatorTests.cs
|
|
pass_condition: "factor outputs stable and deterministic"
|
|
|
|
execution_notes:
|
|
- "Parity is a contract, not a guess."
|
|
- "Do not add new parity targets without updating reference fixtures and tolerances."
|