feat(calibration): complete step 1 data inspection with data quality v1
This commit is contained in:
0
src/shared/__init__.py
Normal file
0
src/shared/__init__.py
Normal file
8
src/shared/schemas/api.py
Normal file
8
src/shared/schemas/api.py
Normal file
@@ -0,0 +1,8 @@
|
||||
# src/shared/schemas/api.py
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
|
||||
class BotStatus(BaseModel):
|
||||
state: str # INIT/RUNNING/ERROR (derivado)
|
||||
heartbeat_ts: Optional[str] = None
|
||||
last_ts: Optional[str] = None
|
||||
21
src/shared/schemas/broker.py
Normal file
21
src/shared/schemas/broker.py
Normal file
@@ -0,0 +1,21 @@
|
||||
# src/shared/schemas/broker.py
|
||||
from pydantic import BaseModel
|
||||
from typing import Dict, Any, Optional
|
||||
|
||||
class Position(BaseModel):
|
||||
symbol: str
|
||||
position_id: str
|
||||
qty: float
|
||||
avg_entry: float
|
||||
|
||||
class BrokerSnapshot(BaseModel):
|
||||
initial_cash: float
|
||||
cash: float
|
||||
commission_rate: float
|
||||
slippage_rate: float
|
||||
realized_pnl: float
|
||||
equity: float
|
||||
positions: Dict[str, Position]
|
||||
last_price: Dict[str, float]
|
||||
trades_count: int
|
||||
updated_at: str
|
||||
8
src/shared/schemas/loop.py
Normal file
8
src/shared/schemas/loop.py
Normal file
@@ -0,0 +1,8 @@
|
||||
# src/shared/schemas/loop.py
|
||||
from pydantic import BaseModel
|
||||
from typing import List, Optional
|
||||
|
||||
class LoopState(BaseModel):
|
||||
last_ts: Optional[str] = None
|
||||
equity_curve: List[float] = []
|
||||
equity_timestamps: List[str] = []
|
||||
10
src/shared/schemas/metrics.py
Normal file
10
src/shared/schemas/metrics.py
Normal file
@@ -0,0 +1,10 @@
|
||||
# src/shared/schemas/metrics.py
|
||||
from pydantic import BaseModel
|
||||
|
||||
class EquityMetrics(BaseModel):
|
||||
cagr: float
|
||||
max_drawdown: float
|
||||
calmar_ratio: float
|
||||
volatility: float
|
||||
time_in_drawdown: float
|
||||
ulcer_index: float
|
||||
14
src/shared/schemas/trades.py
Normal file
14
src/shared/schemas/trades.py
Normal file
@@ -0,0 +1,14 @@
|
||||
# src/shared/schemas/trades.py
|
||||
from pydantic import BaseModel
|
||||
from typing import Dict, Any
|
||||
|
||||
class TradeRow(BaseModel):
|
||||
symbol: str
|
||||
side: str
|
||||
qty: float
|
||||
price: float
|
||||
fee: float
|
||||
notional: float
|
||||
realized_pnl: float
|
||||
timestamp: str
|
||||
meta: Dict[str, Any]
|
||||
Reference in New Issue
Block a user