Shadowell commited on
Commit
e17b1eb
·
verified ·
1 Parent(s): 3872854

Upload Kairos checkpoint

Browse files
Files changed (1) hide show
  1. README.md +22 -34
README.md CHANGED
@@ -1,60 +1,48 @@
1
  ---
2
  license: mit
3
- tags:
4
- - time-series
5
- - finance
6
- - kronos
7
- - kairos
8
- - crypto
9
- - btc
10
- - eth
11
  library_name: pytorch
12
  pipeline_tag: time-series-forecasting
13
- base_model: NeoQuasar/Kronos-small
14
  ---
15
 
16
  # Shadowell/Kairos-small-crypto
17
 
18
- Fine-tuned **Kronos-small** on BTC/USDT + ETH/USDT 1-min K-lines (2024-01 ~ 2026-04)
19
- using [Kairos](https://github.com/Shadowell/Kairos).
20
  Architecture = Kronos + exogenous bypass channel (32-d) + quantile return head.
21
 
22
- Training data came from the public Binance Vision spot mirror, so the 5 crypto-native
23
- exogenous features (funding_rate / funding_rate_z / oi_change / basis / btc_dominance)
24
- are padded to zero. The other 27 dims are real.
25
 
26
- ## Results on test set (2026-01-01 ~ 2026-04-16, ~304k 1-min bars)
27
 
28
- | horizon | model | hit_rate | rank_ic | ICIR |
29
- |---------|------------|---------:|--------:|-------:|
30
- | h1 | baseline | 49.74% | +0.022 | +0.297 |
31
- | h1 | finetuned | 49.53% | -0.012 | +0.029 |
32
- | h5 | baseline | 49.72% | -0.007 | +0.093 |
33
- | h5 | finetuned | 50.51% | +0.010 | +0.060 |
34
- | **h30** | **baseline** | 50.98% | +0.018 | +0.039 |
35
- | **h30** | **finetuned** | **51.68%** | **+0.050** | **+0.325** |
36
 
37
  Baseline = original Kronos-small weights + randomly initialised exog / return head.
38
- h30 is the training target (`return_horizon=30` in the `crypto-1min` preset),
39
- so this is where the fine-tune is expected to help most -- rank-IC +184%, ICIR +743%.
40
-
41
- Full command log, pitfalls and a one-shot reproduction checklist are in
42
- [docs/CRYPTO_BTC_ETH_RUN.md](https://github.com/Shadowell/Kairos/blob/main/docs/CRYPTO_BTC_ETH_RUN.md).
43
 
44
  ## Usage
45
 
46
  ```python
47
- from kairos import KronosTokenizer
48
- from kairos.models import KronosWithExogenous
49
-
50
- tok = KronosTokenizer.from_pretrained("NeoQuasar/Kronos-Tokenizer-base")
51
  model = KronosWithExogenous.from_pretrained("Shadowell/Kairos-small-crypto")
52
  ```
53
 
54
  ## Training config (preset `crypto-1min`)
55
 
56
  - lookback 256 min, predict 30 min
57
- - batch 50, OneCycleLR, early-stop patience 3 (stopped at epoch 4, best = epoch 1)
58
  - progressive unfreeze: only last transformer block + exog bypass + return head
 
59
  - 32-d EXOG = 24 common + 8 crypto-market features
60
- - total wall time: 10 min 18 s on a single RTX 5090
 
 
 
 
1
  ---
2
  license: mit
3
+ tags: [time-series, finance, kronos, kairos, crypto]
 
 
 
 
 
 
 
4
  library_name: pytorch
5
  pipeline_tag: time-series-forecasting
 
6
  ---
7
 
8
  # Shadowell/Kairos-small-crypto
9
 
10
+ Fine-tuned **Kronos-small** on BTC/USDT + ETH/USDT 1-min K-lines (2024-01 ~ 2026-04) using **[Kairos](https://github.com/Shadowell/Kairos)**.
 
11
  Architecture = Kronos + exogenous bypass channel (32-d) + quantile return head.
12
 
13
+ This run keeps the original tokenizer [`NeoQuasar/Kronos-Tokenizer-base`](https://huggingface.co/NeoQuasar/Kronos-Tokenizer-base), matching the original `Kairos-small-crypto` training flow. Training data comes from the public Binance Vision spot mirror, so the 5 crypto-native exogenous features (`funding_rate` / `funding_rate_z` / `oi_change` / `basis` / `btc_dominance`) remain padded to zero; the other 27 dimensions are real.
 
 
14
 
15
+ ## Results on test set (2026-01-01 04:16:00 ~ 2026-04-16 23:30:00, 304,710 1-min bars)
16
 
17
+ | horizon | model | hit_rate | rank_ic | ICIR |
18
+ |---|---|---:|---:|---:|
19
+ | h1 | baseline | 50.58% | +0.001 | +0.184 |
20
+ | h1 | finetuned | 49.53% | -0.012 | +0.029 |
21
+ | h5 | baseline | 49.87% | -0.019 | -0.302 |
22
+ | h5 | finetuned | 50.51% | +0.010 | +0.060 |
23
+ | h30 | baseline | 49.04% | -0.026 | -0.140 |
24
+ | h30 | finetuned | 51.68% | +0.050 | +0.325 |
25
 
26
  Baseline = original Kronos-small weights + randomly initialised exog / return head.
27
+ This rerun keeps the official `NeoQuasar/Kronos-Tokenizer-base`, matching the original `Kairos-small-crypto` flow.
28
+ Training stopped at epoch 4; best val_ce = 2.4940.
 
 
 
29
 
30
  ## Usage
31
 
32
  ```python
33
+ from kairos import KronosTokenizer, KronosWithExogenous
34
+ tok = KronosTokenizer.from_pretrained("NeoQuasar/Kronos-Tokenizer-base")
 
 
35
  model = KronosWithExogenous.from_pretrained("Shadowell/Kairos-small-crypto")
36
  ```
37
 
38
  ## Training config (preset `crypto-1min`)
39
 
40
  - lookback 256 min, predict 30 min
41
+ - batch 50, OneCycleLR, early-stop patience 3
42
  - progressive unfreeze: only last transformer block + exog bypass + return head
43
+ - tokenizer source = `{tok_repo}`
44
  - 32-d EXOG = 24 common + 8 crypto-market features
45
+
46
+ ## Training recipe
47
+
48
+ Full command log, backtest commands, pitfalls and the reproduction checklist are in [`docs/CRYPTO_BTC_ETH_RUN.md`](https://github.com/Shadowell/Kairos/blob/main/docs/CRYPTO_BTC_ETH_RUN.md).