hajirazin commited on
Commit
f811ddb
·
verified ·
1 Parent(s): e75dc0b

Promote SAC version v2026-02-13_53ad3139 to current

Browse files
Files changed (9) hide show
  1. README.md +11 -11
  2. actor.pt +2 -2
  3. config.json +4 -2
  4. critic.pt +2 -2
  5. critic_target.pt +2 -2
  6. log_alpha.pt +1 -1
  7. metadata.json +69 -68
  8. scaler.pkl +2 -2
  9. symbol_order.json +2 -3
README.md CHANGED
@@ -8,16 +8,16 @@ tags:
8
  - learnfinance
9
  ---
10
 
11
- # LearnFinance SAC Model - v2026-01-23_4049af7e
12
 
13
  Soft Actor-Critic (SAC) portfolio allocation agent using dual forecasts (LSTM + PatchTST) as features.
14
 
15
  ## Model Details
16
 
17
- - **Version**: v2026-01-23_4049af7e
18
  - **Model Type**: SAC (Soft Actor-Critic) with dual forecasts
19
- - **Training Window**: 2011-01-01 to 2026-01-23
20
- - **Symbols**: 15 stocks
21
 
22
  ## Components
23
 
@@ -30,13 +30,13 @@ Soft Actor-Critic (SAC) portfolio allocation agent using dual forecasts (LSTM +
30
 
31
  ## Metrics
32
 
33
- - Actor Loss: 0.3213101402535821
34
  - Critic Loss: 0.0
35
- - Avg Episode Return: 0.2853802386733016
36
- - Avg Episode Sharpe: 0.22613404050736566
37
- - Eval Sharpe: 0.8972165609782691
38
- - Eval CAGR: 0.19267435023534785
39
- - Eval Max Drawdown: 0.13759327587214085
40
 
41
  ## Usage
42
 
@@ -44,5 +44,5 @@ Soft Actor-Critic (SAC) portfolio allocation agent using dual forecasts (LSTM +
44
  from brain_api.storage.sac import SACHuggingFaceModelStorage
45
 
46
  storage = SACHuggingFaceModelStorage(repo_id="hajirazin/learnfinance-models-sac")
47
- artifacts = storage.download_model(version="v2026-01-23_4049af7e")
48
  ```
 
8
  - learnfinance
9
  ---
10
 
11
+ # LearnFinance SAC Model - v2026-02-13_53ad3139
12
 
13
  Soft Actor-Critic (SAC) portfolio allocation agent using dual forecasts (LSTM + PatchTST) as features.
14
 
15
  ## Model Details
16
 
17
+ - **Version**: v2026-02-13_53ad3139
18
  - **Model Type**: SAC (Soft Actor-Critic) with dual forecasts
19
+ - **Training Window**: 2011-01-01 to 2026-02-13
20
+ - **Symbols**: 14 stocks
21
 
22
  ## Components
23
 
 
30
 
31
  ## Metrics
32
 
33
+ - Actor Loss: 0.47051061680353934
34
  - Critic Loss: 0.0
35
+ - Avg Episode Return: 0.3164223983680193
36
+ - Avg Episode Sharpe: 0.23520403538043264
37
+ - Eval Sharpe: 1.239769458631745
38
+ - Eval CAGR: 0.302979570589738
39
+ - Eval Max Drawdown: 0.22627892173813877
40
 
41
  ## Usage
42
 
 
44
  from brain_api.storage.sac import SACHuggingFaceModelStorage
45
 
46
  storage = SACHuggingFaceModelStorage(repo_id="hajirazin/learnfinance-models-sac")
47
+ artifacts = storage.download_model(version="v2026-02-13_53ad3139")
48
  ```
actor.pt CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:fe0715a0214906f0ed7dc68d475cd05d39788654f41648c041716754c7e8c3dd
3
- size 74737
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1583f0ab0de6418a01436134fc22b189d791e473766e0c30c565f0617d9a1574
3
+ size 63985
config.json CHANGED
@@ -8,7 +8,7 @@
8
  "critic_lr": 0.0003,
9
  "alpha_lr": 0.0003,
10
  "tau": 0.005,
11
- "gamma": 0.99,
12
  "auto_entropy_tuning": true,
13
  "target_entropy": -16.0,
14
  "init_alpha": 0.2,
@@ -24,11 +24,13 @@
24
  "cost_bps": 10,
25
  "cash_buffer": 0.02,
26
  "max_position_weight": 0.2,
27
- "reward_scale": 100.0,
28
  "n_stocks": 15,
29
  "seed": 42,
30
  "validation_years": 2,
31
  "min_cagr_improvement": 0.0,
 
 
32
  "training_years": 10,
33
  "n_eval_folds": 3
34
  }
 
8
  "critic_lr": 0.0003,
9
  "alpha_lr": 0.0003,
10
  "tau": 0.005,
11
+ "gamma": 0.97,
12
  "auto_entropy_tuning": true,
13
  "target_entropy": -16.0,
14
  "init_alpha": 0.2,
 
24
  "cost_bps": 10,
25
  "cash_buffer": 0.02,
26
  "max_position_weight": 0.2,
27
+ "reward_scale": 1.0,
28
  "n_stocks": 15,
29
  "seed": 42,
30
  "validation_years": 2,
31
  "min_cagr_improvement": 0.0,
32
+ "sharpe_weight": 0.5,
33
+ "sharpe_eta": 0.01,
34
  "training_years": 10,
35
  "n_eval_folds": 3
36
  }
critic.pt CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:0d7a1ea5fc4f0a5d7fb39dd2b2a9abc436882f8df3f678844d85bc3c5a9414a0
3
- size 139373
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bca34158422124ce8d46d5bbffa9dbe2678f34d164b6dd859c3bba7adba122ad
3
+ size 118381
critic_target.pt CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:9dcb8045c45446b4e9830c9bfbe59460791b7188f0b3bd65af0273f98cee2a49
3
- size 140139
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fafa34a855c0a1c58de17341d395741d32b59f2ddd5285c018f6a51379a3d079
3
+ size 119147
log_alpha.pt CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:2672be629e8df5a43d3ab709982925678d76a0038f65a7d766e875fc23e0c778
3
  size 1591
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b5f42544e08fed7d294cb5d9ed3f1858a5bd6139e2bd29668a7ab3a9ef8298cf
3
  size 1591
metadata.json CHANGED
@@ -1,71 +1,72 @@
1
  {
2
- "model_type": "sac",
3
- "version": "v2026-01-30_a8b6fd41",
4
- "training_timestamp": "2026-02-01T10:00:17.513580+00:00",
5
- "data_window": {
6
- "start": "2011-01-01",
7
- "end": "2026-01-30"
8
- },
9
- "symbols": [
10
- "AAPL",
11
- "NVDA",
12
- "MSFT",
13
- "TSM",
14
- "GOOGL",
15
- "META",
16
- "AVGO",
17
- "TSLA",
18
- "SAP",
19
- "LLY",
20
- "XOM",
21
- "JNJ",
22
- "TOELY",
23
- "AMD",
24
- "ABBV"
 
 
 
 
25
  ],
26
- "config": {
27
- "hidden_sizes": [
28
- 64,
29
- 64
30
- ],
31
- "activation": "relu",
32
- "actor_lr": 0.0003,
33
- "critic_lr": 0.0003,
34
- "alpha_lr": 0.0003,
35
- "tau": 0.005,
36
- "gamma": 0.99,
37
- "auto_entropy_tuning": true,
38
- "target_entropy": -16.0,
39
- "init_alpha": 0.2,
40
- "buffer_size": 10000,
41
- "batch_size": 64,
42
- "gradient_steps_per_env_step": 1,
43
- "warmup_steps": 100,
44
- "total_timesteps": 10000,
45
- "weight_decay": 0.0001,
46
- "max_grad_norm": 1.0,
47
- "q_value_clip": 100.0,
48
- "normalize_rewards": true,
49
- "cost_bps": 10,
50
- "cash_buffer": 0.02,
51
- "max_position_weight": 0.2,
52
- "reward_scale": 100.0,
53
- "n_stocks": 15,
54
- "seed": 42,
55
- "validation_years": 2,
56
- "min_cagr_improvement": 0.0,
57
- "training_years": 10,
58
- "n_eval_folds": 3
59
- },
60
- "promoted": true,
61
- "prior_version": "v2026-01-23_4049af7e",
62
- "metrics": {
63
- "actor_loss": 0.2886562280863597,
64
- "critic_loss": 0.0,
65
- "avg_episode_return": 0.2663766610905494,
66
- "avg_episode_sharpe": 0.21521832368342012,
67
- "eval_sharpe": 0.6094980295249373,
68
- "eval_cagr": 0.12633316299206254,
69
- "eval_max_drawdown": 0.22111396255213112
70
- }
71
  }
 
