Synthetische Finanzdaten erstellen und bewerten
Zusammenfassung
Dieses Kapitel gibt einen Überblick über Verfahren zur Erzeugung synthetischer Finanzdaten und darüber, wie sich deren Nutzen beurteilen lässt. Es geht von der begrenzten Zahl realisierter Marktverläufe und dem Risiko aus, dass wiederholte Strategiesuchen die scheinbare Backtest-Performance erhöhen. Es vergleicht interpretierbare Simulations-Baselines, darunter Bootstraps und stochastische Modelle, mit gelernten Generatoren wie GANs, Diffusionsmodellen und Sprachmodellen für strukturierte Tabellen. Beispiele behandeln Renditereihen, extremes Verlustrisiko, zeitliche Struktur, unregelmäßige Beobachtungen und Finanzdaten mit gemischten Datentypen.
Die Bewertung orientiert sich an Ähnlichkeit, nachgelagertem Nutzen und Datenschutz, die miteinander in Konflikt stehen können. Zu den Diagnosen gehören stilisierte Fakten, Abhängigkeiten, bedingtes Verhalten, aufgabenbasierte Vergleiche wie Training mit synthetischen und Testen mit realen Daten sowie Datenschutzprüfungen. Der zentrale Vorbehalt des Kapitels: Plausibel wirkende Stichproben können bei seltenen Ereignissen oder veränderten Abhängigkeiten versagen. Gelernte Modelle können Informationen preisgeben, Verzerrungen verstärken, ihre Trainingsdaten überanpassen oder kaum neue Szenarien liefern. Synthetische Verläufe können Robustheitsanalysen erweitern, ersetzen aber keine Belege aus realen Märkten und machen sorgfältige Validierung nicht überflüssig.
Kernaussagen
- Wiederholte adaptive Strategiesuchen auf einer begrenzten Historie können die Backtest-Performance überzeichnen.
- Bootstrap- und stochastische Simulationsverfahren bieten interpretierbare Vergleichswerte für gelernte Generatoren.
- Die Wahl des Generators sollte zur Datenstruktur und zur nachgelagerten Aufgabe passen.
- Bewerten Sie synthetische Daten nach Datentreue, Nutzen und Datenschutz, da diese Ziele miteinander konkurrieren können.
- Plausible Stichproben können dennoch Extremereignisse, veränderte Abhängigkeiten oder bedingte Dynamiken verfehlen.
Schlagwörter
Volltext
# ETF Universe (Yahoo Finance) # ETF Universe (Yahoo Finance) 100 diversified ETFs spanning nine thematic categories — the red-thread universe for the Ch6 momentum strategy and the ETF case study that runs through Ch11-20. Daily OHLCV back to 2006. ## Dataset - **Source**: Yahoo Finance, pulled via the `yfinance` Python package. - **Coverage**: 2006-01-01 → present, daily OHLCV. - **Symbols**: 100 ETFs across 9 categories. - **Size on disk**: ~29 MB. - **Runtime**: ~2-3 minutes for a full refresh (yfinance uses public Yahoo Finance endpoints with light rate-limiting). - **API key**: not required. - **License / attribution**: Yahoo Finance data is free for personal and educational use (https://policies.yahoo.com/us/en/yahoo/terms/index.htm). Redistribution of the raw OHLCV is not permitted; derived analytics (returns, features, model outputs) are fine. When publishing results, cite Yahoo Finance as the source. ## Categories | Group | Count | Symbols | | ------------------------ | ----- | ------------------------------------------------------------------------------------------------ | | US Equity — Broad | 10 | SPY, QQQ, IWM, DIA, VTI, MDY, IJR, RSP, IVW, IVE | | US Equity — Style | 10 | VTV, VUG, MTUM, QUAL, VLUE, USMV, DVY, SDY, VIG, SCHD | | US Sectors | 13 | XLB, XLC, XLE, XLF, XLI, XLK, XLP, XLU, XLV, XLY, XLRE, VNQ, IYR | | International Developed | 18 | EFA, VEA, VGK, IEFA, ACWI, ACWX, EWJ, EWG, EWU, EWT, EWH, EWQ, EWL, EWN, EWI, EWP, EWC, EWA | | Emerging Markets | 11 | EEM, VWO, IEMG, FXI, MCHI, EWZ, EWY, EWW, INDA, EZA, THD | | Fixed Income | 15 | AGG, BND, BNDX, TLT, IEF, SHY, GOVT, BIL, LQD, VCSH, HYG, JNK, TIP, EMB, MUB | | Commodities | 9 | GLD, IAU, SLV, PPLT, USO, UNG, DBC, GSG, DBA | | Specialty | 10 | IBB, XBI, SMH, SOXX, KRE, XME, OIH, XRT, ITB, ITA | | Currency | 4 | UUP, FXE, FXY, FXB | Full symbol list + category tagging: `config.yaml`. ## Download ```bash uv run python data/etfs/market/download.py # all 100 ETFs uv run python data/etfs/market/download.py --symbol SPY # single symbol uv run python data/etfs/market/download.py --dry-run # plan only ``` Output layout under `$ML4T_DATA_PATH/etfs/market/`: ``` etf_universe.parquet # consolidated 100-ETF daily OHLCV (loader target) ohlcv_1d/ticker=<TICKER>/... # hive-partitioned per-symbol bars (provider-native) etf_universe_dictionary.parquet # symbol metadata (symbol, group, description) etf_universe_metadata.json # dataset metadata (row counts, date span) ``` ## Loading ```python from data import load_etfs df = load_etfs() # all 100 ETFs df = load_etfs(symbols=["SPY", "QQQ", "IWM"]) df = load_etfs(start_date="2020-01-01", end_date="2024-12-31") ``` Schema (canonical): | Column | Type | Description | | ----------- | -------- | ------------- | | `symbol` | String | ETF ticker | | `timestamp` | Date | Trading date | | `open` | Float | Opening price | | `high` | Float | High price | | `low` | Float | Low price | | `close` | Float | Closing price | | `volume` | Int | Trading volume| ## Consumers - **Ch2**: `01_etf_eda.py`. - **Ch6**: `01_etfs_setup.py` (strategy definition). - **Ch8**: `01_price_volume_features.py`, `03_structural_cross_instrument_features.py`, `05_feature_selection.py`, `06_robustness_sensitivity.py`, `07_event_studies.py`. - **Ch16**: `06_framework_parity.py`, `09_performance_reporting.py`, `11_sharpe_ratio_inference.py`. - **Ch18**: `01_cost_taxonomy.py`, `03_market_impact_calibration.py`, `06_ml4t_execution_demo.py`. - **`case_studies/etfs/`**: full pipeline from `01_feasibility_analysis.py` through `20_strategy_analysis.py` — the flagship reader case study.
Vollständig mit Quellenangabe unter der Lizenz der Quelle angezeigt. Lizenz: MIT
Diese Zusammenfassung wurde vom Research-Agenten von Stratmill anhand des Originals verfasst; sie ist keine Kopie der Quelle.