=========================================================================
2025-08-27 16:25:17 Wed START TASK.01 future_1d future_rank
=========================================================================
2025-08-27 16:25:19,975 - future_1d - INFO - future_rank check=True check_last=7 start...
2025-08-27 16:25:21,117 - future_1d - INFO - future_rank date = 2025-08-19
2025-08-27 16:25:21,225 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='GFEX) done
2025-08-27 16:25:21,395 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='CZCE) done
2025-08-27 16:25:21,507 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='CFFEX) done
2025-08-27 16:25:21,647 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='SHFE) done
2025-08-27 16:25:21,775 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='DCE) done
2025-08-27 16:25:21,854 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='INE) done
2025-08-27 16:25:25,268 - future_1d - INFO - save future_rank 2025-08-19 completed
2025-08-27 16:25:33,787 - future_1d - INFO - future_rank date = 2025-08-20
2025-08-27 16:25:33,870 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='GFEX) done
2025-08-27 16:25:34,040 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='CZCE) done
2025-08-27 16:25:34,150 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='CFFEX) done
2025-08-27 16:25:34,285 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='SHFE) done
2025-08-27 16:25:34,417 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='DCE) done
2025-08-27 16:25:34,493 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='INE) done
2025-08-27 16:25:35,530 - future_1d - INFO - save future_rank 2025-08-20 completed
2025-08-27 16:25:42,027 - future_1d - INFO - future_rank date = 2025-08-21
2025-08-27 16:25:42,127 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='GFEX) done
2025-08-27 16:25:42,306 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='CZCE) done
2025-08-27 16:25:42,412 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='CFFEX) done
2025-08-27 16:25:42,558 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='SHFE) done
2025-08-27 16:25:42,722 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='DCE) done
2025-08-27 16:25:42,808 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='INE) done
2025-08-27 16:25:43,485 - future_1d - INFO - save future_rank 2025-08-21 completed
2025-08-27 16:25:49,120 - future_1d - INFO - future_rank date = 2025-08-22
2025-08-27 16:25:49,208 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='GFEX) done
2025-08-27 16:25:49,377 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='CZCE) done
2025-08-27 16:25:49,474 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='CFFEX) done
2025-08-27 16:25:49,630 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='SHFE) done
2025-08-27 16:25:49,782 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='DCE) done
2025-08-27 16:25:49,844 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='INE) done
2025-08-27 16:25:50,542 - future_1d - INFO - save future_rank 2025-08-22 completed
2025-08-27 16:26:00,384 - future_1d - INFO - future_rank date = 2025-08-25
2025-08-27 16:26:00,467 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='GFEX) done
2025-08-27 16:26:00,613 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='CZCE) done
2025-08-27 16:26:00,763 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='CFFEX) done
2025-08-27 16:26:00,896 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='SHFE) done
2025-08-27 16:26:01,027 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='DCE) done
2025-08-27 16:26:01,109 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='INE) done
2025-08-27 16:26:01,769 - future_1d - INFO - save future_rank 2025-08-25 completed
2025-08-27 16:26:11,626 - future_1d - INFO - future_rank date = 2025-08-26
2025-08-27 16:26:11,722 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='GFEX) done
2025-08-27 16:26:11,925 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='CZCE) done
2025-08-27 16:26:12,015 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='CFFEX) done
2025-08-27 16:26:12,168 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='SHFE) done
2025-08-27 16:26:12,304 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='DCE) done
2025-08-27 16:26:12,367 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='INE) done
2025-08-27 16:26:13,384 - future_1d - INFO - save future_rank 2025-08-26 add
2025-08-27 16:26:13,393 - future_1d - INFO - 0 ... 4
date 2025-08-26 ... 2025-08-26
symbol si2510 ... si2510
broker 中信期货 ... 中信建投
vol 8395.0 ... 1717.0
vol_chg -335.0 ... -776.0
long_hld 2330.0 ... 11343.0
long_chg -1210.0 ... 398.0
short_hld 2855.0 ... 10724.0
short_chg -1437.0 ... 53.0
exchange GFEX ... GFEX
variety si ... si
comd si ... si
created_at 2025-08-27 16:26:12.897697 ... 2025-08-27 16:26:12.897697
updated_at 2025-08-27 16:26:12.898140 ... 2025-08-27 16:26:12.898140
[14 rows x 5 columns]
2025-08-27 16:26:16,466 - future_1d - INFO - future_rank date = 2025-08-27
2025-08-27 16:26:16,552 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='GFEX) done
2025-08-27 16:26:16,622 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='CZCE) done
2025-08-27 16:26:16,692 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='CFFEX) done
2025-08-27 16:26:16,773 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='SHFE) done
2025-08-27 16:26:16,840 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='DCE) done
2025-08-27 16:26:16,909 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='INE) done
2025-08-27 16:26:16,926 - future_1d - INFO - save future_rank 2025-08-27 failed
=========================================================================
2025-08-27 18:25:22 Wed START TASK.01 future_1d future_rank
=========================================================================
2025-08-27 18:25:23,932 - future_1d - INFO - future_rank check=True check_last=7 start...
2025-08-27 18:25:24,028 - future_1d - INFO - future_rank date = 2025-08-19
2025-08-27 18:25:24,200 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='DCE) done
2025-08-27 18:25:24,367 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='CZCE) done
2025-08-27 18:25:24,508 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='SHFE) done
2025-08-27 18:25:24,626 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='CFFEX) done
2025-08-27 18:25:24,714 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='GFEX) done
2025-08-27 18:25:24,780 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='INE) done
2025-08-27 18:25:25,445 - future_1d - INFO - save future_rank 2025-08-19 completed
2025-08-27 18:25:32,976 - future_1d - INFO - future_rank date = 2025-08-20
2025-08-27 18:25:33,168 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='DCE) done
2025-08-27 18:25:33,329 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='CZCE) done
2025-08-27 18:25:33,464 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='SHFE) done
2025-08-27 18:25:33,595 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='CFFEX) done
2025-08-27 18:25:33,679 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='GFEX) done
2025-08-27 18:25:33,749 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='INE) done
2025-08-27 18:25:34,520 - future_1d - INFO - save future_rank 2025-08-20 completed
2025-08-27 18:25:39,603 - future_1d - INFO - future_rank date = 2025-08-21
2025-08-27 18:25:39,813 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='DCE) done
2025-08-27 18:25:40,043 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='CZCE) done
2025-08-27 18:25:40,188 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='SHFE) done
2025-08-27 18:25:40,285 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='CFFEX) done
2025-08-27 18:25:40,366 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='GFEX) done
2025-08-27 18:25:40,434 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='INE) done
2025-08-27 18:25:41,087 - future_1d - INFO - save future_rank 2025-08-21 completed
2025-08-27 18:25:45,242 - future_1d - INFO - future_rank date = 2025-08-22
2025-08-27 18:25:45,388 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='DCE) done
2025-08-27 18:25:45,562 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='CZCE) done
2025-08-27 18:25:45,690 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='SHFE) done
2025-08-27 18:25:45,780 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='CFFEX) done
2025-08-27 18:25:45,868 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='GFEX) done
2025-08-27 18:25:45,953 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='INE) done
2025-08-27 18:25:46,598 - future_1d - INFO - save future_rank 2025-08-22 completed
2025-08-27 18:25:50,672 - future_1d - INFO - future_rank date = 2025-08-25
2025-08-27 18:25:50,810 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='DCE) done
2025-08-27 18:25:51,029 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='CZCE) done
2025-08-27 18:25:51,172 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='SHFE) done
2025-08-27 18:25:51,264 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='CFFEX) done
2025-08-27 18:25:51,345 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='GFEX) done
2025-08-27 18:25:51,412 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='INE) done
2025-08-27 18:25:52,065 - future_1d - INFO - save future_rank 2025-08-25 completed
2025-08-27 18:26:00,854 - future_1d - INFO - future_rank date = 2025-08-26
2025-08-27 18:26:01,022 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='DCE) done
2025-08-27 18:26:01,222 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='CZCE) done
2025-08-27 18:26:01,361 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='SHFE) done
2025-08-27 18:26:01,470 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='CFFEX) done
2025-08-27 18:26:01,550 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='GFEX) done
2025-08-27 18:26:01,619 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='INE) done
2025-08-27 18:26:02,264 - future_1d - INFO - save future_rank 2025-08-26 completed
2025-08-27 18:26:10,523 - future_1d - INFO - future_rank date = 2025-08-27
2025-08-27 18:26:10,625 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='DCE) done
2025-08-27 18:26:10,794 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='CZCE) done
2025-08-27 18:26:10,974 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='SHFE) done
2025-08-27 18:26:11,067 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='CFFEX) done
2025-08-27 18:26:11,148 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='GFEX) done
2025-08-27 18:26:11,219 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='INE) done
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
self.dialect.do_executemany(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
rowcount = cursor.executemany(statement, parameters)
File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
return self._do_execute_many(
File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
rows += self.execute(sql + postfix)
File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
result = self._query(query)
File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
conn.query(q)
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
result.read()
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
first_packet = self.connection._read_packet()
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
packet.raise_for_error()
File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
err.raise_mysql_exception(self._data)
File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.DataError: (1366, "Incorrect decimal value: 'nan' for column 'long_hld' at row 615")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/root/project/future_1d/future_rank.py", line 8, in
client.save_future_rank(check=True, check_last=7)
File "/root/project/future_1d/future1d_request.py", line 982, in save_future_rank
data_add.to_sql(tablebase.__tablename__, self.engine, index=False, if_exists='append', chunksize=1000)
File "/usr/local/lib/python3.10/site-packages/pandas/util/_decorators.py", line 333, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/pandas/core/generic.py", line 3106, in to_sql
return sql.to_sql(
File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 844, in to_sql
return pandas_sql.to_sql(
File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 2030, in to_sql
total_inserted = sql_engine.insert_records(
File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1579, in insert_records
raise err
File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1570, in insert_records
return table.insert(chunksize=chunksize, method=method)
File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1121, in insert
num_inserted = exec_insert(conn, keys, chunk_iter)
File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1012, in _execute_insert
result = conn.execute(self.table.insert(), data)
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
return meth(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 526, in _execute_on_connection
return connection._execute_clauseelement(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
ret = self._execute_context(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
self.dialect.do_executemany(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
rowcount = cursor.executemany(statement, parameters)
File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
return self._do_execute_many(
File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
rows += self.execute(sql + postfix)
File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
result = self._query(query)
File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
conn.query(q)
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
result.read()
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
first_packet = self.connection._read_packet()
File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
packet.raise_for_error()
File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
err.raise_mysql_exception(self._data)
File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
raise errorclass(errno, errval)
sqlalchemy.exc.DataError: (pymysql.err.DataError) (1366, "Incorrect decimal value: 'nan' for column 'long_hld' at row 615")
[SQL: INSERT INTO future_rank (date, symbol, broker, vol, vol_chg, long_hld, long_chg, short_hld, short_chg, exchange, variety, comd, created_at, updated_at) VALUES (%(date)s, %(symbol)s, %(broker)s, %(vol)s, %(vol_chg)s, %(long_hld)s, %(long_chg)s, %(short_hld)s, %(short_chg)s, %(exchange)s, %(variety)s, %(comd)s, %(created_at)s, %(updated_at)s)]
[parameters: [{'date': '2025-08-27', 'symbol': 'UR2605', 'broker': '西南期货(代客)', 'vol': '0.0', 'vol_chg': '0.0', 'long_hld': '403.0', 'long_chg': '60.0', 'short_hld': '0.0', 'short_chg': '0.0', 'exchange': 'CZCE', 'variety': 'UR', 'comd': 'UR', 'created_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347471), 'updated_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347914)}, {'date': '2025-08-27', 'symbol': 'UR2605', 'broker': '西部期货(代客)', 'vol': '144.0', 'vol_chg': '110.0', 'long_hld': '0.0', 'long_chg': '0.0', 'short_hld': '0.0', 'short_chg': '0.0', 'exchange': 'CZCE', 'variety': 'UR', 'comd': 'UR', 'created_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347471), 'updated_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347914)}, {'date': '2025-08-27', 'symbol': 'UR2605', 'broker': '银河期货(代客)', 'vol': '803.0', 'vol_chg': '228.0', 'long_hld': '542.0', 'long_chg': '-16.0', 'short_hld': '0.0', 'short_chg': '0.0', 'exchange': 'CZCE', 'variety': 'UR', 'comd': 'UR', 'created_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347471), 'updated_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347914)}, {'date': '2025-08-27', 'symbol': 'UR2605', 'broker': '长江期货(代客)', 'vol': '0.0', 'vol_chg': '0.0', 'long_hld': '671.0', 'long_chg': '2.0', 'short_hld': '718.0', 'short_chg': '0.0', 'exchange': 'CZCE', 'variety': 'UR', 'comd': 'UR', 'created_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347471), 'updated_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347914)}, {'date': '2025-08-27', 'symbol': 'UR2605', 'broker': '首创京都期货(代客)', 'vol': '152.0', 'vol_chg': '152.0', 'long_hld': '0.0', 'long_chg': '0.0', 'short_hld': '0.0', 'short_chg': '0.0', 'exchange': 'CZCE', 'variety': 'UR', 'comd': 'UR', 'created_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347471), 'updated_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347914)}, {'date': '2025-08-27', 'symbol': '丙烯PL', 'broker': '一德期货(代客)', 'vol': '0.0', 'vol_chg': '0.0', 'long_hld': '62.0', 'long_chg': '0.0', 'short_hld': '87.0', 'short_chg': '-4.0', 'exchange': 'CZCE', 'variety': 'PL', 'comd': 'PL', 'created_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347471), 'updated_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347914)}, {'date': '2025-08-27', 'symbol': '丙烯PL', 'broker': '上海东亚(代客)', 'vol': '0.0', 'vol_chg': '0.0', 'long_hld': '0.0', 'long_chg': '0.0', 'short_hld': '65.0', 'short_chg': '0.0', 'exchange': 'CZCE', 'variety': 'PL', 'comd': 'PL', 'created_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347471), 'updated_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347914)}, {'date': '2025-08-27', 'symbol': '丙烯PL', 'broker': '上海中期(代客)', 'vol': '25.0', 'vol_chg': '9.0', 'long_hld': '0.0', 'long_chg': '0.0', 'short_hld': '0.0', 'short_chg': '0.0', 'exchange': 'CZCE', 'variety': 'PL', 'comd': 'PL', 'created_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347471), 'updated_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347914)} ... displaying 10 of 1000 total bound parameter sets ... {'date': '2025-08-27', 'symbol': 'AL2601', 'broker': '海通期货', 'vol': 'nan', 'vol_chg': 'nan', 'long_hld': '558.0', 'long_chg': '-2.0', 'short_hld': 'nan', 'short_chg': 'nan', 'exchange': 'SHFE', 'variety': 'AL', 'comd': 'al', 'created_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347471), 'updated_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347914)}, {'date': '2025-08-27', 'symbol': 'AL2601', 'broker': '瑞达期货', 'vol': '206.0', 'vol_chg': '85.0', 'long_hld': 'nan', 'long_chg': 'nan', 'short_hld': 'nan', 'short_chg': 'nan', 'exchange': 'SHFE', 'variety': 'AL', 'comd': 'al', 'created_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347471), 'updated_at': datetime.datetime(2025, 8, 27, 18, 26, 11, 347914)}]]
(Background on this error at: https://sqlalche.me/e/20/9h9h)
=========================================================================
2025-08-27 18:27:19 Wed START TASK.01 future_1d future_rank
=========================================================================
2025-08-27 18:27:21,891 - future_1d - INFO - future_rank check=True check_last=7 start...
2025-08-27 18:27:21,976 - future_1d - INFO - future_rank date = 2025-08-19
2025-08-27 18:27:22,117 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='SHFE) done
2025-08-27 18:27:22,600 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='DCE) done
2025-08-27 18:27:22,694 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='GFEX) done
2025-08-27 18:27:22,873 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='CZCE) done
2025-08-27 18:27:23,174 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='INE) done
2025-08-27 18:27:23,265 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-19',exchange='CFFEX) done
2025-08-27 18:27:23,903 - future_1d - INFO - save future_rank 2025-08-19 completed
2025-08-27 18:27:32,058 - future_1d - INFO - future_rank date = 2025-08-20
2025-08-27 18:27:32,499 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='SHFE) done
2025-08-27 18:27:32,635 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='DCE) done
2025-08-27 18:27:32,732 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='GFEX) done
2025-08-27 18:27:32,944 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='CZCE) done
2025-08-27 18:27:33,015 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='INE) done
2025-08-27 18:27:33,108 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-20',exchange='CFFEX) done
2025-08-27 18:27:33,798 - future_1d - INFO - save future_rank 2025-08-20 completed
2025-08-27 18:27:37,462 - future_1d - INFO - future_rank date = 2025-08-21
2025-08-27 18:27:37,648 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='SHFE) done
2025-08-27 18:27:37,821 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='DCE) done
2025-08-27 18:27:37,919 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='GFEX) done
2025-08-27 18:27:38,088 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='CZCE) done
2025-08-27 18:27:38,157 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='INE) done
2025-08-27 18:27:38,255 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-21',exchange='CFFEX) done
2025-08-27 18:27:38,924 - future_1d - INFO - save future_rank 2025-08-21 completed
2025-08-27 18:27:47,925 - future_1d - INFO - future_rank date = 2025-08-22
2025-08-27 18:27:48,073 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='SHFE) done
2025-08-27 18:27:48,224 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='DCE) done
2025-08-27 18:27:48,321 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='GFEX) done
2025-08-27 18:27:48,521 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='CZCE) done
2025-08-27 18:27:48,588 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='INE) done
2025-08-27 18:27:48,712 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-22',exchange='CFFEX) done
2025-08-27 18:27:49,427 - future_1d - INFO - save future_rank 2025-08-22 completed
2025-08-27 18:27:58,016 - future_1d - INFO - future_rank date = 2025-08-25
2025-08-27 18:27:58,472 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='SHFE) done
2025-08-27 18:27:58,655 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='DCE) done
2025-08-27 18:27:58,745 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='GFEX) done
2025-08-27 18:27:58,904 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='CZCE) done
2025-08-27 18:27:58,973 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='INE) done
2025-08-27 18:27:59,317 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-25',exchange='CFFEX) done
2025-08-27 18:28:00,006 - future_1d - INFO - save future_rank 2025-08-25 completed
2025-08-27 18:28:07,493 - future_1d - INFO - future_rank date = 2025-08-26
2025-08-27 18:28:07,683 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='SHFE) done
2025-08-27 18:28:07,817 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='DCE) done
2025-08-27 18:28:07,901 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='GFEX) done
2025-08-27 18:28:08,072 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='CZCE) done
2025-08-27 18:28:08,134 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='INE) done
2025-08-27 18:28:08,224 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-26',exchange='CFFEX) done
2025-08-27 18:28:08,927 - future_1d - INFO - save future_rank 2025-08-26 completed
2025-08-27 18:28:18,737 - future_1d - INFO - future_rank date = 2025-08-27
2025-08-27 18:28:18,925 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='SHFE) done
2025-08-27 18:28:19,015 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='DCE) done
2025-08-27 18:28:19,125 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='GFEX) done
2025-08-27 18:28:19,292 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='CZCE) done
2025-08-27 18:28:19,358 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='INE) done
2025-08-27 18:28:19,452 - future_1d - INFO - pro.fut_holding(trade_date='2025-08-27',exchange='CFFEX) done
2025-08-27 18:28:20,184 - future_1d - INFO - save future_rank 2025-08-27 add
2025-08-27 18:28:20,193 - future_1d - INFO - 0 ... 4
date 2025-08-27 ... 2025-08-27
symbol AD ... AD2511
broker 期货公司会员/境外特殊经纪参与者 ... 中信建投
vol 11594.0 ... 290.0
vol_chg 8146.0 ... 208.0
long_hld 10136.0 ... NaN
long_chg 381.0 ... NaN
short_hld 10136.0 ... 337.0
short_chg 381.0 ... 65.0
exchange SHFE ... SHFE
variety AD ... AD
comd ad ... ad
created_at 2025-08-27 18:28:19.729064 ... 2025-08-27 18:28:19.729064
updated_at 2025-08-27 18:28:19.729479 ... 2025-08-27 18:28:19.729479
[14 rows x 5 columns]