Files
NexQuant/rdagent/scenarios/qlib/experiment/factor_data_template/generate.py
T
TPTBusiness 7e7e40b041 feat: Fix 1min data integration and centralize all prompts
- Fix daily/1min contradiction in factor_experiment_loader prompts
- Rename daily_pv.h5 to intraday_pv.h5 (generate.py, utils.py, README)
- Fix FactorDatetimeDailyEvaluator to accept 1min bars as correct
- Add _write_run_log() to log every factor attempt to results/logs/
- Add _ensure_results_dirs() to create all result directories
- Extract all 44 prompt YAML files to prompts/ centralized directory
- Add prompts/INDEX.md for navigation

Tests: 93 passed
2026-04-04 08:20:58 +02:00

40 lines
1.1 KiB
Python
Executable File

import qlib
# EURUSD 1-Minuten Daten verwenden
qlib.init(provider_uri="~/.qlib/qlib_data/eurusd_1min_data")
from qlib.data import D
instruments = D.instruments()
fields = ["$open", "$close", "$high", "$low", "$volume"]
# 1min Daten für EURUSD
# Start: 2020-01-01, End: 2026-03-20
data = D.features(instruments, fields, freq="1min").swaplevel().sort_index()
data.to_hdf("./intraday_pv_all.h5", key="data")
# Debug-Daten: Nur letzte ~100 Instrumente für schnelleres Testing
fields = ["$open", "$close", "$high", "$low", "$volume"]
data_debug = (
D.features(instruments, fields, start_time="2024-01-01", end_time="2024-12-31", freq="1min")
.swaplevel()
.sort_index()
)
# Nimm erste 100 unique instruments
unique_inst = data_debug.reset_index()["instrument"].unique()[:100]
data_debug = (
data_debug.swaplevel()
.loc[unique_inst]
.swaplevel()
.sort_index()
)
data_debug.to_hdf("./intraday_pv_debug.h5", key="data")
print(f"Generated intraday_pv_all.h5 with {len(data)} rows")
print(f"Generated intraday_pv_debug.h5 with {len(data_debug)} rows")
print(f"Date range: {data.index.min()} to {data.index.max()}")