TradingAgents/tradingagents/spektiv/dataflows
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
..
__init__.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
akshare.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
alpha_vantage.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
alpha_vantage_common.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
alpha_vantage_fundamentals.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
alpha_vantage_indicator.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
alpha_vantage_news.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
alpha_vantage_stock.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
base_vendor.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
benchmark.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
config.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
fred.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
fred_common.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
google.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
googlenews_utils.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
interface.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
local.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
multi_timeframe.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
openai.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
reddit_utils.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
stockstats_utils.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
utils.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
vendor_decorators.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
vendor_registry.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
y_finance.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00
yfin_utils.py feat(portfolio): add Portfolio State for holdings and mark-to-market - Issue #29 (68 tests) 2025-12-26 21:37:17 +11:00