1
  {
2
+ "model_type": "sac",
3
+ "version": "v2026-02-13_53ad3139",
4
+ "training_timestamp": "2026-02-15T00:21:21.587947+00:00",
5
+ "data_window": {
6
+ "start": "2011-01-01",
7
+ "end": "2026-02-13"
8
+ },
9
+ "symbols": [
10
+ "NVDA",
11
+ "AAPL",
12
+ "MSFT",
13
+ "TSM",
14
+ "GOOGL",
15
+ "META",
16
+ "AVGO",
17
+ "TSLA",
18
+ "SAP",
19
+ "LLY",
20
+ "XOM",
21
+ "JNJ",
22
+ "TOELY",
23
+ "MU"
24
+ ],
25
+ "config": {
26
+ "hidden_sizes": [
27
+ 64,
28
+ 64
29
  ],
30
+ "activation": "relu",
31
+ "actor_lr": 0.0003,
32
+ "critic_lr": 0.0003,
33
+ "alpha_lr": 0.0003,
34
+ "tau": 0.005,
35
+ "gamma": 0.97,
36
+ "auto_entropy_tuning": true,
37
+ "target_entropy": -16.0,
38
+ "init_alpha": 0.2,
39
+ "buffer_size": 10000,
40
+ "batch_size": 64,
41
+ "gradient_steps_per_env_step": 1,
42
+ "warmup_steps": 100,
43
+ "total_timesteps": 10000,
44
+ "weight_decay": 0.0001,
45
+ "max_grad_norm": 1.0,
46
+ "q_value_clip": 100.0,
47
+ "normalize_rewards": true,
48
+ "cost_bps": 10,
49
+ "cash_buffer": 0.02,
50
+ "max_position_weight": 0.2,
51
+ "reward_scale": 1.0,
52
+ "n_stocks": 15,
53
+ "seed": 42,
54
+ "validation_years": 2,
55
+ "min_cagr_improvement": 0.0,
56
+ "sharpe_weight": 0.5,
57
+ "sharpe_eta": 0.01,
58
+ "training_years": 10,
59
+ "n_eval_folds": 3
60
+ },
61
+ "promoted": true,
62
+ "prior_version": "v2026-01-30_a8b6fd41",
63
+ "metrics": {
64
+ "actor_loss": 0.47051061680353934,
65
+ "critic_loss": 0.0,
66
+ "avg_episode_return": 0.3164223983680193,
67
+ "avg_episode_sharpe": 0.23520403538043264,
68
+ "eval_sharpe": 1.239769458631745,
69
+ "eval_cagr": 0.302979570589738,
70
+ "eval_max_drawdown": 0.22627892173813877
71
+ }
 
 
 
72
  }
scaler.pkl CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:0a34b2052709c33de7aaf6be81e27e3ad51a627faeb864b78c024f9b38730635
3
- size 3738
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:946a2455924df0e7ccd5f23944abc9b0f93ce06d445011bd8c724370e827f4c5
3
+ size 3522
symbol_order.json CHANGED
@@ -1,6 +1,6 @@
1
  [
2
- "AAPL",
3
  "NVDA",
 
4
  "MSFT",
5
  "TSM",
6
  "GOOGL",
@@ -12,6 +12,5 @@
12
  "XOM",
13
  "JNJ",
14
  "TOELY",
15
- "AMD",
16
- "ABBV"
17
  ]
 
1
  [
 
2
  "NVDA",
3
+ "AAPL",
4
  "MSFT",
5
  "TSM",
6
  "GOOGL",
 
12
  "XOM",
13
  "JNJ",
14
  "TOELY",
15
+ "MU"
 
16
  ]