新增实盘策略:ITrendStrategy(SA)

This commit is contained in:
2026-01-25 23:26:03 +08:00
parent 4a37652269
commit fa4749b02e
66 changed files with 44943 additions and 5961 deletions

View File

@@ -5,8 +5,8 @@
"id": "522f09ca7b3fe929",
"metadata": {
"ExecuteTime": {
"end_time": "2025-10-19T06:30:07.814040Z",
"start_time": "2025-10-19T06:30:06.968311Z"
"end_time": "2025-12-17T13:57:21.148878Z",
"start_time": "2025-12-17T13:57:21.108622Z"
}
},
"source": [
@@ -23,15 +23,15 @@
"\n"
],
"outputs": [],
"execution_count": 1
"execution_count": 2
},
{
"cell_type": "code",
"id": "c00ccfeec592844c",
"metadata": {
"ExecuteTime": {
"end_time": "2025-10-19T06:30:08.226844Z",
"start_time": "2025-10-19T06:30:07.822511Z"
"end_time": "2025-12-17T13:57:21.519369Z",
"start_time": "2025-12-17T13:57:21.150889Z"
}
},
"source": [
@@ -51,15 +51,15 @@
"data_file_path = '/mnt/d/PyProject/NewQuant/data/data/KQ_m@SHFE_rb/KQ_m@SHFE_rb_min15.csv'\n"
],
"outputs": [],
"execution_count": 2
"execution_count": 3
},
{
"cell_type": "code",
"id": "7599fa7cd2cb3d45",
"metadata": {
"ExecuteTime": {
"end_time": "2025-10-19T06:30:08.276053Z",
"start_time": "2025-10-19T06:30:08.233422Z"
"end_time": "2025-12-17T13:57:21.542513Z",
"start_time": "2025-12-17T13:57:21.519369Z"
}
},
"source": [
@@ -76,8 +76,8 @@
"# start_time = datetime(2021, 1, 1)\n",
"# end_time = datetime(2025, 1, 1)\n",
"\n",
"start_time = datetime(2025, 6, 1)\n",
"end_time = datetime(2025, 10, 1)\n",
"start_time = datetime(2025, 10, 1)\n",
"end_time = datetime(2025, 12, 1)\n",
"\n",
"\n",
"indicators = INDICATOR_LIST\n",
@@ -87,15 +87,15 @@
"# data_manager.reset() # 首次运行不需要重置"
],
"outputs": [],
"execution_count": 3
"execution_count": 4
},
{
"cell_type": "code",
"id": "f903fd2761d446cd",
"metadata": {
"ExecuteTime": {
"end_time": "2025-10-19T06:30:51.160327Z",
"start_time": "2025-10-19T06:30:08.282837Z"
"end_time": "2025-12-17T13:57:22.373414Z",
"start_time": "2025-12-17T13:57:21.550522Z"
}
},
"source": [
@@ -153,8 +153,6 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/home/liaozhaorun/miniconda3/envs/quant/lib/python3.12/site-packages/requests/__init__.py:86: RequestsDependencyWarning: Unable to find acceptable character detection dependency (chardet or charset_normalizer).\n",
" warnings.warn(\n",
"在使用天勤量化之前默认您已经知晓并同意以下免责条款如果不同意请立即停止使用https://www.shinnytech.com/blog/disclaimer/\n"
]
},
@@ -162,236 +160,29 @@
"name": "stdout",
"output_type": "stream",
"text": [
"初始化数据管理器...\n",
"数据加载成功: /mnt/d/PyProject/NewQuant/data/data/KQ_m@SHFE_rb/KQ_m@SHFE_rb_min15.csv\n",
"数据范围从 2020-12-31 14:45:00 到 2025-08-14 09:30:00\n",
"总计 25470 条记录。\n",
"\n",
"初始化回测引擎...\n",
" INFO - TqSdk free 版剩余 0 天到期,如需续费或升级请访问 https://account.shinnytech.com/ 或联系相关工作人员。\n",
"\n",
"初始化 Tqsdk 回测引擎...\n",
"内存仓储已初始化管理ID: 'src.strategies.HawkesStrategy.KalmanStrategy2.DualModeKalmanStrategy_c7bd93715d42fbef1ec746ee2635a5d3'\n",
"TqsdkContext: 初始化完成。\n",
"TqsdkContext: 已设置引擎引用。\n",
"TqsdkEngine: 初始化完成。\n",
"\n",
"开始运行回测...\n",
"TqsdkEngine: 开始运行回测,从 2025-06-01 00:00:00 到 2025-10-01 00:00:00\n",
"DualModeKalmanStrategy 策略初始化回调被调用。\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2510', direction='BUY', volume=1, id='SHFE.rb2510_BUY_MARKET_0', price_type='LIMIT', limit_price=2995, stop_price=None, submitted_time=Timestamp('2025-06-26 22:30:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2510', direction='BUY', volume=1, id='SHFE.rb2510_BUY_MARKET_0', price_type='LIMIT', limit_price=2995, stop_price=None, submitted_time=Timestamp('2025-06-26 22:30:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_insert_6d002815bde371e9679eeff6ab3a2913: 时间: 2025-06-26 22:30:00.000000, 合约: SHFE.rb2510, 开平: OPEN, 方向: BUY, 手数: 1, 价格: 2995.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_insert_6d002815bde371e9679eeff6ab3a2913: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2510', direction='CLOSE_LONG', volume=1, id='SHFE.rb2510_CLOSE_LONG_MARKET_1', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-06-30 21:15:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2510', direction='CLOSE_LONG', volume=1, id='SHFE.rb2510_CLOSE_LONG_MARKET_1', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-06-30 21:15:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_target_beee6bfdba88ae99ca624cd9f3ce2f3b: 时间: 2025-06-30 21:15:00.000000, 合约: SHFE.rb2510, 开平: CLOSE, 方向: SELL, 手数: 1, 价格: 2987.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_target_beee6bfdba88ae99ca624cd9f3ce2f3b: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2510', direction='BUY', volume=1, id='SHFE.rb2510_BUY_MARKET_2', price_type='LIMIT', limit_price=3014, stop_price=None, submitted_time=Timestamp('2025-07-01 21:15:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2510', direction='BUY', volume=1, id='SHFE.rb2510_BUY_MARKET_2', price_type='LIMIT', limit_price=3014, stop_price=None, submitted_time=Timestamp('2025-07-01 21:15:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_insert_6dd75ae79e4ba3b47455ae5c7e77b734: 时间: 2025-07-01 21:15:00.000000, 合约: SHFE.rb2510, 开平: OPEN, 方向: BUY, 手数: 1, 价格: 3014.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_insert_6dd75ae79e4ba3b47455ae5c7e77b734: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2510', direction='CLOSE_LONG', volume=1, id='SHFE.rb2510_CLOSE_LONG_MARKET_3', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-07-15 13:30:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2510', direction='CLOSE_LONG', volume=1, id='SHFE.rb2510_CLOSE_LONG_MARKET_3', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-07-15 13:30:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_target_65fa28a9de53ea759cef7a640c9f33bb: 时间: 2025-07-15 13:30:00.000000, 合约: SHFE.rb2510, 开平: CLOSE, 方向: SELL, 手数: 1, 价格: 3108.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_target_65fa28a9de53ea759cef7a640c9f33bb: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2510', direction='BUY', volume=1, id='SHFE.rb2510_BUY_MARKET_4', price_type='LIMIT', limit_price=3180, stop_price=None, submitted_time=Timestamp('2025-07-18 21:15:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2510', direction='BUY', volume=1, id='SHFE.rb2510_BUY_MARKET_4', price_type='LIMIT', limit_price=3180, stop_price=None, submitted_time=Timestamp('2025-07-18 21:15:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_insert_89a26adf3a52ec844c1e57271d827611: 时间: 2025-07-18 21:15:00.000000, 合约: SHFE.rb2510, 开平: OPEN, 方向: BUY, 手数: 1, 价格: 3180.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_insert_89a26adf3a52ec844c1e57271d827611: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2510', direction='CLOSE_LONG', volume=1, id='SHFE.rb2510_CLOSE_LONG_MARKET_5', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-07-28 09:00:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2510', direction='CLOSE_LONG', volume=1, id='SHFE.rb2510_CLOSE_LONG_MARKET_5', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-07-28 09:00:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_target_d6bf6ea9c1cbed5a7728d70d7c08c101: 时间: 2025-07-28 09:00:00.000000, 合约: SHFE.rb2510, 开平: CLOSE, 方向: SELL, 手数: 1, 价格: 3249.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_target_d6bf6ea9c1cbed5a7728d70d7c08c101: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2510', direction='BUY', volume=1, id='SHFE.rb2510_BUY_MARKET_6', price_type='LIMIT', limit_price=3320, stop_price=None, submitted_time=Timestamp('2025-07-29 11:15:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2510', direction='BUY', volume=1, id='SHFE.rb2510_BUY_MARKET_6', price_type='LIMIT', limit_price=3320, stop_price=None, submitted_time=Timestamp('2025-07-29 11:15:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_insert_b61fde38f971505d50c793a95595d09b: 时间: 2025-07-29 11:15:00.000000, 合约: SHFE.rb2510, 开平: OPEN, 方向: BUY, 手数: 1, 价格: 3320.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_insert_b61fde38f971505d50c793a95595d09b: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2510', direction='CLOSE_LONG', volume=1, id='SHFE.rb2510_CLOSE_LONG_MARKET_7', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-07-30 14:15:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2510', direction='CLOSE_LONG', volume=1, id='SHFE.rb2510_CLOSE_LONG_MARKET_7', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-07-30 14:15:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_target_cd809e06343bde100900018193c8007c: 时间: 2025-07-30 14:15:00.000000, 合约: SHFE.rb2510, 开平: CLOSE, 方向: SELL, 手数: 1, 价格: 3294.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_target_cd809e06343bde100900018193c8007c: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2510', direction='SELL', volume=1, id='SHFE.rb2510_SELL_MARKET_8', price_type='LIMIT', limit_price=3278, stop_price=None, submitted_time=Timestamp('2025-07-30 21:15:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2510', direction='SELL', volume=1, id='SHFE.rb2510_SELL_MARKET_8', price_type='LIMIT', limit_price=3278, stop_price=None, submitted_time=Timestamp('2025-07-30 21:15:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_insert_c4cd5e82c45ddd980c03c798dd7dfd57: 时间: 2025-07-30 21:15:00.000000, 合约: SHFE.rb2510, 开平: OPEN, 方向: SELL, 手数: 1, 价格: 3278.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_insert_c4cd5e82c45ddd980c03c798dd7dfd57: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2510', direction='CLOSE_SHORT', volume=1, id='SHFE.rb2510_CLOSE_SHORT_MARKET_9', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-08-05 21:00:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2510', direction='CLOSE_SHORT', volume=1, id='SHFE.rb2510_CLOSE_SHORT_MARKET_9', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-08-05 21:00:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_target_7cc7c97528cd3275b65f4b0d59e11b2d: 时间: 2025-08-05 21:00:00.000000, 合约: SHFE.rb2510, 开平: CLOSE, 方向: BUY, 手数: 1, 价格: 3234.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_target_7cc7c97528cd3275b65f4b0d59e11b2d: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2510', direction='SELL', volume=1, id='SHFE.rb2510_SELL_MARKET_10', price_type='LIMIT', limit_price=3209, stop_price=None, submitted_time=Timestamp('2025-08-13 21:15:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2510', direction='SELL', volume=1, id='SHFE.rb2510_SELL_MARKET_10', price_type='LIMIT', limit_price=3209, stop_price=None, submitted_time=Timestamp('2025-08-13 21:15:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_insert_c1967ceb33977250525c7b5d50362f0f: 时间: 2025-08-13 21:15:00.000000, 合约: SHFE.rb2510, 开平: OPEN, 方向: SELL, 手数: 1, 价格: 3209.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_insert_c1967ceb33977250525c7b5d50362f0f: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2510', direction='CLOSE_SHORT', volume=1, id='SHFE.rb2510_CLOSE_SHORT_MARKET_11', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-08-22 21:30:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2510', direction='CLOSE_SHORT', volume=1, id='SHFE.rb2510_CLOSE_SHORT_MARKET_11', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-08-22 21:30:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_target_ef23037e39ab68f8630f354b07558822: 时间: 2025-08-22 21:30:00.000000, 合约: SHFE.rb2510, 开平: CLOSE, 方向: BUY, 手数: 1, 价格: 3144.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_target_ef23037e39ab68f8630f354b07558822: 全部成交\n",
"TqsdkEngine: 检测到换月信号!从 SHFE.rb2601 切换到 SHFE.rb2601\n",
"回测结束:没有需要平仓的持仓。\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2601', direction='BUY', volume=1, id='SHFE.rb2601_BUY_MARKET_12', price_type='LIMIT', limit_price=3141, stop_price=None, submitted_time=Timestamp('2025-09-05 14:00:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2601', direction='BUY', volume=1, id='SHFE.rb2601_BUY_MARKET_12', price_type='LIMIT', limit_price=3141, stop_price=None, submitted_time=Timestamp('2025-09-05 14:00:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_insert_61c801ceffcb4703782d6de986bf3cd0: 时间: 2025-09-05 14:00:00.000000, 合约: SHFE.rb2601, 开平: OPEN, 方向: BUY, 手数: 1, 价格: 3141.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_insert_61c801ceffcb4703782d6de986bf3cd0: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2601', direction='CLOSE_LONG', volume=1, id='SHFE.rb2601_CLOSE_LONG_MARKET_13', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-09-05 22:30:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2601', direction='CLOSE_LONG', volume=1, id='SHFE.rb2601_CLOSE_LONG_MARKET_13', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-09-05 22:30:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_target_989107326c47cd316aaea3e417db5127: 时间: 2025-09-05 22:30:00.000000, 合约: SHFE.rb2601, 开平: CLOSE, 方向: SELL, 手数: 1, 价格: 3121.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_target_989107326c47cd316aaea3e417db5127: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2601', direction='SELL', volume=1, id='SHFE.rb2601_SELL_MARKET_14', price_type='LIMIT', limit_price=3094, stop_price=None, submitted_time=Timestamp('2025-09-09 21:30:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2601', direction='SELL', volume=1, id='SHFE.rb2601_SELL_MARKET_14', price_type='LIMIT', limit_price=3094, stop_price=None, submitted_time=Timestamp('2025-09-09 21:30:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_insert_7393718e06ba6c2d616e278a16bddf3b: 时间: 2025-09-09 21:30:00.000000, 合约: SHFE.rb2601, 开平: OPEN, 方向: SELL, 手数: 1, 价格: 3094.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_insert_7393718e06ba6c2d616e278a16bddf3b: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2601', direction='CLOSE_SHORT', volume=1, id='SHFE.rb2601_CLOSE_SHORT_MARKET_15', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-09-10 09:45:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2601', direction='CLOSE_SHORT', volume=1, id='SHFE.rb2601_CLOSE_SHORT_MARKET_15', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-09-10 09:45:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_target_10f32ba307f98d1fae1a4d20dd088491: 时间: 2025-09-10 09:45:00.000000, 合约: SHFE.rb2601, 开平: CLOSETODAY, 方向: BUY, 手数: 1, 价格: 3110.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_target_10f32ba307f98d1fae1a4d20dd088491: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2601', direction='BUY', volume=1, id='SHFE.rb2601_BUY_MARKET_16', price_type='LIMIT', limit_price=3115, stop_price=None, submitted_time=Timestamp('2025-09-12 11:15:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2601', direction='BUY', volume=1, id='SHFE.rb2601_BUY_MARKET_16', price_type='LIMIT', limit_price=3115, stop_price=None, submitted_time=Timestamp('2025-09-12 11:15:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_insert_a9c25f5eca9c0209be2fb2c388cb2af3: 时间: 2025-09-12 11:15:00.000000, 合约: SHFE.rb2601, 开平: OPEN, 方向: BUY, 手数: 1, 价格: 3115.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_insert_a9c25f5eca9c0209be2fb2c388cb2af3: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2601', direction='CLOSE_LONG', volume=1, id='SHFE.rb2601_CLOSE_LONG_MARKET_17', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-09-18 10:45:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2601', direction='CLOSE_LONG', volume=1, id='SHFE.rb2601_CLOSE_LONG_MARKET_17', price_type='MARKET', limit_price=None, stop_price=None, submitted_time=Timestamp('2025-09-18 10:45:00+0800', tz='Asia/Shanghai'), offset='CLOSE')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_target_09fedfe7f7f15b9362444fcd8ee381ca: 时间: 2025-09-18 10:45:00.000000, 合约: SHFE.rb2601, 开平: CLOSE, 方向: SELL, 手数: 1, 价格: 3134.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_target_09fedfe7f7f15b9362444fcd8ee381ca: 全部成交\n",
"Context: 订单已加入队列: Order(symbol='SHFE.rb2601', direction='SELL', volume=1, id='SHFE.rb2601_SELL_MARKET_18', price_type='LIMIT', limit_price=3113, stop_price=None, submitted_time=Timestamp('2025-09-26 21:00:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
"Engine: 处理订单请求: Order(symbol='SHFE.rb2601', direction='SELL', volume=1, id='SHFE.rb2601_SELL_MARKET_18', price_type='LIMIT', limit_price=3113, stop_price=None, submitted_time=Timestamp('2025-09-26 21:00:00+0800', tz='Asia/Shanghai'), offset='OPEN')\n",
" INFO - 模拟交易下单 TQSIM, PYSDK_insert_2f97ffcd51216e6c3767b412a2aac199: 时间: 2025-09-26 21:00:00.000000, 合约: SHFE.rb2601, 开平: OPEN, 方向: SELL, 手数: 1, 价格: 3113.0\n",
" INFO - 模拟交易委托单 TQSIM, PYSDK_insert_2f97ffcd51216e6c3767b412a2aac199: 全部成交\n",
" INFO - 回测结束\n",
" INFO - 模拟交易成交记录, 账户: TQSIM\n",
" INFO - 时间: 2025-06-26 22:30:00.000000, 合约: SHFE.rb2510, 开平: OPEN, 方向: BUY, 手数: 1, 价格: 2995.000,手续费: 2.98\n",
" INFO - 时间: 2025-06-30 21:15:00.000000, 合约: SHFE.rb2510, 开平: CLOSE, 方向: SELL, 手数: 1, 价格: 2987.000,手续费: 2.98\n",
" INFO - 时间: 2025-07-01 21:15:00.000000, 合约: SHFE.rb2510, 开平: OPEN, 方向: BUY, 手数: 1, 价格: 3014.000,手续费: 2.98\n",
" INFO - 时间: 2025-07-15 13:30:00.000000, 合约: SHFE.rb2510, 开平: CLOSE, 方向: SELL, 手数: 1, 价格: 3108.000,手续费: 2.98\n",
" INFO - 时间: 2025-07-18 21:15:00.000000, 合约: SHFE.rb2510, 开平: OPEN, 方向: BUY, 手数: 1, 价格: 3180.000,手续费: 2.98\n",
" INFO - 时间: 2025-07-28 09:00:00.000000, 合约: SHFE.rb2510, 开平: CLOSE, 方向: SELL, 手数: 1, 价格: 3249.000,手续费: 2.98\n",
" INFO - 时间: 2025-07-29 11:15:00.000000, 合约: SHFE.rb2510, 开平: OPEN, 方向: BUY, 手数: 1, 价格: 3320.000,手续费: 2.98\n",
" INFO - 时间: 2025-07-30 14:15:00.000000, 合约: SHFE.rb2510, 开平: CLOSE, 方向: SELL, 手数: 1, 价格: 3294.000,手续费: 2.98\n",
" INFO - 时间: 2025-07-30 21:15:00.000000, 合约: SHFE.rb2510, 开平: OPEN, 方向: SELL, 手数: 1, 价格: 3278.000,手续费: 2.98\n",
" INFO - 时间: 2025-08-05 21:00:00.000000, 合约: SHFE.rb2510, 开平: CLOSE, 方向: BUY, 手数: 1, 价格: 3234.000,手续费: 2.98\n",
" INFO - 时间: 2025-08-13 21:15:00.000000, 合约: SHFE.rb2510, 开平: OPEN, 方向: SELL, 手数: 1, 价格: 3209.000,手续费: 2.98\n",
" INFO - 时间: 2025-08-22 21:30:00.000000, 合约: SHFE.rb2510, 开平: CLOSE, 方向: BUY, 手数: 1, 价格: 3144.000,手续费: 2.98\n",
" INFO - 时间: 2025-09-05 14:00:00.000000, 合约: SHFE.rb2601, 开平: OPEN, 方向: BUY, 手数: 1, 价格: 3141.000,手续费: 3.05\n",
" INFO - 时间: 2025-09-05 22:30:00.000000, 合约: SHFE.rb2601, 开平: CLOSE, 方向: SELL, 手数: 1, 价格: 3121.000,手续费: 3.05\n",
" INFO - 时间: 2025-09-09 21:30:00.000000, 合约: SHFE.rb2601, 开平: OPEN, 方向: SELL, 手数: 1, 价格: 3094.000,手续费: 3.05\n",
" INFO - 时间: 2025-09-10 09:45:00.000000, 合约: SHFE.rb2601, 开平: CLOSETODAY, 方向: BUY, 手数: 1, 价格: 3110.000,手续费: 3.05\n",
" INFO - 时间: 2025-09-12 11:15:00.000000, 合约: SHFE.rb2601, 开平: OPEN, 方向: BUY, 手数: 1, 价格: 3115.000,手续费: 3.05\n",
" INFO - 时间: 2025-09-18 10:45:00.000000, 合约: SHFE.rb2601, 开平: CLOSE, 方向: SELL, 手数: 1, 价格: 3134.000,手续费: 3.05\n",
" INFO - 时间: 2025-09-26 21:00:00.000000, 合约: SHFE.rb2601, 开平: OPEN, 方向: SELL, 手数: 1, 价格: 3113.000,手续费: 3.05\n",
" INFO - 模拟交易账户资金, 账户: TQSIM\n",
" INFO - 日期: 2025-06-02, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-03, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-04, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-05, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-06, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-09, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-10, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-11, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-12, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-13, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-16, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-17, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-18, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-19, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-20, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-23, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-24, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-25, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-26, 账户权益: 10000000.00, 可用资金: 10000000.00, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-06-27, 账户权益: 9999997.03, 可用资金: 9997617.03, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 2.98, 风险度: 0.02%\n",
" INFO - 日期: 2025-06-30, 账户权益: 10000017.03, 可用资金: 9997637.03, 浮动盈亏: 20.00, 持仓盈亏: 20.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-01, 账户权益: 9999914.05, 可用资金: 9999914.05, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: -100.00, 市值: 0.00, 保证金: 0.00, 手续费: 2.98, 风险度: 0.00%\n",
" INFO - 日期: 2025-07-02, 账户权益: 10000421.08, 可用资金: 9998041.08, 浮动盈亏: 510.00, 持仓盈亏: 510.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 2.98, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-03, 账户权益: 10000531.08, 可用资金: 9998151.08, 浮动盈亏: 620.00, 持仓盈亏: 110.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-04, 账户权益: 10000491.08, 可用资金: 9998111.08, 浮动盈亏: 580.00, 持仓盈亏: -40.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-07, 账户权益: 10000381.08, 可用资金: 9998001.08, 浮动盈亏: 470.00, 持仓盈亏: -110.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-08, 账户权益: 10000401.08, 可用资金: 9998021.08, 浮动盈亏: 490.00, 持仓盈亏: 20.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-09, 账户权益: 10000401.08, 可用资金: 9998021.08, 浮动盈亏: 490.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-10, 账户权益: 10001001.08, 可用资金: 9998621.08, 浮动盈亏: 1090.00, 持仓盈亏: 600.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-11, 账户权益: 10001101.08, 可用资金: 9998721.08, 浮动盈亏: 1190.00, 持仓盈亏: 100.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-14, 账户权益: 10001151.08, 可用资金: 9998771.08, 浮动盈亏: 1240.00, 持仓盈亏: 50.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-15, 账户权益: 10000848.10, 可用资金: 10000848.10, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: -300.00, 市值: 0.00, 保证金: 0.00, 手续费: 2.98, 风险度: 0.00%\n",
" INFO - 日期: 2025-07-16, 账户权益: 10000848.10, 可用资金: 10000848.10, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-07-17, 账户权益: 10000848.10, 可用资金: 10000848.10, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-07-18, 账户权益: 10000848.10, 可用资金: 10000848.10, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-07-21, 账户权益: 10001285.13, 可用资金: 9998905.13, 浮动盈亏: 440.00, 持仓盈亏: 440.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 2.98, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-22, 账户权益: 10002115.13, 可用资金: 9999735.13, 浮动盈亏: 1270.00, 持仓盈亏: 830.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-23, 账户权益: 10001785.13, 可用资金: 9999405.13, 浮动盈亏: 940.00, 持仓盈亏: -330.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-24, 账户权益: 10001985.13, 可用资金: 9999605.13, 浮动盈亏: 1140.00, 持仓盈亏: 200.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-25, 账户权益: 10002605.13, 可用资金: 10000225.13, 浮动盈亏: 1760.00, 持仓盈亏: 620.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-28, 账户权益: 10001532.15, 可用资金: 10001532.15, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: -1070.00, 市值: 0.00, 保证金: 0.00, 手续费: 2.98, 风险度: 0.00%\n",
" INFO - 日期: 2025-07-29, 账户权益: 10001799.18, 可用资金: 9999419.18, 浮动盈亏: 270.00, 持仓盈亏: 270.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 2.98, 风险度: 0.02%\n",
" INFO - 日期: 2025-07-30, 账户权益: 10001266.20, 可用资金: 10001266.20, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: -530.00, 市值: 0.00, 保证金: 0.00, 手续费: 2.98, 风险度: 0.00%\n",
" INFO - 日期: 2025-07-31, 账户权益: 10001993.23, 可用资金: 9999613.23, 浮动盈亏: 730.00, 持仓盈亏: 730.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 2.98, 风险度: 0.02%\n",
" INFO - 日期: 2025-08-01, 账户权益: 10002013.23, 可用资金: 9999633.23, 浮动盈亏: 750.00, 持仓盈亏: 20.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-08-04, 账户权益: 10002003.23, 可用资金: 9999623.23, 浮动盈亏: 740.00, 持仓盈亏: -10.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-08-05, 账户权益: 10001713.23, 可用资金: 9999333.23, 浮动盈亏: 450.00, 持仓盈亏: -290.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-08-06, 账户权益: 10001700.25, 可用资金: 10001700.25, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: -10.00, 市值: 0.00, 保证金: 0.00, 手续费: 2.98, 风险度: 0.00%\n",
" INFO - 日期: 2025-08-07, 账户权益: 10001700.25, 可用资金: 10001700.25, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-08-08, 账户权益: 10001700.25, 可用资金: 10001700.25, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-08-11, 账户权益: 10001700.25, 可用资金: 10001700.25, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-08-12, 账户权益: 10001700.25, 可用资金: 10001700.25, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-08-13, 账户权益: 10001700.25, 可用资金: 10001700.25, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-08-14, 账户权益: 10001897.28, 可用资金: 9999517.28, 浮动盈亏: 200.00, 持仓盈亏: 200.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 2.98, 风险度: 0.02%\n",
" INFO - 日期: 2025-08-15, 账户权益: 10001907.28, 可用资金: 9999527.28, 浮动盈亏: 210.00, 持仓盈亏: 10.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-08-18, 账户权益: 10002237.28, 可用资金: 9999857.28, 浮动盈亏: 540.00, 持仓盈亏: 330.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-08-19, 账户权益: 10002527.28, 可用资金: 10000147.28, 浮动盈亏: 830.00, 持仓盈亏: 290.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-08-20, 账户权益: 10002467.28, 可用资金: 10000087.28, 浮动盈亏: 770.00, 持仓盈亏: -60.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-08-21, 账户权益: 10002577.28, 可用资金: 10000197.28, 浮动盈亏: 880.00, 持仓盈亏: 110.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-08-22, 账户权益: 10002597.28, 可用资金: 10000217.28, 浮动盈亏: 900.00, 持仓盈亏: 20.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2380.00, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-08-25, 账户权益: 10002344.30, 可用资金: 10002344.30, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: -250.00, 市值: 0.00, 保证金: 0.00, 手续费: 2.98, 风险度: 0.00%\n",
" INFO - 日期: 2025-08-26, 账户权益: 10002344.30, 可用资金: 10002344.30, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-08-27, 账户权益: 10002344.30, 可用资金: 10002344.30, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-08-28, 账户权益: 10002344.30, 可用资金: 10002344.30, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-08-29, 账户权益: 10002344.30, 可用资金: 10002344.30, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-01, 账户权益: 10002344.30, 可用资金: 10002344.30, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-02, 账户权益: 10002344.30, 可用资金: 10002344.30, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-03, 账户权益: 10002344.30, 可用资金: 10002344.30, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-04, 账户权益: 10002344.30, 可用资金: 10002344.30, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-05, 账户权益: 10002361.25, 可用资金: 9999924.45, 浮动盈亏: 20.00, 持仓盈亏: 20.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2436.80, 手续费: 3.05, 风险度: 0.02%\n",
" INFO - 日期: 2025-09-08, 账户权益: 10002138.21, 可用资金: 10002138.21, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: -220.00, 市值: 0.00, 保证金: 0.00, 手续费: 3.05, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-09, 账户权益: 10002138.21, 可用资金: 10002138.21, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-10, 账户权益: 10001972.12, 可用资金: 10001972.12, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: -160.00, 市值: 0.00, 保证金: 0.00, 手续费: 6.09, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-11, 账户权益: 10001972.12, 可用资金: 10001972.12, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-12, 账户权益: 10002089.07, 可用资金: 9999652.27, 浮动盈亏: 120.00, 持仓盈亏: 120.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2436.80, 手续费: 3.05, 风险度: 0.02%\n",
" INFO - 日期: 2025-09-15, 账户权益: 10002179.07, 可用资金: 9999742.27, 浮动盈亏: 210.00, 持仓盈亏: 90.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2436.80, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-09-16, 账户权益: 10002479.07, 可用资金: 10000042.27, 浮动盈亏: 510.00, 持仓盈亏: 300.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2436.80, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-09-17, 账户权益: 10002499.07, 可用资金: 10000062.27, 浮动盈亏: 530.00, 持仓盈亏: 20.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2436.80, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 日期: 2025-09-18, 账户权益: 10002156.02, 可用资金: 10002156.02, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: -340.00, 市值: 0.00, 保证金: 0.00, 手续费: 3.05, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-19, 账户权益: 10002156.02, 可用资金: 10002156.02, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-22, 账户权益: 10002156.02, 可用资金: 10002156.02, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-23, 账户权益: 10002156.02, 可用资金: 10002156.02, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-24, 账户权益: 10002156.02, 可用资金: 10002156.02, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-25, 账户权益: 10002156.02, 可用资金: 10002156.02, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-26, 账户权益: 10002156.02, 可用资金: 10002156.02, 浮动盈亏: 0.00, 持仓盈亏: 0.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 0.00, 手续费: 0.00, 风险度: 0.00%\n",
" INFO - 日期: 2025-09-29, 账户权益: 10002312.98, 可用资金: 9999876.18, 浮动盈亏: 160.00, 持仓盈亏: 160.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2436.80, 手续费: 3.05, 风险度: 0.02%\n",
" INFO - 日期: 2025-09-30, 账户权益: 10002562.98, 可用资金: 10000126.18, 浮动盈亏: 410.00, 持仓盈亏: 250.00, 平仓盈亏: 0.00, 市值: 0.00, 保证金: 2436.80, 手续费: 0.00, 风险度: 0.02%\n",
" INFO - 胜率: 55.56%, 盈亏额比例: 3.33, 收益率: 0.03%, 年化收益率: 0.07%, 最大回撤: 0.01%, 年化夏普率: -63.7079,年化索提诺比率: -15.3458\n",
"回测结束:开始平仓所有剩余持仓...\n",
"TqsdkEngine: 回测运行完毕。\n",
"TqsdkEngine: API 已关闭。\n",
"\n",
"回测运行完毕。\n"
"初始化数据管理器...\n"
]
},
{
"ename": "KeyError",
"evalue": "'initial_capital'",
"ename": "FileNotFoundError",
"evalue": "数据文件未找到: /mnt/d/PyProject/NewQuant/data/data/KQ_m@SHFE_rb/KQ_m@SHFE_rb_min15.csv",
"output_type": "error",
"traceback": [
"\u001B[31m---------------------------------------------------------------------------\u001B[39m",
"\u001B[31mKeyError\u001B[39m Traceback (most recent call last)",
"\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[4]\u001B[39m\u001B[32m, line 47\u001B[39m\n\u001B[32m 45\u001B[39m portfolio_snapshots = results[\u001B[33m\"\u001B[39m\u001B[33mportfolio_snapshots\u001B[39m\u001B[33m\"\u001B[39m]\n\u001B[32m 46\u001B[39m trade_history = results[\u001B[33m\"\u001B[39m\u001B[33mtrade_history\u001B[39m\u001B[33m\"\u001B[39m]\n\u001B[32m---> \u001B[39m\u001B[32m47\u001B[39m initial_capital_result = \u001B[43mresults\u001B[49m\u001B[43m[\u001B[49m\u001B[33;43m\"\u001B[39;49m\u001B[33;43minitial_capital\u001B[39;49m\u001B[33;43m\"\u001B[39;49m\u001B[43m]\u001B[49m\n\u001B[32m 48\u001B[39m bars = results[\u001B[33m\"\u001B[39m\u001B[33mall_bars\u001B[39m\u001B[33m\"\u001B[39m]\n",
"\u001B[31mKeyError\u001B[39m: 'initial_capital'"
"\u001B[31mFileNotFoundError\u001B[39m Traceback (most recent call last)",
"\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[5]\u001B[39m\u001B[32m, line 7\u001B[39m\n\u001B[32m 5\u001B[39m \u001B[38;5;66;03m# --- 1. 初始化数据管理器 ---\u001B[39;00m\n\u001B[32m 6\u001B[39m \u001B[38;5;28mprint\u001B[39m(\u001B[33m\"\u001B[39m\u001B[33m初始化数据管理器...\u001B[39m\u001B[33m\"\u001B[39m)\n\u001B[32m----> \u001B[39m\u001B[32m7\u001B[39m data_manager = \u001B[43mDataManager\u001B[49m\u001B[43m(\u001B[49m\u001B[43mfile_path\u001B[49m\u001B[43m=\u001B[49m\u001B[43mdata_file_path\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43msymbol\u001B[49m\u001B[43m=\u001B[49m\u001B[43mglobal_config\u001B[49m\u001B[43m[\u001B[49m\u001B[33;43m'\u001B[39;49m\u001B[33;43msymbol\u001B[39;49m\u001B[33;43m'\u001B[39;49m\u001B[43m]\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mstart_time\u001B[49m\u001B[43m=\u001B[49m\u001B[43mstart_time\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 8\u001B[39m \u001B[43m \u001B[49m\u001B[43mend_time\u001B[49m\u001B[43m=\u001B[49m\u001B[43mend_time\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 10\u001B[39m strategy_parameters = {\n\u001B[32m 11\u001B[39m \u001B[33m'\u001B[39m\u001B[33mmain_symbol\u001B[39m\u001B[33m'\u001B[39m: \u001B[33m'\u001B[39m\u001B[33mrb\u001B[39m\u001B[33m'\u001B[39m, \u001B[38;5;66;03m# <-- 替换为你的交易品种代码,例如 'GC=F' (黄金期货), 'ZC=F' (玉米期货)\u001B[39;00m\n\u001B[32m 12\u001B[39m \u001B[33m'\u001B[39m\u001B[33mtrade_volume\u001B[39m\u001B[33m'\u001B[39m: \u001B[32m1\u001B[39m,\n\u001B[32m (...)\u001B[39m\u001B[32m 15\u001B[39m \u001B[33m'\u001B[39m\u001B[33menable_log\u001B[39m\u001B[33m'\u001B[39m: \u001B[38;5;28;01mFalse\u001B[39;00m\n\u001B[32m 16\u001B[39m }\n\u001B[32m 20\u001B[39m \u001B[38;5;66;03m# --- 2. 初始化回测引擎并运行 ---\u001B[39;00m\n",
"\u001B[36mFile \u001B[39m\u001B[32mD:\\PyProject\\NewQuant\\src\\data_manager.py:22\u001B[39m, in \u001B[36mDataManager.__init__\u001B[39m\u001B[34m(self, file_path, symbol, tz, start_time, end_time)\u001B[39m\n\u001B[32m 20\u001B[39m \u001B[38;5;28mself\u001B[39m.file_path = file_path\n\u001B[32m 21\u001B[39m \u001B[38;5;28mself\u001B[39m.tz = tz\n\u001B[32m---> \u001B[39m\u001B[32m22\u001B[39m \u001B[38;5;28mself\u001B[39m.raw_df = \u001B[43mload_raw_data\u001B[49m\u001B[43m(\u001B[49m\u001B[38;5;28;43mself\u001B[39;49m\u001B[43m.\u001B[49m\u001B[43mfile_path\u001B[49m\u001B[43m)\u001B[49m \u001B[38;5;66;03m# 调用函数式加载数据\u001B[39;00m\n\u001B[32m 24\u001B[39m \u001B[38;5;28mself\u001B[39m.start_time = start_time\n\u001B[32m 25\u001B[39m \u001B[38;5;28mself\u001B[39m.end_time = end_time\n",
"\u001B[36mFile \u001B[39m\u001B[32mD:\\PyProject\\NewQuant\\src\\data_processing.py:28\u001B[39m, in \u001B[36mload_raw_data\u001B[39m\u001B[34m(file_path)\u001B[39m\n\u001B[32m 11\u001B[39m \u001B[38;5;250m\u001B[39m\u001B[33;03m\"\"\"\u001B[39;00m\n\u001B[32m 12\u001B[39m \u001B[33;03m从 CSV 文件加载原始数据,并进行初步的数据类型处理。\u001B[39;00m\n\u001B[32m 13\u001B[39m \u001B[33;03m假设 datetime 列已经是北京时间,无需额外时区转换或本地化。\u001B[39;00m\n\u001B[32m (...)\u001B[39m\u001B[32m 25\u001B[39m \u001B[33;03m KeyError: 如果CSV中缺少必要的列。\u001B[39;00m\n\u001B[32m 26\u001B[39m \u001B[33;03m\"\"\"\u001B[39;00m\n\u001B[32m 27\u001B[39m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m os.path.exists(file_path):\n\u001B[32m---> \u001B[39m\u001B[32m28\u001B[39m \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mFileNotFoundError\u001B[39;00m(\u001B[33mf\u001B[39m\u001B[33m\"\u001B[39m\u001B[33m数据文件未找到: \u001B[39m\u001B[38;5;132;01m{\u001B[39;00mfile_path\u001B[38;5;132;01m}\u001B[39;00m\u001B[33m\"\u001B[39m)\n\u001B[32m 30\u001B[39m \u001B[38;5;66;03m# 定义期望的列名,用于检查和选择\u001B[39;00m\n\u001B[32m 31\u001B[39m expected_cols = [\u001B[33m'\u001B[39m\u001B[33mdatetime\u001B[39m\u001B[33m'\u001B[39m, \u001B[33m'\u001B[39m\u001B[33mopen\u001B[39m\u001B[33m'\u001B[39m, \u001B[33m'\u001B[39m\u001B[33mhigh\u001B[39m\u001B[33m'\u001B[39m, \u001B[33m'\u001B[39m\u001B[33mlow\u001B[39m\u001B[33m'\u001B[39m, \u001B[33m'\u001B[39m\u001B[33mclose\u001B[39m\u001B[33m'\u001B[39m, \u001B[33m'\u001B[39m\u001B[33mvolume\u001B[39m\u001B[33m'\u001B[39m, \u001B[33m'\u001B[39m\u001B[33mopen_oi\u001B[39m\u001B[33m'\u001B[39m, \u001B[33m'\u001B[39m\u001B[33mclose_oi\u001B[39m\u001B[33m'\u001B[39m, \u001B[33m'\u001B[39m\u001B[33munderlying_symbol\u001B[39m\u001B[33m'\u001B[39m]\n",
"\u001B[31mFileNotFoundError\u001B[39m: 数据文件未找到: /mnt/d/PyProject/NewQuant/data/data/KQ_m@SHFE_rb/KQ_m@SHFE_rb_min15.csv"
]
}
],
"execution_count": 4
"execution_count": 5
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-10-19T06:30:51.251633200Z",
"end_time": "2025-12-17T13:57:22.378533300Z",
"start_time": "2025-10-17T14:27:25.613908Z"
}
},