generated from mathias/template-go-web
67 lines
2.6 KiB
Markdown
67 lines
2.6 KiB
Markdown
# jepa-fx-risk
|
||
|
||
Research project exploring JEPA (Joint Embedding Predictive Architecture) as a framework for latent representation learning applied to FX trading risk management.
|
||
|
||
**Primary hypothesis:** JEPA embeddings trained on FX time-series will produce latent market-state representations that are structurally separable by regime without explicit regime labels, measurable by silhouette score on k-means clusters validated against held-out realised-volatility regime labels.
|
||
|
||
**Current phase:** Phase 0 — SSL Feasibility Gate (not yet started)
|
||
|
||
**Brain wing:** `jepa-fx` — query via `brain_query wing=jepa-fx`
|
||
|
||
---
|
||
|
||
## Architecture
|
||
|
||
This is a **Go-first, Python-minimal** research project.
|
||
|
||
| Layer | Language | Rationale |
|
||
|---|---|---|
|
||
| Data pipeline | Go | Type-safe, fast, no dependency hell |
|
||
| Experiment runner | Go | CLI tooling, reproducible invocations |
|
||
| Evaluation harness | Go | Silhouette, linear probe, collapse diagnostics |
|
||
| Model training | Python + PyTorch | TS-JEPA requires it; kept minimal and isolated |
|
||
|
||
## Structure
|
||
|
||
```
|
||
specs/ experiment specs (one per phase)
|
||
src/ Go packages: pipeline, eval, cmd
|
||
model/ Python: TS-JEPA training loop only
|
||
experiments/ one directory per run (gitignored except summaries)
|
||
results/ tracked: metric tables, key figures
|
||
data/ gitignored; see data/README.md for download instructions
|
||
notebooks/ EDA only; outputs stripped before commit
|
||
docs/ ADRs and research notes
|
||
```
|
||
|
||
## Quick start
|
||
|
||
```bash
|
||
task data:fetch # download DUKASCopy G10 tick data
|
||
task pipeline:build # build Go data pipeline
|
||
task check # lint + vet + test
|
||
task experiment:run -- --spec specs/phase-0-ssl-feasibility.md
|
||
```
|
||
|
||
## Phases
|
||
|
||
| Phase | Goal | Status |
|
||
|---|---|---|
|
||
| 0 | SSL feasibility gate — MAE baseline on FX data | 🔲 Not started |
|
||
| 1 | JEPA representation PoC — silhouette > 0.35 | 🔲 Not started |
|
||
| 2 | Regime detection validation — recall > 70%, lead > 5d | 🔲 Not started |
|
||
| 3 | Distributional forecasting — VaR passes Kupiec | 🔲 Not started |
|
||
| 4 | Multi-pair transfer — exotic pair improvement | 🔲 Not started |
|
||
|
||
## Key constraints
|
||
|
||
- **Training cutoff:** 2023-01-01 — all post-2023 data is sealed for final evaluation
|
||
- **Training data:** 2008–2022, all G10 pairs, DUKASCopy
|
||
- **Out of scope:** options pricing, directional alpha, live trading, exotic pairs (Phases 1–3)
|
||
- **End-state:** publishable research result — not institutional deployment
|
||
|
||
## Related
|
||
|
||
- Brain wing: `wiki/jepa-fx/` — decisions, hypotheses, failure modes
|
||
- Synthesis document: `JEPA_FX_Risk_Synthesis.docx` (session 2026-05-27)
|