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