feat(dotnet): add parity contract and wiring
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
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."
|
||||
Reference in New Issue
Block a user