feat: DailyScorecard model for per-market performance review (issue #90)
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:
agentson
2026-02-10 04:25:37 +09:00
parent 0685d62f9c
commit c95102a0bd
3 changed files with 108 additions and 0 deletions

View File

@@ -7,6 +7,7 @@ from src.evolution.performance_tracker import (
PerformanceTracker,
StrategyMetrics,
)
from src.evolution.scorecard import DailyScorecard
__all__ = [
"EvolutionOptimizer",
@@ -16,4 +17,5 @@ __all__ = [
"PerformanceTracker",
"PerformanceDashboard",
"StrategyMetrics",
"DailyScorecard",
]

View 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 = ""