Status when starting a new project on Chat GPT

This commit is contained in:
DaM
2026-03-01 16:50:15 +01:00
parent 547a909965
commit 2ec51d0daa
10 changed files with 1232 additions and 510 deletions

View File

@@ -1,33 +1,24 @@
# src/web/api/v2/schemas/calibration_strategies.py
from typing import Any, Dict, List, Literal, Optional
from typing import Any, Dict, List, Literal, Optional, Union
from pydantic import BaseModel, Field
from .calibration_risk import StopConfigSchema, RiskConfigSchema, GlobalRiskRulesSchema
ParameterValue = Union[int, float, bool, str]
class WalkForwardConfigSchema(BaseModel):
train_days: int = Field(..., gt=0)
test_days: int = Field(..., gt=0)
step_days: Optional[int] = Field(None, gt=0) # if None => step = test_days
class OptimizationConfigSchema(BaseModel):
optimizer_metric: str = Field("sharpe_ratio")
max_combinations: int = Field(500, gt=0)
min_trades_train: int = Field(30, ge=0)
step_days: Optional[int] = Field(None, gt=0)
min_trades_test: int = Field(10, ge=0)
class ParameterRangeSchema(BaseModel):
min: float
max: float
step: float
class StrategySelectionSchema(BaseModel):
strategy_id: str
parameters: Dict[str, ParameterRangeSchema]
parameters: Dict[str, ParameterValue]
class CalibrationStrategiesInspectRequest(BaseModel):
@@ -42,7 +33,6 @@ class CalibrationStrategiesInspectRequest(BaseModel):
strategies: List[StrategySelectionSchema]
wf: WalkForwardConfigSchema
optimization: OptimizationConfigSchema
commission: float = Field(0.001, ge=0)
slippage: float = Field(0.0005, ge=0)