Investment portfolio charts, search fix, and holding creation fixes
- Add four portfolio charts: allocation donut by holding, allocation donut by asset type, cost basis vs current value bar, return % bar - Fix asset search to use yf.Search() full-text instead of ticker-only lookup — name searches like "vanguard ftse all world" now work - Fix holding creation double-quantity bug: holdings now created with quantity=0 so buy transaction is sole source of quantity/cost basis - Add per-share / total price toggle in Add Holding modal with live calculated equivalent shown as you type - Add ErrorBoundary in AppShell so render errors show a message instead of a blank page - Fix donut charts using || instead of ?? when falling back from current_value to cost_basis_total (0 was not falling through ??) - Allow HoldingCreate.quantity >= 0 (was gt=0) to support zero-init - Fix error display for Pydantic v2 array-of-objects validation errors Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
26e2a055db
commit
cdc1e67321
9 changed files with 424 additions and 70 deletions
|
|
@ -26,12 +26,13 @@ Runs entirely on your own hardware via Docker Compose. Designed for LAN access w
|
|||
|
||||
### Investments
|
||||
- Portfolio tracking with holdings and buy/sell/dividend/split transactions
|
||||
- Asset search by name or ticker (stocks, ETFs, crypto, funds) via **yfinance** full-text search
|
||||
- Live price feeds: stocks and ETFs via **yfinance**, crypto via **CoinGecko** (refreshed every 15 minutes)
|
||||
- Hourly FX rates for multi-currency conversion to GBP base
|
||||
- TWRR and MWRR performance metrics
|
||||
- Capital gains reporting (short/long-term by tax year)
|
||||
- OHLCV candlestick charts per asset
|
||||
- Allocation treemap across the full portfolio
|
||||
- Portfolio visualisations: allocation donut by holding, allocation donut by asset type, cost basis vs current value bar chart, return % per holding bar chart
|
||||
|
||||
### Reports
|
||||
Seven report views:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue