Commit Graph

2 Commits

Author SHA1 Message Date
Andrew Kaszubski bedb59bce0 feat(portfolio): add Performance Metrics with Sharpe, drawdown, returns - Issue #31 (63 tests)
Implements comprehensive portfolio performance analytics:
- Returns calculation (daily, monthly, yearly, cumulative)
- Risk-adjusted metrics (Sharpe, Sortino, Calmar ratios)
- Volatility and downside deviation
- Drawdown analysis with period tracking
- Trade statistics (win rate, profit factor, expectancy)
- Benchmark comparison (alpha, beta, information ratio, tracking error)
- Utility functions (CAGR, rolling returns, period aggregation)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 21:44:15 +11:00
Andrew Kaszubski 6642047eaa feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests)
Implements comprehensive portfolio state management:
- Holding dataclass with long/short support and P&L calculations
- CashBalance for multi-currency cash management
- PortfolioState class with:
  - Real-time mark-to-market valuation
  - Multi-currency support with exchange rate conversion
  - Thread-safe state updates
  - Position tracking with average cost calculation
  - Portfolio snapshots for historical tracking
- PriceProvider and ExchangeRateProvider protocols
- Serialization/deserialization support

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 21:37:17 +11:00