/usr/local/lib/python3.10/functools.py:889: DataOrientationWarning: Row orientation inferred during DataFrame construction. Explicitly specify the orientation by passing `orient="row"` to silence this warning.
return dispatch(args[0].__class__)(*args, **kw)
2025-07-27 23:14:39 | INFO | data_prepare::348 - {'action': 'data_prepare', 'status': 'started'}
2025-07-27 23:14:39 | INFO | data_prepare:gen_daily_data:233 - {'action': 'gen_daily_data', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:gen_daily_data:239 - {'action': 'connect_client', 'status': 'success'}
2025-07-27 23:14:46 | INFO | data_prepare:gen_daily_data:241 - {'action': 'fetch_meta_mapping', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:gen_daily_data:254 - {'action': 'get_trading_day_path', 'status': 'attempt'}
2025-07-27 23:14:46 | INFO | data_prepare:get_trading_day_path:67 - {'action': 'get_trading_day_path', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_trading_day_path:113 - {'action': 'get_trading_day_path', 'status': 'completed', 'path': '/root/data/Research1//daily_data//2025-07-25/'}
2025-07-27 23:14:46 | INFO | data_prepare:gen_daily_data:257 - {'action': 'fetch_data', 'status': 'started', 'category': 'basic_trading'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'switch', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'switch', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'history_factor', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'history_factor', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'volume', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'volume', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'settle', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'settle', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'pre_settle', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'pre_settle', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'contract', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'contract', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'factor_multiply', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'factor_multiply', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'close', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'close', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'opencol', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'opencol', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'turnover', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'turnover', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'high', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'high', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'low', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'low', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'open_interest', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'open_interest', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'near_contract_price', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'near_contract_price', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'dominant_contract_price', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'dominant_contract_price', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'near_basis', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'near_basis', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'dom_basis', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'dom_basis', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'near_basis_rate', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'near_basis_rate', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'dom_basis_rate', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'dom_basis_rate', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'long_hld', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'long_hld', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'long_chg', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'long_chg', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'short_hld', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'short_hld', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'short_chg', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'short_chg', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'vol', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'vol', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'vol_chg', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'vol_chg', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'maturity_month', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'maturity_month', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'maturity_day', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'maturity_day', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'contract_yymm', 'status': 'started'}
2025-07-27 23:14:46 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'contract_yymm', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:168 - {'action': 'get_save_reset_data', 'file': 'long_margin_rate_amount', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:221 - {'action': 'get_save_reset_data', 'file': 'long_margin_rate_amount', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:168 - {'action': 'get_save_reset_data', 'file': 'contract_multiplier', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:221 - {'action': 'get_save_reset_data', 'file': 'contract_multiplier', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:168 - {'action': 'get_save_reset_data', 'file': 'open_position_rate_amount', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:221 - {'action': 'get_save_reset_data', 'file': 'open_position_rate_amount', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:168 - {'action': 'get_save_reset_data', 'file': 'open_position_fee_per_hand', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:221 - {'action': 'get_save_reset_data', 'file': 'open_position_fee_per_hand', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:168 - {'action': 'get_save_reset_data', 'file': 'close_position_rate_amount', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:221 - {'action': 'get_save_reset_data', 'file': 'close_position_rate_amount', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:168 - {'action': 'get_save_reset_data', 'file': 'close_position_fee_per_hand', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:221 - {'action': 'get_save_reset_data', 'file': 'close_position_fee_per_hand', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:168 - {'action': 'get_save_reset_data', 'file': 'close_today_rate_amount', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:221 - {'action': 'get_save_reset_data', 'file': 'close_today_rate_amount', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:168 - {'action': 'get_save_reset_data', 'file': 'close_today_fee_per_hand', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:221 - {'action': 'get_save_reset_data', 'file': 'close_today_fee_per_hand', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:168 - {'action': 'get_save_reset_data', 'file': 'min_price_movement', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_and_reset_daily_data:221 - {'action': 'get_save_reset_data', 'file': 'min_price_movement', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:gen_daily_data:304 - {'action': 'calculate_atr', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'high,low,pre_settle', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'high,low,pre_settle', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:gen_daily_data:328 - {'action': 'calculate_adjusted_data', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'contract', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'contract', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'factor_multiply', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'factor_multiply', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'close', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'close', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'opencol', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'opencol', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_daily_data:123 - {'action': 'get_save_data', 'file': 'turnover', 'status': 'started'}
2025-07-27 23:14:47 | INFO | data_prepare:get_and_save_daily_data:158 - {'action': 'get_save_data', 'file': 'turnover', 'status': 'completed', 'date': '2025-07-25 00:00:00+08:00'}
2025-07-27 23:14:47 | INFO | data_prepare:gen_daily_data:339 - {'action': 'gen_daily_data', 'status': 'completed'}
2025-07-27 23:14:47 | INFO | func_daily_ganzhi:ensure_ganzhi_lookup_files:699 - {'action': 'generate ganzhi full', 'status': 'start', 'current_year': 2025}
/usr/local/lib/python3.10/functools.py:889: DataOrientationWarning: Row orientation inferred during DataFrame construction. Explicitly specify the orientation by passing `orient="row"` to silence this warning.
return dispatch(args[0].__class__)(*args, **kw)
2025-07-27 23:14:48 | INFO | func_daily_ganzhi:ensure_ganzhi_lookup_files:701 - {'action': 'generate ganzhi full', 'status': 'end', 'current_year': 2025}
2025-07-27 23:14:48 | INFO | func_daily_ganzhi:ensure_ganzhi_lookup_files:706 - {'action': 'generate ganzhi current year', 'status': 'start', 'current_year': 2025}
/usr/local/lib/python3.10/functools.py:889: DataOrientationWarning: Row orientation inferred during DataFrame construction. Explicitly specify the orientation by passing `orient="row"` to silence this warning.
return dispatch(args[0].__class__)(*args, **kw)
2025-07-27 23:14:48 | INFO | func_daily_ganzhi:ensure_ganzhi_lookup_files:708 - {'action': 'generate ganzhi current year', 'status': 'end', 'current_year': 2025}
2025-07-27 23:14:48 | INFO | data_prepare:generate_and_save_dicts:28 - {'action': 'generate_dicts', 'status': 'started'}
2025-07-27 23:14:48 | WARNING | data_prepare:generate_and_save_dicts:50 - {'action': 'sector_range', 'status': '📢需要去更新 future_1d/meta_mapping 当中有新品种上市处于<未分类>状态'}
2025-07-27 23:14:48 | INFO | data_prepare:generate_and_save_dicts:62 - {'action': 'generate_dicts', 'status': 'completed', 'dicts': ['commodity', 'sector', 'exchange']}
2025-07-27 23:14:48 | INFO | data_prepare::353 - {'action': 'generate_dicts', 'status': 'completed'}
2025-07-27 23:14:48 | INFO | data_prepare::358 - {'action': 'data_prepare', 'status': 'completed'}
正在生成2010年至2025年的干支查找表...
生成日期和小时组合: 140256 条
计算干支特征中...
重叠列 []
保存干支查找表到: /root/data/Research1//daily_data//precomputed//ganzhi_lookup_full.parquet
完成! 查找表大小: 140,256 行 x 89 列
正在生成2025年至2025年的干支查找表...
生成日期和小时组合: 8760 条
计算干支特征中...
重叠列 []
保存干支查找表到: /root/data/Research1//daily_data//precomputed//ganzhi_lookup_2025.parquet
完成! 查找表大小: 8,760 行 x 89 列