You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

322 lines
30 KiB

[2739486:MainThread](2026-02-26 22:59:30,849) INFO - qlib.Initialization - [config.py:413] - default_conf: client.
[2739486:MainThread](2026-02-26 22:59:30,854) INFO - qlib.Initialization - [__init__.py:74] - qlib successfully initialized based on client settings.
[2739486:MainThread](2026-02-26 22:59:30,855) INFO - qlib.Initialization - [__init__.py:76] - data_path={'__DEFAULT_FREQ': PosixPath('/data/qlib/default/data_ops/target')}
================================================================================
DUMP GOLD-STANDARD DATA FROM QLIB PIPELINE
================================================================================
Date Range: 2020-01-02 to 2020-01-10
Output Directory: /home/guofu/Workspaces/alpha_lab/stock_1d/d033/alpha158_beta/data
Qlib Dataset Path: /home/guofu/Workspaces/alpha/data_ops/tasks/dwm_feature_vae/dataset/csiallx_feature2_ntrla_flag_pnlnorm/
Step 1: Loading data from Qlib pipeline...
Loading since_date=2020-01-02
Loading data with handler (load_start=2019-12-13)...
Will use `placehorder_value` from module: qlib.contrib.data.config
Will init handler object from config:
{'data_handler_config': {'ddb_config': {'host': '192.168.1.146',
'password': '123456',
'port': 8848,
'username': 'admin'},
'end_time': datetime.date(2026, 2, 26),
'handler_list': [{'class': 'DDBAlpha158Handler',
'kwargs': {'col_set': 'feature',
'query_config': [{'alpha158_config': 'alpha158_expr.csv',
'db_path': 'dfs://daily_stock_run',
'dtype': 'float32',
'field_list': 'alpha158',
'table_name': 'stg_1day_wind_alpha158_0_7'}]},
'module_path': 'qlib.contrib.data.ddb_handlers.ddb_alpha158_handler'},
{'class': 'DDBMarketExtHandler',
'kwargs': {'col_set': 'feature_ext',
'query_config': [{'db_path': 'dfs://daily_stock_run',
'dtype': 'float32',
'field_list': ['Turnover '
'as '
'turnover',
'FreeTurnover '
'as '
'free_turnover',
'log(MarketValue) '
'as '
'log_size'],
'table_name': 'stg_1day_wind_kline_adjusted'},
{'db_path': 'dfs://daily_stock_run',
'dtype': 'float32',
'field_list': ['con_rating_strength'],
'table_name': 'stg_1day_gds_con_rating'}]},
'module_path': 'qlib.contrib.data.ddb_handlers.ddb_market_ext_handler'},
{'class': 'DDBMarketFlagHandler',
'kwargs': {'col_set': 'feature_flag',
'query_config': [{'db_path': 'dfs://daily_stock_run',
'dtype': 'bool',
'field_list': ['IsZt',
'IsDt',
'IsN',
'IsXD',
'IsXR',
'IsDR'],
'table_name': 'stg_1day_wind_kline_adjusted'},
{'db_path': 'dfs://daily_stock_run',
'dtype': 'bool',
'field_list': ['open_limit',
'close_limit',
'low_limit',
'open_stop',
'close_stop',
'high_stop'],
'table_name': 'stg_1day_wind_market_flag'}]},
'module_path': 'qlib.contrib.data.ddb_handlers.ddb_market_flag_handler'},
{'class': 'DDBIndusFlagHandler',
'kwargs': {'col_set': 'indus_flag',
'query_config': [{'db_path': 'dfs://daily_stock_run',
'dtype': 'bool',
'field_list': 'industry_code_cc.csv',
'table_name': 'stg_1day_gds_indus_flag_cc1'}]},
'module_path': 'qlib.contrib.data.ddb_handlers.ddb_indus_flag_handler'},
{'class': 'DDBStFlagHandler',
'kwargs': {'col_set': 'st_flag',
'query_config': [{'db_path': 'dfs://daily_stock_run',
'dtype': 'bool',
'field_list': ['ST_Y',
'ST_S',
'ST_T',
'ST_L',
'ST_Z',
'ST_X'],
'table_name': 'stg_1day_wind_st_flag'}]},
'module_path': 'qlib.contrib.data.ddb_handlers.ddb_st_flag_handler'}],
'instruments': 'csiallx',
'start_time': Timestamp('2019-11-23 00:00:00')},
'ddb_config': {'host': '192.168.1.146',
'password': '123456',
'port': 8848,
'username': 'admin'},
'handler': {'class': 'AggHandler',
'kwargs': {'ddb_config': {'host': '192.168.1.146',
'password': '123456',
'port': 8848,
'username': 'admin'},
[2739486:MainThread](2026-02-26 22:59:30,878) INFO - qlib.AggHandler - [agg_handler.py:79] - Will use AggHandler
[2739486:MainThread](2026-02-26 22:59:30,878) WARNING - qlib.DataLoaderDH - [agg_handler.py:191] - instruments[csiallx] is ignored
[2739486:MainThread](2026-02-26 22:59:30,938) INFO - qlib.DDBDataLoader - [__init__.py:196] - Will use sql template on 192.168.1.146:
use mytt;
select code,m_nDate,KMID,KLEN,KMID2,KUP,KUP2,KLOW,KLOW2,KSFT,KSFT2,OPEN0,HIGH0,LOW0,VWAP0,ROC5,ROC10,ROC20,ROC30,ROC60,MA5,MA10,MA20,MA30,MA60,STD5,STD10,STD20,STD30,STD60,BETA5,BETA10,BETA20,BETA30,BETA60,RSQR5,RSQR10,RSQR20,RSQR30,RSQR60,RESI5,RESI10,RESI20,RESI30,RESI60,MAX5,MAX10,MAX20,MAX30,MAX60,MIN5,MIN10,MIN20,MIN30,MIN60,QTLU5,QTLU10,QTLU20,QTLU30,QTLU60,QTLD5,QTLD10,QTLD20,QTLD30,QTLD60,RANK5,RANK10,RANK20,RANK30,RANK60,RSV5,RSV10,RSV20,RSV30,RSV60,IMAX5,IMAX
[2739486:MainThread](2026-02-26 23:07:16,353) INFO - qlib.timer - [log.py:117] - Time cost: 465.464s | DDB query: Done
[2739486:MainThread](2026-02-26 23:07:17,149) INFO - qlib.DDBDataLoader - [__init__.py:219] - The last time point: 2026-02-26 00:00:00
'end_time': datetime.date(2026, 2, 26),
'handler_list': [{'class': 'DDBAlpha158Handler',
'kwargs': {'col_set': 'feature',
'query_config': [{'alpha158_config': 'alpha158_expr.csv',
'db_path': 'dfs://daily_stock_run',
'dtype': 'float32',
'field_list': 'alpha158',
'table_name': 'stg_1day_wind_alpha158_0_7'}]},
'module_path': 'qlib.contrib.data.ddb_handlers.ddb_alpha158_handler'},
{'class': 'DDBMarketExtHandler',
'kwargs': {'col_set': 'feature_ext',
'query_config': [{'db_path': 'dfs://daily_stock_run',
'dtype': 'float32',
'field_list': ['Turnover '
'as '
'turnover',
'FreeTurnover '
'as '
'free_turnover',
'log(MarketValue) '
'as '
'log_size'],
'table_name': 'stg_1day_wind_kline_adjusted'},
{'db_path': 'dfs://daily_stock_run',
'dtype': 'float32',
'field_list': ['con_rating_strength'],
'table_name': 'stg_1day_gds_con_rating'}]},
'module_path': 'qlib.contrib.data.ddb_handlers.ddb_market_ext_handler'},
{'class': 'DDBMarketFlagHandler',
'kwargs': {'col_set': 'feature_flag',
'query_config': [{'db_path': 'dfs://daily_stock_run',
'dtype': 'bool',
'field_list': ['IsZt',
'IsDt',
'IsN',
'IsXD',
'IsXR',
'IsDR'],
'table_name': 'stg_1day_wind_kline_adjusted'},
{'db_path': 'dfs://daily_stock_run',
'dtype': 'bool',
'field_list': ['open_limit',
'close_limit',
'low_limit',
'open_stop',
'close_stop',
'high_stop'],
'table_name': 'stg_1day_wind_market_flag'}]},
'module_path': 'qlib.contrib.data.ddb_handlers.ddb_market_flag_handler'},
{'class': 'DDBIndusFlagHandler',
'kwargs': {'col_set': 'indus_flag',
'query_config': [{'db_path': 'dfs://daily_stock_run',
'dtype': 'bool',
'field_list': 'industry_code_cc.csv',
'table_name': 'stg_1day_gds_indus_flag_cc1'}]},
'module_path': 'qlib.contrib.data.ddb_handlers.ddb_indus_flag_handler'},
{'class': 'DDBStFlagHandler',
'kwargs': {'col_set': 'st_flag',
'query_config': [{'db_path': 'dfs://daily_stock_run',
'dtype': 'bool',
'field_list': ['ST_Y',
'ST_S',
'ST_T',
'ST_L',
'ST_Z',
'ST_X'],
'table_name': 'stg_1day_wind_st_flag'}]},
'module_path': 'qlib.contrib.data.ddb_handlers.ddb_st_flag_handler'}],
'instruments': 'csiallx',
'start_time': Timestamp('2019-11-23 00:00:00')},
'module_path': 'qlib.contrib.data.agg_handler'},
'load_end': datetime.date(2026, 2, 26),
'load_start': Timestamp('2019-11-23 00:00:00'),
'market': 'csiallx',
'qlib_init': {'provider_uri': '/home/guofu/.qlib/data_ops/target',
'region': 'cn'}}
Query config:
#alpha158: 1;
Will use float32 for <qlib.contrib.data.ddb_data_loader.DDBDataLoader object at 0x71847694be90>
[2739486:MainThread](2026-02-26 23:09:19,001) INFO - qlib.timer - [log.py:117] - Time cost: 112.707s | Instruments filter: Done
[2739486:MainThread](2026-02-26 23:09:26,016) INFO - qlib.timer - [log.py:117] - Time cost: 595.133s | Loading data (<qlib.contrib.data.ddb_handlers.ddb_alpha158_handler.DDBAlpha158Handler object at 0x7184769a5fa0>) Done
[2739486:MainThread](2026-02-26 23:09:26,017) INFO - qlib.timer - [log.py:117] - Time cost: 595.135s | Init data (<qlib.contrib.data.ddb_handlers.ddb_alpha158_handler.DDBAlpha158Handler object at 0x7184769a5fa0>) Done
[2739486:MainThread](2026-02-26 23:09:26,019) INFO - qlib.timer - [log.py:117] - Time cost: 0.000s | fetch_df_by_cols Done
[2739486:MainThread](2026-02-26 23:09:29,432) INFO - qlib.timer - [log.py:117] - Time cost: 3.412s | fetch_df_by_index Done
[2739486:MainThread](2026-02-26 23:09:31,228) INFO - qlib.DataLoaderDH - [agg_handler.py:215] - Did fetch @slice(Timestamp('2019-11-23 00:00:00'), datetime.date(2026, 2, 26), None)
KMID KLEN ... VSUMD30 VSUMD60
datetime instrument ...
2019-11-25 SH600000 0.003325 0.011638 ... -0.238055 -0.010125
SH600004 -0.013806 0.030012 ... -0.017610 0.039195
SH600006 0.009238 0.016166 ... -0.034782 -0.014306
SH600007 -0.014749 0.018879 ... -0.032427 0.034279
SH600008 0.009259 0.024691 ... -0.063490 0.003978
... ... ... ... ... ...
2026-02-26 SZ301658 -0.017231 0.025231 ... -0.018706 0.003708
SZ301662 0.060584 0.087834 ... -0.014658 -0.014613
SZ301665 -0.012899 0.040541 ... 0.083229 0.055994
SZ301678 0.018182 0.027879 ... -0.054124 0.014202
SZ302132 0.001754 0.016416 ... -0.049558 -0.038667
[6908346 rows x 158 columns]
[2739486:MainThread](2026-02-26 23:09:31,229) INFO - qlib.timer - [log.py:117] - Time cost: 5.211s | Fetching dataframe Done
[2739486:MainThread](2026-02-26 23:09:31,242) INFO - qlib.DDBDataLoader - [__init__.py:196] - Will use sql template on 192.168.1.146:
use mytt;
select code,m_nDate,Turnover as turnover,FreeTurnover as free_turnover,log(MarketValue) as log_size from
loadTable("dfs://daily_stock_run", "stg_1day_wind_kline_adjusted")
where m_nDate>=2019.11.23 and m_nDate<=2026.02.26 and code in ('SH600373','SZ300557','SZ000416','SZ002156','SH600500','SZ002123','SZ000610','SH601699','SH603336','SZ000663','SH600713','SZ300623','SZ002840','SH601881','SZ000632','SH600030','SZ002101','SH600633','SH603797','SZ3
[2739486:MainThread](2026-02-26 23:09:54,142) INFO - qlib.timer - [log.py:117] - Time cost: 22.909s | DDB query: Done
[2739486:MainThread](2026-02-26 23:09:54,927) INFO - qlib.DDBDataLoader - [__init__.py:219] - The last time point: 2026-02-26 00:00:00
[2739486:MainThread](2026-02-26 23:09:55,507) INFO - qlib.DDBDataLoader - [__init__.py:196] - Will use sql template on 192.168.1.146:
use mytt;
select code,m_nDate,con_rating_strength from
loadTable("dfs://daily_stock_run", "stg_1day_gds_con_rating")
where m_nDate>=2019.11.23 and m_nDate<=2026.02.26 and code in ('SH600373','SZ300557','SZ000416','SZ002156','SH600500','SZ002123','SZ000610','SH601699','SH603336','SZ000663','SH600713','SZ300623','SZ002840','SH601881','SZ000632','SH600030','SZ002101','SH600633','SH603797','SZ300563','SZ002281','SZ000972','SH600077','SZ300657','SZ002833','SH
[2739486:MainThread](2026-02-26 23:10:10,691) INFO - qlib.timer - [log.py:117] - Time cost: 15.192s | DDB query: Done
[2739486:MainThread](2026-02-26 23:10:11,588) INFO - qlib.DDBDataLoader - [__init__.py:219] - The last time point: 2026-02-26 00:00:00
[2739486:MainThread](2026-02-26 23:11:37,528) INFO - qlib.timer - [log.py:117] - Time cost: 82.525s | Instruments filter: Done
[2739486:MainThread](2026-02-26 23:11:38,259) INFO - qlib.timer - [log.py:117] - Time cost: 127.029s | Loading data (<qlib.contrib.data.ddb_handlers.ddb_market_ext_handler.DDBMarketExtHandler object at 0x7185777e3e90>) Done
[2739486:MainThread](2026-02-26 23:11:38,260) INFO - qlib.timer - [log.py:117] - Time cost: 127.030s | Init data (<qlib.contrib.data.ddb_handlers.ddb_market_ext_handler.DDBMarketExtHandler object at 0x7185777e3e90>) Done
[2739486:MainThread](2026-02-26 23:11:38,261) INFO - qlib.timer - [log.py:117] - Time cost: 0.000s | fetch_df_by_cols Done
[2739486:MainThread](2026-02-26 23:11:39,000) INFO - qlib.timer - [log.py:117] - Time cost: 0.738s | fetch_df_by_index Done
[2739486:MainThread](2026-02-26 23:11:39,009) INFO - qlib.DataLoaderDH - [agg_handler.py:215] - Did fetch @slice(Timestamp('2019-11-23 00:00:00'), datetime.date(2026, 2, 26), None)
turnover free_turnover log_size con_rating_strength
datetime instrument
2019-11-25 SH600000 0.0895 0.1639 17.339552 0.8214
SH600004 0.9386 1.9173 15.039255 0.8125
SH600006 0.2566 0.6479 13.680836 1.0000
SH600007 0.1647 0.8513 14.335590 0.7500
SH600008 0.1813 0.3362 14.435625 0.6875
... ... ... ... ...
2026-02-26 SZ301658 6.0785 6.0785 11.788368 NaN
SZ301662 12.5950 12.5950 12.681215 1.0000
SZ301665 14.0077 14.0077 11.719415 1.0000
SZ301678 6.6518 6.6518 12.799973 0.7500
SZ302132 1.3868 3.0296 15.359885 0.8750
[7623255 rows x 4 columns]
[2739486:MainThread](2026-02-26 23:11:39,010) INFO - qlib.timer - [log.py:117] - Time cost: 0.749s | Fetching dataframe Done
[2739486:MainThread](2026-02-26 23:11:39,191) INFO - qlib.DDBDataLoader - [__init__.py:196] - Will use sql template on 192.168.1.146:
use mytt;
select code,m_nDate,IsZt,IsDt,IsN,IsXD,IsXR,IsDR from
loadTable("dfs://daily_stock_run", "stg_1day_wind_kline_adjusted")
where m_nDate>=2019.11.23 and m_nDate<=2026.02.26 and code in ('SH600373','SZ300557','SZ000416','SZ002156','SH600500','SZ002123','SZ000610','SH601699','SH603336','SZ000663','SH600713','SZ300623','SZ002840','SH601881','SZ000632','SH600030','SZ002101','SH600633','SH603797','SZ300563','SZ002281','SZ000972','SH600077','SZ300657',
[2739486:MainThread](2026-02-26 23:12:05,839) INFO - qlib.timer - [log.py:117] - Time cost: 26.825s | DDB query: Done
[2739486:MainThread](2026-02-26 23:12:06,554) INFO - qlib.DDBDataLoader - [__init__.py:219] - The last time point: 2026-02-26 00:00:00
[2739486:MainThread](2026-02-26 23:12:07,075) INFO - qlib.DDBDataLoader - [__init__.py:196] - Will use sql template on 192.168.1.146:
use mytt;
select code,m_nDate,open_limit,close_limit,low_limit,open_stop,close_stop,high_stop from
loadTable("dfs://daily_stock_run", "stg_1day_wind_market_flag")
where m_nDate>=2019.11.23 and m_nDate<=2026.02.26 and code in ('SH600373','SZ300557','SZ000416','SZ002156','SH600500','SZ002123','SZ000610','SH601699','SH603336','SZ000663','SH600713','SZ300623','SZ002840','SH601881','SZ000632','SH600030','SZ002101','SH600633','SH603797','SZ300563','SZ002281','
[2739486:MainThread](2026-02-26 23:12:32,695) INFO - qlib.timer - [log.py:117] - Time cost: 25.629s | DDB query: Done
[2739486:MainThread](2026-02-26 23:12:33,566) INFO - qlib.DDBDataLoader - [__init__.py:219] - The last time point: 2026-02-26 00:00:00
[2739486:MainThread](2026-02-26 23:14:02,232) INFO - qlib.timer - [log.py:117] - Time cost: 85.158s | Instruments filter: Done
[2739486:MainThread](2026-02-26 23:14:03,155) INFO - qlib.timer - [log.py:117] - Time cost: 144.143s | Loading data (<qlib.contrib.data.ddb_handlers.ddb_market_flag_handler.DDBMarketFlagHandler object at 0x718478991880>) Done
[2739486:MainThread](2026-02-26 23:14:03,156) INFO - qlib.timer - [log.py:117] - Time cost: 144.144s | Init data (<qlib.contrib.data.ddb_handlers.ddb_market_flag_handler.DDBMarketFlagHandler object at 0x718478991880>) Done
[2739486:MainThread](2026-02-26 23:14:03,156) INFO - qlib.timer - [log.py:117] - Time cost: 0.000s | fetch_df_by_cols Done
[2739486:MainThread](2026-02-26 23:14:04,046) INFO - qlib.timer - [log.py:117] - Time cost: 0.889s | fetch_df_by_index Done
[2739486:MainThread](2026-02-26 23:14:04,060) INFO - qlib.DataLoaderDH - [agg_handler.py:215] - Did fetch @slice(Timestamp('2019-11-23 00:00:00'), datetime.date(2026, 2, 26), None)
IsZt IsDt IsN ... open_stop close_stop high_stop
datetime instrument ...
2019-11-25 SH600000 False False False ... False False False
SH600004 False False False ... False False False
SH600006 False False False ... False False False
SH600007 False False False ... False False False
SH600008 False False False ... False False False
... ... ... ... ... ... ... ...
2026-02-26 SZ301658 False False False ... False False False
SZ301662 False False False ... False False False
SZ301665 False False False ... False False False
SZ301678 False False False ... False False False
SZ302132 False False False ... False False False
[6925320 rows x 12 columns]
[2739486:MainThread](2026-02-26 23:14:04,061) INFO - qlib.timer - [log.py:117] - Time cost: 0.904s | Fetching dataframe Done
[2739486:MainThread](2026-02-26 23:14:04,079) INFO - qlib.DDBDataLoader - [__init__.py:196] - Will use sql template on 192.168.1.146:
use mytt;
select code,m_nDate,gds_CC10,gds_CC11,gds_CC12,gds_CC20,gds_CC21,gds_CC22,gds_CC23,gds_CC24,gds_CC25,gds_CC26,gds_CC27,gds_CC28,gds_CC30,gds_CC31,gds_CC32,gds_CC33,gds_CC34,gds_CC35,gds_CC36,gds_CC37,gds_CC40,gds_CC41,gds_CC42,gds_CC43,gds_CC50,gds_CC60,gds_CC61,gds_CC62,gds_CC63,gds_CC70 from
loadTable("dfs://daily_stock_run", "stg_1day_gds_indus_flag_cc1")
where m_nDate>=2019.11.23 and m_nDate<=2026.02.26 and code in ('SH600373','SZ300557','S
[2739486:MainThread](2026-02-26 23:14:06,440) INFO - qlib.timer - [log.py:117] - Time cost: 2.370s | DDB query: Done
[2739486:MainThread](2026-02-26 23:14:06,448) INFO - qlib.DDBDataLoader - [__init__.py:219] - The last time point: 2026-02-26 00:00:00
[2739486:MainThread](2026-02-26 23:15:23,146) INFO - qlib.timer - [log.py:117] - Time cost: 76.695s | Instruments filter: Done
[2739486:MainThread](2026-02-26 23:15:23,184) INFO - qlib.timer - [log.py:117] - Time cost: 79.120s | Loading data (<qlib.contrib.data.ddb_handlers.ddb_indus_flag_handler.DDBIndusFlagHandler object at 0x7184782fa0c0>) Done
[2739486:MainThread](2026-02-26 23:15:23,185) INFO - qlib.timer - [log.py:117] - Time cost: 79.121s | Init data (<qlib.contrib.data.ddb_handlers.ddb_indus_flag_handler.DDBIndusFlagHandler object at 0x7184782fa0c0>) Done
[2739486:MainThread](2026-02-26 23:15:23,186) INFO - qlib.timer - [log.py:117] - Time cost: 0.000s | fetch_df_by_cols Done
[2739486:MainThread](2026-02-26 23:15:23,190) INFO - qlib.timer - [log.py:117] - Time cost: 0.003s | fetch_df_by_index Done
[2739486:MainThread](2026-02-26 23:15:23,210) INFO - qlib.DataLoaderDH - [agg_handler.py:215] - Did fetch @slice(Timestamp('2019-11-23 00:00:00'), datetime.date(2026, 2, 26), None)
gds_CC10 gds_CC11 ... gds_CC63 gds_CC70
datetime instrument ...
2026-02-09 SH600000 False False ... False False
SH600004 False False ... False False
SH600006 False False ... False False
SH600007 False False ... False False
SH600008 False False ... False False
... ... ... ... ... ...
2026-02-26 SZ301658 False False ... False False
SZ301662 False False ... False False
SZ301665 False False ... False False
SZ301678 False False ... False False
SZ302132 False False ... False False
[41168 rows x 30 columns]
[2739486:MainThread](2026-02-26 23:15:23,210) INFO - qlib.timer - [log.py:117] - Time cost: 0.025s | Fetching dataframe Done
[2739486:MainThread](2026-02-26 23:15:23,226) INFO - qlib.DDBDataLoader - [__init__.py:196] - Will use sql template on 192.168.1.146:
use mytt;
select code,m_nDate,ST_Y,ST_S,ST_T,ST_L,ST_Z,ST_X from
loadTable("dfs://daily_stock_run", "stg_1day_wind_st_flag")
where m_nDate>=2019.11.23 and m_nDate<=2026.02.26 and code in ('SH600373','SZ300557','SZ000416','SZ002156','SH600500','SZ002123','SZ000610','SH601699','SH603336','SZ000663','SH600713','SZ300623','SZ002840','SH601881','SZ000632','SH600030','SZ002101','SH600633','SH603797','SZ300563','SZ002281','SZ000972','SH600077','SZ300657','SZ002
[2739486:MainThread](2026-02-26 23:15:53,388) INFO - qlib.timer - [log.py:117] - Time cost: 30.171s | DDB query: Done
[2739486:MainThread](2026-02-26 23:15:54,166) INFO - qlib.DDBDataLoader - [__init__.py:219] - The last time point: 2026-02-26 00:00:00