Traceback (most recent call last):
File "data_prepare.py", line 2, in
import numpy as np
ModuleNotFoundError: No module named 'numpy'
2025-06-22 19:05:01 | INFO | data_prepare::345 - {'action': 'data_prepare', 'status': 'started'}
2025-06-22 19:05:01 | INFO | data_prepare:gen_daily_data:230 - {'action': 'gen_daily_data', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:gen_daily_data:236 - {'action': 'connect_client', 'status': 'success'}
2025-06-22 19:05:05 | INFO | data_prepare:gen_daily_data:238 - {'action': 'fetch_meta_mapping', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:gen_daily_data:251 - {'action': 'get_trading_day_path', 'status': 'attempt'}
2025-06-22 19:05:05 | INFO | data_prepare:get_trading_day_path:64 - {'action': 'get_trading_day_path', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:get_trading_day_path:110 - {'action': 'get_trading_day_path', 'status': 'completed', 'path': '/root/data/Research1//daily_data//2025-06-20/'}
2025-06-22 19:05:05 | INFO | data_prepare:gen_daily_data:254 - {'action': 'fetch_data', 'status': 'started', 'category': 'basic_trading'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'switch', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'switch', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'history_factor', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'history_factor', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'volume', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'volume', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'settle', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'settle', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'pre_settle', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'pre_settle', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'contract', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'contract', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'factor_multiply', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'factor_multiply', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'close', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'close', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'opencol', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'opencol', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'turnover', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'turnover', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'high', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'high', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'low', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'low', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'open_interest', 'status': 'started'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'open_interest', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:05 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'near_contract_price', 'status': 'started'}
2025-06-22 19:05:07 | INFO | data_prepare:get_and_save_daily_data:131 - {'action': 'process_data', 'file': 'near_contract_price', 'last_date': '2025-06-18 00:00:00+08:00'}
2025-06-22 19:05:07 | WARNING | data_prepare:get_and_save_daily_data:133 - {'file': 'near_contract_price', 'date': '2025-06-18 00:00:00+08:00', 'latest_trading_day': '2025-06-20', 'status': 'last_date_mismatch'}
2025-06-22 19:05:07 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'near_contract_price', 'status': 'completed', 'date': '2025-06-18 00:00:00+08:00'}
2025-06-22 19:05:07 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'dominant_contract_price', 'status': 'started'}
2025-06-22 19:05:08 | INFO | data_prepare:get_and_save_daily_data:131 - {'action': 'process_data', 'file': 'dominant_contract_price', 'last_date': '2025-06-18 00:00:00+08:00'}
2025-06-22 19:05:08 | WARNING | data_prepare:get_and_save_daily_data:133 - {'file': 'dominant_contract_price', 'date': '2025-06-18 00:00:00+08:00', 'latest_trading_day': '2025-06-20', 'status': 'last_date_mismatch'}
2025-06-22 19:05:09 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'dominant_contract_price', 'status': 'completed', 'date': '2025-06-18 00:00:00+08:00'}
2025-06-22 19:05:09 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'near_basis', 'status': 'started'}
2025-06-22 19:05:10 | INFO | data_prepare:get_and_save_daily_data:131 - {'action': 'process_data', 'file': 'near_basis', 'last_date': '2025-06-18 00:00:00+08:00'}
2025-06-22 19:05:10 | WARNING | data_prepare:get_and_save_daily_data:133 - {'file': 'near_basis', 'date': '2025-06-18 00:00:00+08:00', 'latest_trading_day': '2025-06-20', 'status': 'last_date_mismatch'}
2025-06-22 19:05:10 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'near_basis', 'status': 'completed', 'date': '2025-06-18 00:00:00+08:00'}
2025-06-22 19:05:10 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'dom_basis', 'status': 'started'}
2025-06-22 19:05:12 | INFO | data_prepare:get_and_save_daily_data:131 - {'action': 'process_data', 'file': 'dom_basis', 'last_date': '2025-06-18 00:00:00+08:00'}
2025-06-22 19:05:12 | WARNING | data_prepare:get_and_save_daily_data:133 - {'file': 'dom_basis', 'date': '2025-06-18 00:00:00+08:00', 'latest_trading_day': '2025-06-20', 'status': 'last_date_mismatch'}
2025-06-22 19:05:12 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'dom_basis', 'status': 'completed', 'date': '2025-06-18 00:00:00+08:00'}
2025-06-22 19:05:12 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'near_basis_rate', 'status': 'started'}
2025-06-22 19:05:13 | INFO | data_prepare:get_and_save_daily_data:131 - {'action': 'process_data', 'file': 'near_basis_rate', 'last_date': '2025-06-18 00:00:00+08:00'}
2025-06-22 19:05:13 | WARNING | data_prepare:get_and_save_daily_data:133 - {'file': 'near_basis_rate', 'date': '2025-06-18 00:00:00+08:00', 'latest_trading_day': '2025-06-20', 'status': 'last_date_mismatch'}
2025-06-22 19:05:13 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'near_basis_rate', 'status': 'completed', 'date': '2025-06-18 00:00:00+08:00'}
2025-06-22 19:05:13 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'dom_basis_rate', 'status': 'started'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:131 - {'action': 'process_data', 'file': 'dom_basis_rate', 'last_date': '2025-06-18 00:00:00+08:00'}
2025-06-22 19:05:15 | WARNING | data_prepare:get_and_save_daily_data:133 - {'file': 'dom_basis_rate', 'date': '2025-06-18 00:00:00+08:00', 'latest_trading_day': '2025-06-20', 'status': 'last_date_mismatch'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'dom_basis_rate', 'status': 'completed', 'date': '2025-06-18 00:00:00+08:00'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'long_hld', 'status': 'started'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'long_hld', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'long_chg', 'status': 'started'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'long_chg', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'short_hld', 'status': 'started'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'short_hld', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'short_chg', 'status': 'started'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'short_chg', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'vol', 'status': 'started'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'vol', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'vol_chg', 'status': 'started'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'vol_chg', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'maturity_month', 'status': 'started'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'maturity_month', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'maturity_day', 'status': 'started'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'maturity_day', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'contract_yymm', 'status': 'started'}
2025-06-22 19:05:15 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'contract_yymm', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:165 - {'action': 'get_save_reset_data', 'file': 'long_margin_rate_amount', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:218 - {'action': 'get_save_reset_data', 'file': 'long_margin_rate_amount', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:165 - {'action': 'get_save_reset_data', 'file': 'contract_multiplier', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:218 - {'action': 'get_save_reset_data', 'file': 'contract_multiplier', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:165 - {'action': 'get_save_reset_data', 'file': 'open_position_rate_amount', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:218 - {'action': 'get_save_reset_data', 'file': 'open_position_rate_amount', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:165 - {'action': 'get_save_reset_data', 'file': 'open_position_fee_per_hand', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:218 - {'action': 'get_save_reset_data', 'file': 'open_position_fee_per_hand', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:165 - {'action': 'get_save_reset_data', 'file': 'close_position_rate_amount', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:218 - {'action': 'get_save_reset_data', 'file': 'close_position_rate_amount', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:165 - {'action': 'get_save_reset_data', 'file': 'close_position_fee_per_hand', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:218 - {'action': 'get_save_reset_data', 'file': 'close_position_fee_per_hand', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:165 - {'action': 'get_save_reset_data', 'file': 'close_today_rate_amount', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:218 - {'action': 'get_save_reset_data', 'file': 'close_today_rate_amount', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:165 - {'action': 'get_save_reset_data', 'file': 'close_today_fee_per_hand', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:218 - {'action': 'get_save_reset_data', 'file': 'close_today_fee_per_hand', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:165 - {'action': 'get_save_reset_data', 'file': 'min_price_movement', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_and_reset_daily_data:218 - {'action': 'get_save_reset_data', 'file': 'min_price_movement', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:gen_daily_data:301 - {'action': 'calculate_atr', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'high,low,pre_settle', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'high,low,pre_settle', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:gen_daily_data:325 - {'action': 'calculate_adjusted_data', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'contract', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'contract', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'factor_multiply', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'factor_multiply', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'close', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'close', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'opencol', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'opencol', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_daily_data:120 - {'action': 'get_save_data', 'file': 'turnover', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:get_and_save_daily_data:155 - {'action': 'get_save_data', 'file': 'turnover', 'status': 'completed', 'date': '2025-06-20 00:00:00+08:00'}
2025-06-22 19:05:16 | INFO | data_prepare:gen_daily_data:336 - {'action': 'gen_daily_data', 'status': 'completed'}
2025-06-22 19:05:16 | INFO | data_prepare:generate_and_save_dicts:27 - {'action': 'generate_dicts', 'status': 'started'}
2025-06-22 19:05:16 | INFO | data_prepare:generate_and_save_dicts:59 - {'action': 'generate_dicts', 'status': 'completed', 'dicts': ['commodity', 'sector', 'exchange']}
2025-06-22 19:05:16 | INFO | data_prepare::350 - {'action': 'generate_dicts', 'status': 'completed'}
2025-06-22 19:05:16 | INFO | data_prepare::355 - {'action': 'data_prepare', 'status': 'completed'}
future_1d/future_spot/near_contract_price
select date, comd, near_contract_price from future_spot
future_1d/future_spot/dominant_contract_price
select date, comd, dominant_contract_price from future_spot
future_1d/future_spot/near_basis
select date, comd, near_basis from future_spot
future_1d/future_spot/dom_basis
select date, comd, dom_basis from future_spot
future_1d/future_spot/near_basis_rate
select date, comd, near_basis_rate from future_spot
future_1d/future_spot/dom_basis_rate
select date, comd, dom_basis_rate from future_spot