lucan
commited on
Commit
·
fe10437
1
Parent(s):
0fdf577
update README
Browse files- .gitattributes +1 -0
- README.md +44 -1
- prediction_vs_true.png +3 -0
.gitattributes
CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
36 |
+
*.png filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
@@ -3,4 +3,47 @@ license: mit
|
|
3 |
language:
|
4 |
- en
|
5 |
pipeline_tag: time-series-forecasting
|
6 |
-
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
language:
|
4 |
- en
|
5 |
pipeline_tag: time-series-forecasting
|
6 |
+
---
|
7 |
+
|
8 |
+
|
9 |
+
# MultiAsset Market Making Model: Transformer based Interval Forecasting
|
10 |
+
|
11 |
+
## Model Summary & Evaluation
|
12 |
+
|
13 |
+
### Overview
|
14 |
+
This project implements a transformer based time-series forecasting model for 5-minute OHLCV data on Binance BTC Perp and OKX BTC Spot. The model uses cross-channel attention and a custom interval score loss to predict high/low ranges for both assets.
|
15 |
+
Model achieves 47.35% (BTC Perp) and 74.43% (BTC Spot) interval coverage accuracy with lambda_width=5.
|
16 |
+
|
17 |
+
## Prediction vs True Value (Visualization)
|
18 |
+
|
19 |
+

|
20 |
+
|
21 |
+
### Technical Foundation
|
22 |
+
- **Python (pandas, matplotlib, mplfinance):** Data download, cleaning, plotting
|
23 |
+
- **PyTorch:** Model architecture, training, evaluation
|
24 |
+
- **MultiheadAttention (5 heads):** Cross-channel attention for multi asset modeling
|
25 |
+
- **Interval Score Loss (lambda_width=5):** Penalizes missed intervals and wide ranges, differentiable for training
|
26 |
+
- **Data alignment:** Merging Binance and OKX OHLCV by timestamp
|
27 |
+
|
28 |
+
### Codebase Status
|
29 |
+
- **main.py:** Trains model on combined Binance/OKX data, interval score loss, outputs 4 values: BTC Perp high/low and BTC Spot high/low
|
30 |
+
- **test_only.py:** Plots true/pred candlesticks for both exchanges, computes relaxed (OR) interval accuracy
|
31 |
+
|
32 |
+
### Problem Resolution
|
33 |
+
- **Issues:** Data ordering, deduplication, plotting errors, shape mismatches, loss function encouraging wide intervals
|
34 |
+
- **Solutions:** Batch reversal, sorting, deduplication, robust CSV reading, interval score loss with width penalty, OR logic for interval accuracy
|
35 |
+
- **Lessons Learned:** Interval score loss must balance coverage and precision; width penalty is critical to avoid trivial solutions
|
36 |
+
|
37 |
+
### Progress Tracking
|
38 |
+
- **Completed:** Data download/cleaning, plotting, model implementation, training, evaluation, documentation
|
39 |
+
- **Recent Context:** Summary and evaluation based on latest training/test results and loss function
|
40 |
+
- **Pending:** Further model tuning (lambda_width, architecture), additional evaluation metrics or visualizations, publishing code/model/dataset
|
41 |
+
|
42 |
+
|
43 |
+
---
|
44 |
+
|
45 |
+
## Disclaimer
|
46 |
+
|
47 |
+
**Note:** This repository is a work in progress. The model weights, code, and dataset will be published in a later stage. Current release includes only documentation, summary, and evaluation logs. Stay tuned for updates!
|
48 |
+
|
49 |
+
---
|
prediction_vs_true.png
ADDED
![]() |
Git LFS Details
|