feat: DailyScorecard model for per-market performance review (issue #90)
Some checks failed
CI / test (pull_request) Has been cancelled
Some checks failed
CI / test (pull_request) Has been cancelled
- Add DailyScorecard dataclass with market-scoped fields - Fields: date, market, decisions, pnl, win_rate, scenario_match_rate, lessons, cross_market_note - Export from src/evolution/__init__.py Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
25
src/evolution/scorecard.py
Normal file
25
src/evolution/scorecard.py
Normal file
@@ -0,0 +1,25 @@
|
||||
"""Daily scorecard model for end-of-day performance review."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass, field
|
||||
|
||||
|
||||
@dataclass
|
||||
class DailyScorecard:
|
||||
"""Structured daily performance snapshot for a single market."""
|
||||
|
||||
date: str
|
||||
market: str
|
||||
total_decisions: int
|
||||
buys: int
|
||||
sells: int
|
||||
holds: int
|
||||
total_pnl: float
|
||||
win_rate: float
|
||||
avg_confidence: float
|
||||
scenario_match_rate: float
|
||||
top_winners: list[str] = field(default_factory=list)
|
||||
top_losers: list[str] = field(default_factory=list)
|
||||
lessons: list[str] = field(default_factory=list)
|
||||
cross_market_note: str = ""
|
||||
Reference in New Issue
Block a user