2025-06-30 19:07:24 | WARNING | dataFuture:get_latest_valid_dir:99 - 使用的数据目录日期(2025-06-27)不是今天(2025-06-30),可能不是最新数据
生成的参数组合数量:18
2025-06-30 19:07:28 | INFO | metric_online:run_with_hydra:842 - {'envs': {'env': {'mode': 'prod', 'enable_monitor': False, 'n_jobs': 1}, 'incremental': {'enabled': True, 'lookback_days': 20, 'start_date': None, 'end_date': 'today'}, 'run': {'n_jobs': 1, 'retry_times': 3, 'retry_delay': 2}, 'shard': {'num_shards': 1, 'shard_id': 0}}}
2025-06-30 19:07:28 | INFO | metric_online:run_with_hydra:889 - Total tasks generated: 1
2025-06-30 19:07:28 | INFO | metric_online:run_with_hydra:902 - Starting parallel execution with n_jobs=1...
2025-06-30 19:07:35 | INFO | metric_online:main2:781 - save train test done /root/data/Research1//feature/finalcomd//B8Wstats250412/B8Wstats250412_0--combo52
2025-06-30 19:09:51 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:09:51 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:09:51 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:09:52 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:09:53 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:09:53 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:09:53 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:09:54 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:09:57 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:09:57 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:09:58 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:09:58 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:09:58 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:09:59 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:00 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:00 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:00 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:01 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:01 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:01 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:02 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:02 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:03 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:03 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:05 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:05 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:06 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:06 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:07 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:07 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:07 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:08 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:08 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:08 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:09 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:10 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:10 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:10 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:11 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:11 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:11 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:12 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:12 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:12 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:13 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:14 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:14 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:14 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:15 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:15 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:15 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:16 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:16 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:16 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:17 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:17 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:17 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:10:18 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
{'obj': 'Sharpe', 'rm': 'MDD', 'model': 'Classic', 'method_mu': 'hist', 'method_cov': 'hist', 'linkage': 'single', 'leaf_order': True, 'codependence': 'pearson', 'lookback_period': 256, 'every': 10, 'nea': 5, 'split_every': False, 'normalize_every': False}
1%| | 1/106 [00:08<14:22, 8.21s/it, 2020-01-17 → 2021-02-04]
2%|▏ | 2/106 [00:14<11:57, 6.90s/it, 2020-02-08 → 2021-02-25]
3%|▎ | 3/106 [00:20<11:04, 6.45s/it, 2020-02-22 → 2021-03-11]
4%|▍ | 4/106 [00:25<10:32, 6.20s/it, 2020-03-07 → 2021-03-25]
5%|▍ | 5/106 [00:31<10:16, 6.10s/it, 2020-03-21 → 2021-04-09]
6%|▌ | 6/106 [00:37<10:04, 6.05s/it, 2020-04-04 → 2021-04-23]
7%|▋ | 7/106 [00:43<10:00, 6.06s/it, 2020-04-21 → 2021-05-12]
8%|▊ | 8/106 [00:49<09:55, 6.07s/it, 2020-05-08 → 2021-05-26]
8%|▊ | 9/106 [00:56<09:52, 6.11s/it, 2020-05-22 → 2021-06-09]
9%|▉ | 10/106 [01:02<09:44, 6.09s/it, 2020-06-05 → 2021-06-24]
10%|█ | 11/106 [01:08<09:35, 6.06s/it, 2020-06-19 → 2021-07-08]
11%|█▏ | 12/106 [01:14<09:29, 6.05s/it, 2020-07-07 → 2021-07-22]
12%|█▏ | 13/106 [01:20<09:21, 6.04s/it, 2020-07-21 → 2021-08-05]
13%|█▎ | 14/106 [01:26<09:18, 6.07s/it, 2020-08-04 → 2021-08-19]
14%|█▍ | 15/106 [01:32<09:13, 6.08s/it, 2020-08-18 → 2021-09-02]
15%|█▌ | 16/106 [01:38<09:07, 6.08s/it, 2020-09-01 → 2021-09-16]
16%|█▌ | 17/106 [01:44<09:03, 6.11s/it, 2020-09-15 → 2021-10-09]
17%|█▋ | 18/106 [01:50<08:59, 6.13s/it, 2020-09-29 → 2021-10-23]
18%|█▊ | 19/106 [01:57<08:54, 6.14s/it, 2020-10-21 → 2021-11-06]
19%|█▉ | 20/106 [02:03<08:48, 6.15s/it, 2020-11-04 → 2021-11-20]
20%|█▉ | 21/106 [02:09<08:42, 6.15s/it, 2020-11-18 → 2021-12-04]
21%|██ | 22/106 [02:15<08:37, 6.16s/it, 2020-12-02 → 2021-12-18]
22%|██▏ | 23/106 [02:21<08:30, 6.15s/it, 2020-12-16 → 2022-01-01]
23%|██▎ | 24/106 [02:27<08:24, 6.15s/it, 2020-12-30 → 2022-01-18]
24%|██▎ | 25/106 [02:34<08:18, 6.16s/it, 2021-01-14 → 2022-02-08]
25%|██▍ | 26/106 [02:40<08:11, 6.14s/it, 2021-01-28 → 2022-02-22]
25%|██▌ | 27/106 [02:46<08:05, 6.15s/it, 2021-02-11 → 2022-03-08]
26%|██▋ | 28/106 [02:52<07:58, 6.13s/it, 2021-03-04 → 2022-03-22]
27%|██▋ | 29/106 [02:58<07:51, 6.12s/it, 2021-03-18 → 2022-04-07]
28%|██▊ | 30/106 [03:04<07:42, 6.09s/it, 2021-04-01 → 2022-04-21]
29%|██▉ | 31/106 [03:10<07:36, 6.09s/it, 2021-04-16 → 2022-05-10]
30%|███ | 32/106 [03:16<07:30, 6.08s/it, 2021-04-30 → 2022-05-24]
31%|███ | 33/106 [03:22<07:24, 6.09s/it, 2021-05-19 → 2022-06-08]
32%|███▏ | 34/106 [03:28<07:17, 6.08s/it, 2021-06-02 → 2022-06-22]
33%|███▎ | 35/106 [03:34<07:11, 6.08s/it, 2021-06-17 → 2022-07-06]
34%|███▍ | 36/106 [03:41<07:06, 6.10s/it, 2021-07-01 → 2022-07-20]
35%|███▍ | 37/106 [03:47<06:59, 6.08s/it, 2021-07-15 → 2022-08-03]
36%|███▌ | 38/106 [03:53<06:52, 6.06s/it, 2021-07-29 → 2022-08-17]
37%|███▋ | 39/106 [03:59<06:45, 6.05s/it, 2021-08-12 → 2022-08-31]
38%|███▊ | 40/106 [04:05<06:38, 6.04s/it, 2021-08-26 → 2022-09-15]
39%|███▊ | 41/106 [04:11<06:33, 6.05s/it, 2021-09-09 → 2022-09-29]
40%|███▉ | 42/106 [04:17<06:26, 6.04s/it, 2021-09-25 → 2022-10-20]
41%|████ | 43/106 [04:23<06:19, 6.03s/it, 2021-10-16 → 2022-11-03]
42%|████▏ | 44/106 [04:29<06:13, 6.03s/it, 2021-10-30 → 2022-11-17]
42%|████▏ | 45/106 [04:35<06:10, 6.07s/it, 2021-11-13 → 2022-12-01]
43%|████▎ | 46/106 [04:41<06:10, 6.18s/it, 2021-11-27 → 2022-12-15]
44%|████▍ | 47/106 [04:48<06:03, 6.16s/it, 2021-12-11 → 2022-12-29]
45%|████▌ | 48/106 [04:54<05:54, 6.12s/it, 2021-12-25 → 2023-01-13]
46%|████▌ | 49/106 [04:59<05:43, 6.03s/it, 2022-01-11 → 2023-02-03]
47%|████▋ | 50/106 [05:05<05:35, 6.00s/it, 2022-01-25 → 2023-02-17]
48%|████▊ | 51/106 [05:11<05:30, 6.02s/it, 2022-02-15 → 2023-03-03]
49%|████▉ | 52/106 [05:18<05:27, 6.07s/it, 2022-03-01 → 2023-03-17]
50%|█████ | 53/106 [05:24<05:23, 6.10s/it, 2022-03-15 → 2023-03-31]
51%|█████ | 54/106 [05:30<05:18, 6.12s/it, 2022-03-29 → 2023-04-15]
52%|█████▏ | 55/106 [05:36<05:13, 6.15s/it, 2022-04-14 → 2023-04-29]
53%|█████▎ | 56/106 [05:42<05:06, 6.14s/it, 2022-04-28 → 2023-05-18]
54%|█████▍ | 57/106 [05:48<04:59, 6.11s/it, 2022-05-17 → 2023-06-01]
55%|█████▍ | 58/106 [05:55<04:55, 6.16s/it, 2022-05-31 → 2023-06-15]
56%|█████▌ | 59/106 [06:01<04:50, 6.17s/it, 2022-06-15 → 2023-07-01]
57%|█████▋ | 60/106 [06:07<04:44, 6.18s/it, 2022-06-29 → 2023-07-15]
58%|█████▊ | 61/106 [06:13<04:37, 6.18s/it, 2022-07-13 → 2023-07-29]
58%|█████▊ | 62/106 [06:19<04:30, 6.14s/it, 2022-07-27 → 2023-08-12]
59%|█████▉ | 63/106 [06:25<04:23, 6.12s/it, 2022-08-10 → 2023-08-26]
60%|██████ | 64/106 [06:31<04:16, 6.11s/it, 2022-08-24 → 2023-09-09]
61%|██████▏ | 65/106 [06:37<04:09, 6.08s/it, 2022-09-07 → 2023-09-23]
62%|██████▏ | 66/106 [06:43<04:03, 6.08s/it, 2022-09-22 → 2023-10-17]
63%|██████▎ | 67/106 [06:49<03:56, 6.06s/it, 2022-10-13 → 2023-10-31]
64%|██████▍ | 68/106 [06:56<03:53, 6.14s/it, 2022-10-27 → 2023-11-14]
65%|██████▌ | 69/106 [07:02<03:49, 6.19s/it, 2022-11-10 → 2023-11-28]
66%|██████▌ | 70/106 [07:08<03:44, 6.24s/it, 2022-11-24 → 2023-12-12]
67%|██████▋ | 71/106 [07:15<03:39, 6.26s/it, 2022-12-08 → 2023-12-26]
68%|██████▊ | 72/106 [07:21<03:33, 6.27s/it, 2022-12-22 → 2024-01-10]
69%|██████▉ | 73/106 [07:27<03:27, 6.28s/it, 2023-01-06 → 2024-01-24]
70%|██████▉ | 74/106 [07:34<03:20, 6.28s/it, 2023-01-20 → 2024-02-07]
71%|███████ | 75/106 [07:40<03:15, 6.29s/it, 2023-02-10 → 2024-02-29]
72%|███████▏ | 76/106 [07:46<03:08, 6.29s/it, 2023-02-24 → 2024-03-14]
73%|███████▎ | 77/106 [07:52<03:01, 6.26s/it, 2023-03-10 → 2024-03-28]
74%|███████▎ | 78/106 [07:59<02:54, 6.25s/it, 2023-03-24 → 2024-04-13]
75%|███████▍ | 79/106 [08:05<02:49, 6.28s/it, 2023-04-08 → 2024-04-27]
75%|███████▌ | 80/106 [08:11<02:43, 6.30s/it, 2023-04-22 → 2024-05-16]
76%|███████▋ | 81/106 [08:18<02:37, 6.31s/it, 2023-05-11 → 2024-05-30]
77%|███████▋ | 82/106 [08:24<02:31, 6.32s/it, 2023-05-25 → 2024-06-14]
78%|███████▊ | 83/106 [08:30<02:25, 6.32s/it, 2023-06-08 → 2024-06-28]
79%|███████▉ | 84/106 [08:37<02:19, 6.34s/it, 2023-06-22 → 2024-07-12]
80%|████████ | 85/106 [08:43<02:12, 6.33s/it, 2023-07-08 → 2024-07-26]
81%|████████ | 86/106 [08:49<02:06, 6.34s/it, 2023-07-22 → 2024-08-09]
82%|████████▏ | 87/106 [08:56<02:00, 6.36s/it, 2023-08-05 → 2024-08-23]
83%|████████▎ | 88/106 [09:02<01:54, 6.35s/it, 2023-08-19 → 2024-09-06]
84%|████████▍ | 89/106 [09:08<01:47, 6.34s/it, 2023-09-02 → 2024-09-24]
85%|████████▍ | 90/106 [09:15<01:40, 6.30s/it, 2023-09-16 → 2024-10-15]
86%|████████▌ | 91/106 [09:21<01:34, 6.28s/it, 2023-10-10 → 2024-10-29]
87%|████████▋ | 92/106 [09:27<01:27, 6.28s/it, 2023-10-24 → 2024-11-12]
88%|████████▊ | 93/106 [09:33<01:21, 6.30s/it, 2023-11-07 → 2024-11-26]
89%|████████▊ | 94/106 [09:40<01:15, 6.29s/it, 2023-11-21 → 2024-12-10]
90%|████████▉ | 95/106 [09:46<01:09, 6.27s/it, 2023-12-05 → 2024-12-24]
91%|█████████ | 96/106 [09:52<01:02, 6.26s/it, 2023-12-19 → 2025-01-08]
92%|█████████▏| 97/106 [09:58<00:56, 6.25s/it, 2024-01-03 → 2025-01-22]
92%|█████████▏| 98/106 [10:05<00:50, 6.27s/it, 2024-01-17 → 2025-02-13]
93%|█████████▎| 99/106 [10:11<00:44, 6.29s/it, 2024-01-31 → 2025-02-27]
94%|█████████▍| 100/106 [10:17<00:37, 6.30s/it, 2024-02-22 → 2025-03-13]
95%|█████████▌| 101/106 [10:24<00:31, 6.31s/it, 2024-03-07 → 2025-03-27]
96%|█████████▌| 102/106 [10:30<00:25, 6.31s/it, 2024-03-21 → 2025-04-11]
97%|█████████▋| 103/106 [10:36<00:18, 6.32s/it, 2024-04-04 → 2025-04-26]
98%|█████████▊| 104/106 [10:43<00:12, 6.36s/it, 2024-04-20 → 2025-05-15]
99%|█████████▉| 105/106 [10:49<00:06, 6.36s/it, 2024-05-09 → 2025-06-18]
100%|██████████| 106/106 [10:56<00:00, 6.35s/it, 2024-05-09 → 2025-06-18]
100%|██████████| 106/106 [10:56<00:00, 6.19s/it, 2024-05-09 → 2025-06-18]
2025-06-30 19:21:17 | INFO | metric_online:run_optimize_portfolio_new_with_sector_constraints:463 - [v7] 优化前的夏普率: 1.04832
2025-06-30 19:21:17 | INFO | metric_online:run_optimize_portfolio_new_with_sector_constraints:464 - [v7] 优化后的夏普率: 0.78974
2025-06-30 19:21:18 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:18 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:19 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:19 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:21 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:22 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:22 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:23 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:23 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:24 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:24 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:25 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:26 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:26 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:27 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:27 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:28 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:28 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:29 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:29 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:29 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:30 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:31 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:31 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:31 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:32 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:32 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:32 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:21:33 | WARNING | func_backtester_hf:run_sig2pos:979 - The given signal has NaN. Will use 0 to fill
{'obj': 'Sharpe', 'rm': 'MDD', 'model': 'Classic', 'method_mu': 'hist', 'method_cov': 'hist', 'linkage': 'single', 'leaf_order': True, 'codependence': 'pearson', 'lookback_period': 256, 'every': 10, 'nea': 5, 'split_every': False, 'normalize_every': False}
1%| | 1/106 [00:05<10:22, 5.93s/it, 2020-01-18 → 2021-02-05]
2%|▏ | 2/106 [00:11<10:13, 5.90s/it, 2020-02-11 → 2021-02-26]
3%|▎ | 3/106 [00:17<10:08, 5.91s/it, 2020-02-25 → 2021-03-12]
4%|▍ | 4/106 [00:23<09:58, 5.87s/it, 2020-03-10 → 2021-03-26]
5%|▍ | 5/106 [00:29<09:51, 5.86s/it, 2020-03-24 → 2021-04-10]
6%|▌ | 6/106 [00:35<09:51, 5.92s/it, 2020-04-08 → 2021-04-24]
7%|▋ | 7/106 [00:41<09:50, 5.96s/it, 2020-04-22 → 2021-05-13]
8%|▊ | 8/106 [00:47<09:49, 6.02s/it, 2020-05-09 → 2021-05-27]
8%|▊ | 9/106 [00:53<09:47, 6.05s/it, 2020-05-23 → 2021-06-10]
9%|▉ | 10/106 [00:59<09:43, 6.08s/it, 2020-06-06 → 2021-06-25]
10%|█ | 11/106 [01:05<09:34, 6.05s/it, 2020-06-20 → 2021-07-09]
11%|█▏ | 12/106 [01:11<09:28, 6.05s/it, 2020-07-08 → 2021-07-23]
12%|█▏ | 13/106 [01:17<09:21, 6.04s/it, 2020-07-22 → 2021-08-06]
13%|█▎ | 14/106 [01:23<09:15, 6.04s/it, 2020-08-05 → 2021-08-20]
14%|█▍ | 15/106 [01:29<09:09, 6.04s/it, 2020-08-19 → 2021-09-03]
15%|█▌ | 16/106 [01:36<09:04, 6.05s/it, 2020-09-02 → 2021-09-17]
16%|█▌ | 17/106 [01:42<09:01, 6.08s/it, 2020-09-16 → 2021-10-12]
17%|█▋ | 18/106 [01:48<08:54, 6.08s/it, 2020-09-30 → 2021-10-26]
18%|█▊ | 19/106 [01:54<08:49, 6.08s/it, 2020-10-22 → 2021-11-09]
19%|█▉ | 20/106 [02:00<08:42, 6.08s/it, 2020-11-05 → 2021-11-23]
20%|█▉ | 21/106 [02:06<08:36, 6.08s/it, 2020-11-19 → 2021-12-07]
21%|██ | 22/106 [02:12<08:29, 6.06s/it, 2020-12-03 → 2021-12-21]
22%|██▏ | 23/106 [02:18<08:24, 6.08s/it, 2020-12-17 → 2022-01-05]
23%|██▎ | 24/106 [02:24<08:19, 6.09s/it, 2020-12-31 → 2022-01-19]
24%|██▎ | 25/106 [02:30<08:13, 6.10s/it, 2021-01-15 → 2022-02-09]
25%|██▍ | 26/106 [02:37<08:10, 6.13s/it, 2021-01-29 → 2022-02-23]
25%|██▌ | 27/106 [02:43<08:05, 6.15s/it, 2021-02-19 → 2022-03-09]
26%|██▋ | 28/106 [02:49<07:59, 6.14s/it, 2021-03-05 → 2022-03-23]
27%|██▋ | 29/106 [02:55<07:52, 6.14s/it, 2021-03-19 → 2022-04-08]
28%|██▊ | 30/106 [03:01<07:45, 6.13s/it, 2021-04-02 → 2022-04-22]
29%|██▉ | 31/106 [03:07<07:39, 6.12s/it, 2021-04-17 → 2022-05-11]
30%|███ | 32/106 [03:13<07:32, 6.12s/it, 2021-05-01 → 2022-05-25]
31%|███ | 33/106 [03:19<07:25, 6.10s/it, 2021-05-20 → 2022-06-09]
32%|███▏ | 34/106 [03:26<07:19, 6.10s/it, 2021-06-03 → 2022-06-23]
33%|███▎ | 35/106 [03:32<07:11, 6.07s/it, 2021-06-18 → 2022-07-07]
34%|███▍ | 36/106 [03:38<07:03, 6.06s/it, 2021-07-02 → 2022-07-21]
35%|███▍ | 37/106 [03:44<06:56, 6.04s/it, 2021-07-16 → 2022-08-04]
36%|███▌ | 38/106 [03:50<06:50, 6.04s/it, 2021-07-30 → 2022-08-18]
37%|███▋ | 39/106 [03:56<06:44, 6.03s/it, 2021-08-13 → 2022-09-01]
38%|███▊ | 40/106 [04:02<06:40, 6.06s/it, 2021-08-27 → 2022-09-16]
39%|███▊ | 41/106 [04:08<06:33, 6.06s/it, 2021-09-10 → 2022-09-30]
40%|███▉ | 42/106 [04:14<06:27, 6.06s/it, 2021-09-28 → 2022-10-21]
41%|████ | 43/106 [04:20<06:21, 6.05s/it, 2021-10-19 → 2022-11-04]
42%|████▏ | 44/106 [04:26<06:14, 6.04s/it, 2021-11-02 → 2022-11-18]
42%|████▏ | 45/106 [04:32<06:08, 6.05s/it, 2021-11-16 → 2022-12-02]
43%|████▎ | 46/106 [04:38<06:03, 6.07s/it, 2021-11-30 → 2022-12-16]
44%|████▍ | 47/106 [04:44<05:58, 6.08s/it, 2021-12-14 → 2022-12-30]
45%|████▌ | 48/106 [04:50<05:51, 6.06s/it, 2021-12-28 → 2023-01-14]
46%|████▌ | 49/106 [04:56<05:41, 5.99s/it, 2022-01-12 → 2023-02-04]
47%|████▋ | 50/106 [05:02<05:33, 5.96s/it, 2022-01-26 → 2023-02-18]
48%|████▊ | 51/106 [05:08<05:29, 5.98s/it, 2022-02-16 → 2023-03-04]
49%|████▉ | 52/106 [05:14<05:25, 6.02s/it, 2022-03-02 → 2023-03-18]
50%|█████ | 53/106 [05:20<05:21, 6.07s/it, 2022-03-16 → 2023-04-01]
51%|█████ | 54/106 [05:26<05:16, 6.08s/it, 2022-03-30 → 2023-04-18]
52%|█████▏ | 55/106 [05:33<05:11, 6.10s/it, 2022-04-15 → 2023-05-05]
53%|█████▎ | 56/106 [05:39<05:05, 6.11s/it, 2022-04-29 → 2023-05-19]
54%|█████▍ | 57/106 [05:45<04:59, 6.11s/it, 2022-05-18 → 2023-06-02]
55%|█████▍ | 58/106 [05:51<04:54, 6.13s/it, 2022-06-01 → 2023-06-16]
56%|█████▌ | 59/106 [05:57<04:48, 6.14s/it, 2022-06-16 → 2023-07-04]
57%|█████▋ | 60/106 [06:03<04:43, 6.16s/it, 2022-06-30 → 2023-07-18]
58%|█████▊ | 61/106 [06:10<04:37, 6.17s/it, 2022-07-14 → 2023-08-01]
58%|█████▊ | 62/106 [06:16<04:31, 6.17s/it, 2022-07-28 → 2023-08-15]
59%|█████▉ | 63/106 [06:22<04:25, 6.18s/it, 2022-08-11 → 2023-08-29]
60%|██████ | 64/106 [06:28<04:20, 6.20s/it, 2022-08-25 → 2023-09-12]
61%|██████▏ | 65/106 [06:34<04:10, 6.11s/it, 2022-09-08 → 2023-09-26]
62%|██████▏ | 66/106 [06:40<04:02, 6.06s/it, 2022-09-23 → 2023-10-18]
63%|██████▎ | 67/106 [06:46<03:56, 6.05s/it, 2022-10-14 → 2023-11-01]
64%|██████▍ | 68/106 [06:52<03:51, 6.08s/it, 2022-10-28 → 2023-11-15]
65%|██████▌ | 69/106 [06:58<03:46, 6.13s/it, 2022-11-11 → 2023-11-29]
66%|██████▌ | 70/106 [07:05<03:42, 6.17s/it, 2022-11-25 → 2023-12-13]
67%|██████▋ | 71/106 [07:11<03:36, 6.17s/it, 2022-12-09 → 2023-12-27]
68%|██████▊ | 72/106 [07:17<03:31, 6.21s/it, 2022-12-23 → 2024-01-11]
69%|██████▉ | 73/106 [07:23<03:25, 6.24s/it, 2023-01-07 → 2024-01-25]
70%|██████▉ | 74/106 [07:30<03:20, 6.27s/it, 2023-01-21 → 2024-02-08]
71%|███████ | 75/106 [07:36<03:15, 6.30s/it, 2023-02-11 → 2024-03-01]
72%|███████▏ | 76/106 [07:42<03:08, 6.28s/it, 2023-02-25 → 2024-03-15]
73%|███████▎ | 77/106 [07:49<03:01, 6.26s/it, 2023-03-11 → 2024-03-29]
74%|███████▎ | 78/106 [07:55<02:55, 6.28s/it, 2023-03-25 → 2024-04-16]
75%|███████▍ | 79/106 [08:01<02:49, 6.26s/it, 2023-04-11 → 2024-04-30]
75%|███████▌ | 80/106 [08:07<02:42, 6.24s/it, 2023-04-25 → 2024-05-17]
76%|███████▋ | 81/106 [08:14<02:35, 6.23s/it, 2023-05-12 → 2024-05-31]
77%|███████▋ | 82/106 [08:20<02:30, 6.26s/it, 2023-05-26 → 2024-06-15]
78%|███████▊ | 83/106 [08:26<02:24, 6.29s/it, 2023-06-09 → 2024-06-29]
79%|███████▉ | 84/106 [08:33<02:18, 6.32s/it, 2023-06-27 → 2024-07-13]
80%|████████ | 85/106 [08:39<02:12, 6.32s/it, 2023-07-11 → 2024-07-27]
81%|████████ | 86/106 [08:45<02:06, 6.33s/it, 2023-07-25 → 2024-08-10]
82%|████████▏ | 87/106 [08:52<02:00, 6.33s/it, 2023-08-08 → 2024-08-24]
83%|████████▎ | 88/106 [08:58<01:53, 6.33s/it, 2023-08-22 → 2024-09-07]
84%|████████▍ | 89/106 [09:04<01:47, 6.34s/it, 2023-09-05 → 2024-09-25]
85%|████████▍ | 90/106 [09:11<01:41, 6.34s/it, 2023-09-19 → 2024-10-16]
86%|████████▌ | 91/106 [09:17<01:35, 6.34s/it, 2023-10-11 → 2024-10-30]
87%|████████▋ | 92/106 [09:23<01:28, 6.33s/it, 2023-10-25 → 2024-11-13]
88%|████████▊ | 93/106 [09:30<01:22, 6.33s/it, 2023-11-08 → 2024-11-27]
89%|████████▊ | 94/106 [09:36<01:15, 6.33s/it, 2023-11-22 → 2024-12-11]
90%|████████▉ | 95/106 [09:42<01:09, 6.35s/it, 2023-12-06 → 2024-12-25]
91%|█████████ | 96/106 [09:49<01:03, 6.31s/it, 2023-12-20 → 2025-01-09]
92%|█████████▏| 97/106 [09:55<00:56, 6.32s/it, 2024-01-04 → 2025-01-23]
92%|█████████▏| 98/106 [10:01<00:50, 6.32s/it, 2024-01-18 → 2025-02-14]
93%|█████████▎| 99/106 [10:08<00:44, 6.31s/it, 2024-02-01 → 2025-02-28]
94%|█████████▍| 100/106 [10:14<00:37, 6.33s/it, 2024-02-23 → 2025-03-14]
95%|█████████▌| 101/106 [10:20<00:31, 6.33s/it, 2024-03-08 → 2025-03-28]
96%|█████████▌| 102/106 [10:26<00:25, 6.30s/it, 2024-03-22 → 2025-04-15]
97%|█████████▋| 103/106 [10:33<00:18, 6.32s/it, 2024-04-09 → 2025-04-29]
98%|█████████▊| 104/106 [10:39<00:12, 6.30s/it, 2024-04-23 → 2025-05-16]
99%|█████████▉| 105/106 [10:45<00:06, 6.32s/it, 2024-05-10 → 2025-06-19]
100%|██████████| 106/106 [10:52<00:00, 6.32s/it, 2024-05-10 → 2025-06-19]
100%|██████████| 106/106 [10:52<00:00, 6.15s/it, 2024-05-10 → 2025-06-19]
2025-06-30 19:32:26 | INFO | metric_online:run_optimize_portfolio_new_with_sector_constraints:463 - [v8] 优化前的夏普率: 0.82435
2025-06-30 19:32:26 | INFO | metric_online:run_optimize_portfolio_new_with_sector_constraints:464 - [v8] 优化后的夏普率: 1.01102
2025-06-30 19:32:27 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:27 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:28 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:29 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:31 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:31 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:32 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:32 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:33 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:33 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:33 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:34 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:35 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:36 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:36 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:37 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:37 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:38 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:38 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:39 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:39 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:39 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:40 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:41 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:41 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:41 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:42 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:42 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
2025-06-30 19:32:43 | WARNING | func_backtester_hf:run_sig2pos:1020 - The given signal has NaN. Will use 0 to fill
[2025-06-30 19:32:45,064][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:45,065][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:45,073][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:45,074][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:45,080][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:45,081][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:47,051][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:47,053][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:47,061][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:47,062][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:47,069][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:47,070][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:48,802][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:48,803][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:48,810][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:48,811][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:48,818][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
[2025-06-30 19:32:48,819][matplotlib.category][INFO] - Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2025-06-30 19:32:53 | INFO | metric_online:run_with_hydra:919 - {'action': 'parallel_done', 'success_count': 1, 'fail_count': 0}
2025-06-30 19:32:53 | INFO | metric_online:run_with_hydra:924 - {'action': 'success', 'description': 'metric_online 完成'}