From 4608c8ee298e5a4230925dde80d1f57bfae20e77 Mon Sep 17 00:00:00 2001 From: mathias Date: Wed, 27 May 2026 21:59:53 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20add=20data/README.md=20=E2=80=94=20down?= =?UTF-8?q?load=20instructions=20and=20split=20definitions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/README.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 data/README.md diff --git a/data/README.md b/data/README.md new file mode 100644 index 0000000..5485b07 --- /dev/null +++ b/data/README.md @@ -0,0 +1,36 @@ +# Data + +Raw and processed FX data is **gitignored** — never committed. + +## Download: DUKASCopy G10 tick data + +Use the provided fetch task: + +```bash +task data:fetch # downloads raw tick data → data/raw/ +task data:process # resamples to hourly OHLCV + features → data/processed/ +task data:validate # gap detection, outlier report, regime coverage check +``` + +## Expected structure (local only) + +``` +data/ + raw/ G10 pairs, tick OHLCV, 2003–present (gitignored) + processed/ Hourly log-returns, rolling HV, VIX-merged (gitignored) + cache/ Intermediate artefacts (gitignored) + config.yaml Download configuration (committed) +``` + +## Pairs + +EUR/USD, GBP/USD, USD/JPY, USD/CHF, AUD/USD, USD/CAD, NZD/USD, EUR/GBP, EUR/JPY, EUR/CHF + +## Splits + +| Split | Date range | Purpose | +|---|---|---| +| Train | 2008-01-01 – 2022-12-31 | Model training only | +| Held-out test | 2023-01-01 – 2023-12-31 | Final evaluation — do not open until evaluation | + +**Training cutoff is hard: 2023-01-01. No post-2022 data informs any design decision.**