This commit adds a new interactive command-line interface for Folio portfolio management.
The CLI provides an interactive shell environment for running portfolio simulations,
analyzing positions, and exploring investment scenarios.
Key features:
- Interactive shell with command history and auto-completion
- Portfolio loading and viewing capabilities
- SPY simulation with customizable parameters
- Position-specific analysis with detailed breakdowns
- Comprehensive help system
Technical details:
- Uses prompt_toolkit for the interactive shell
- Leverages existing code from src/folio modules
- Maintains the same output formatting using Rich
- Follows project coding conventions and passes linting
The CLI provides at least the same functionality as scripts/folio-simulator.py
but in an interactive shell environment where users can run multiple commands
without restarting the application.
This is Phase 1 of the planned implementation, focusing on core functionality.
Future phases will add…
BREAKING CHANGE: Removed FMP data fetcher and related configuration options
- Removed src/fmp.py module and all related tests
- Consolidated DataFetcherSingleton into a single implementation in src/stockdata.py
- Removed data_source configuration option from folio.yaml
- Simplified create_data_fetcher to only support YFinance
- Updated all imports and usages to use the simplified data fetcher
- Removed scripts/check_beta.py and tests/fetch_sample_data.py that depended on FMP
- Updated documentation to reflect YFinance as the only supported data source
This change simplifies the codebase by removing unnecessary abstraction and
focusing on a single data source implementation.