3 Commits

Author SHA1 Message Date
Karl Hudgell
ddec1e3683 perf(price): parallelize price fetching with thread pool for faster processing
- Use ThreadPoolExecutor to fetch stock prices concurrently across multiple holdings
- Pre-fetch FX rates for unique non-GBP currencies before parallel price fetching
- Group price fetching and FX calculation into separate processing phases
- Reduce I/O wait time by executing network requests in parallel instead of sequentially
2026-04-20 11:59:27 +01:00
Karl Hudgell
f971708c5e refactor(price): enhance currency handling with FX conversion and cache support
- Add `get_fx_rate()` function with caching to fetch foreign exchange rates from open.er-api.com
- Introduce `get_currency()` helper to map market codes to currency identifiers
- Update price parsing regex to support multiple currency symbols (£, $, €)
- Convert shares to float to accommodate fractional holdings
- Add currency, fx_rate, and total_value_gbp fields to output JSON
- Support fractional share counts (e.g., 3.6185 AAPL shares)
2026-04-20 11:48:15 +01:00
Karl Hudgell
38ecbd57e0 feat: add Freetrade portfolio tracker with price fetching and holdings CSV support 2026-04-20 11:38:27 +01:00