# fetch-data > Download market data for symbols and date ranges - Author: maminul007 - Repository: maminul007/trading-platform - Version: 20260208000611 - Stars: 1 - Forks: 0 - Last Updated: 2026-02-07 - Source: https://github.com/maminul007/trading-platform - Web: https://mule.run/skillshub/@@maminul007/trading-platform~fetch-data:20260208000611 --- --- name: fetch-data description: Download market data for symbols and date ranges argument-hint: "[symbols|--start date|--source]" --- # Market Data Fetcher Download and manage market data for backtesting and analysis. ## Usage - `/fetch-data AAPL` - Fetch AAPL data (default: 1 year) - `/fetch-data AAPL,GOOGL,MSFT` - Multiple symbols - `/fetch-data --start 2020-01-01 --end 2023-12-31` - Date range - `/fetch-data --source yfinance` - Specify data source - `/fetch-data --interval 1h` - Hourly data - `/fetch-data --universe sp500` - Fetch S&P 500 constituents - `/fetch-data --update` - Update existing data to current ## Data Sources | Source | Data Types | Rate Limits | |--------|------------|-------------| | `yfinance` | OHLCV, fundamentals | Moderate | | `polygon` | OHLCV, trades, quotes | API key required | | `alpaca` | OHLCV, trades | API key required | | `binance` | Crypto OHLCV | High | | `tiingo` | OHLCV, IEX | API key required | ## Related Code - `services/ml-server/src/data/loader.py` - Data loading - `services/ml-server/src/data/multi_source_loader.py` - Multi-source - `services/ml-server/src/data/market_data.py` - Market data utils - `services/ml-server/src/backtest/data_downloader.py` - Downloader ## Instructions When this skill is invoked: 1. Parse arguments: - Symbols: Comma-separated list or universe name - `--start`: Start date (default: 1 year ago) - `--end`: End date (default: today) - `--source`: Data source (default: yfinance) - `--interval`: 1m, 5m, 15m, 1h, 1d (default: 1d) - `--universe`: sp500, nasdaq100, crypto50 - `--update`: Only fetch missing/new data - `--validate`: Run data quality checks after fetch 2. Validate inputs: - Check symbols are valid tickers - Verify date range is reasonable - Check API keys if required source 3. Fetch data: ```bash cd services/ml-server python -m src.data.multi_source_loader \ --symbols $SYMBOLS \ --start $START \ --end $END \ --source $SOURCE \ --interval $INTERVAL ``` 4. Display progress: ``` Fetching market data... ───────────────────────────────────────────────────────── Source: yfinance Symbols: 3 Period: 2023-01-01 to 2023-12-31 Interval: 1d [████████████████████░░░░] 75% GOOGL (2/3) Completed: ✓ AAPL 252 bars 2023-01-03 to 2023-12-29 ✓ GOOGL 252 bars 2023-01-03 to 2023-12-29 ⏳ MSFT fetching... ``` 5. After fetching: - Show summary of data retrieved - Report any gaps or missing dates - Display storage location - Run validation if `--validate` specified 6. Data quality checks: - Missing values - Price anomalies (>50% daily moves) - Volume anomalies - Corporate actions (splits, dividends) - Trading halts 7. Storage locations: ``` data/ ├── raw/ # Raw downloaded data │ └── yfinance/ │ └── AAPL_1d.parquet ├── processed/ # Cleaned data └── features/ # Computed features ``` 8. Universe definitions: - `sp500`: S&P 500 constituents - `nasdaq100`: NASDAQ 100 - `crypto50`: Top 50 cryptocurrencies - `futures`: Major futures contracts