lucan commited on
Commit
fe10437
·
1 Parent(s): 0fdf577

update README

Browse files
Files changed (3) hide show
  1. .gitattributes +1 -0
  2. README.md +44 -1
  3. 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
+ ![Prediction vs True Value](./prediction_vs_true.png)
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

  • SHA256: ef07c3178784ffe242b7391513360b1f602a89a27238d9a96e7d4fe7126fc6be
  • Pointer size: 131 Bytes
  • Size of remote file: 331 kB