Files
NewQuant/futures_trading_strategies/c/KalmanStrategy/KalmanStrategy_tqsdk.ipynb

795 lines
355 KiB
Plaintext
Raw Normal View History

{
"cells": [
{
"cell_type": "code",
"id": "522f09ca7b3fe929",
"metadata": {
"ExecuteTime": {
"end_time": "2025-10-19T06:30:07.814040Z",
"start_time": "2025-10-19T06:30:06.968311Z"
}
},
"source": [
"from datetime import datetime\n",
"\n",
"import sys\n",
"\n",
"if '/mnt/d/PyProject/NewQuant/' not in sys.path:\n",
" sys.path.append('/mnt/d/PyProject/NewQuant/')\n",
" \n",
"from src.data_processing import load_raw_data\n",
"%load_ext autoreload\n",
"%autoreload 2\n",
"\n"
],
"outputs": [],
"execution_count": 1
},
{
"cell_type": "code",
"id": "c00ccfeec592844c",
"metadata": {
"ExecuteTime": {
"end_time": "2025-10-19T06:30:08.226844Z",
"start_time": "2025-10-19T06:30:07.822511Z"
}
},
"source": [
"from turtle import down\n",
"from src.analysis.result_analyzer import ResultAnalyzer\n",
"# 导入所有必要的模块\n",
"from src.data_manager import DataManager\n",
"from src.backtest_engine import BacktestEngine\n",
"from src.indicators.indicator_list import INDICATOR_LIST\n",
"from src.indicators.indicators import *\n",
"\n",
"# 导入您自己的 SMC 策略\n",
"from src.strategies.KalmanStrategy.KalmanStrategy2 import DualModeKalmanStrategy\n",
"\n",
"# --- 配置参数 ---\n",
"# 获取当前脚本所在目录,假设数据文件在项目根目录下的 data 文件夹内\n",
"data_file_path = '/mnt/d/PyProject/NewQuant/data/data/KQ_m@SHFE_rb/KQ_m@SHFE_rb_min15.csv'\n"
],
"outputs": [],
"execution_count": 2
},
{
"cell_type": "code",
"id": "7599fa7cd2cb3d45",
"metadata": {
"ExecuteTime": {
"end_time": "2025-10-19T06:30:08.276053Z",
"start_time": "2025-10-19T06:30:08.233422Z"
}
},
"source": [
"\n",
"initial_capital = 100000.0\n",
"slippage_rate = 0.000 # 假设每笔交易0.1%的滑点\n",
"commission_rate = 0.0001 # 假设每笔交易0.02%的佣金\n",
"\n",
"global_config = {\n",
" 'symbol': 'KQ_m@SHFE_rb', # 确保与数据文件中的 symbol 匹配\n",
"}\n",
"\n",
"# 回测时间范围\n",
"# 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",
"\n",
"\n",
"indicators = INDICATOR_LIST\n",
"indicators = []\n",
"\n",
"# 确保 DataManager 能够重置以进行多次回测\n",
"# data_manager.reset() # 首次运行不需要重置"
],
"outputs": [],
"execution_count": 3
},
{
"cell_type": "code",
"id": "f903fd2761d446cd",
"metadata": {
"ExecuteTime": {
"end_time": "2025-10-19T06:30:51.160327Z",
"start_time": "2025-10-19T06:30:08.282837Z"
}
},
"source": [
"from src.tqsdk_engine import TqsdkEngine\n",
"from tqsdk import TqApi, TqBacktest, TqAuth\n",
"from src.indicators.indicators import ROC_MA\n",
"\n",
"# --- 1. 初始化数据管理器 ---\n",
"print(\"初始化数据管理器...\")\n",
"data_manager = DataManager(file_path=data_file_path, symbol=global_config['symbol'], start_time=start_time,\n",
" end_time=end_time)\n",
"\n",
"strategy_parameters = {\n",
" 'main_symbol': 'rb', # <-- 替换为你的交易品种代码,例如 'GC=F' (黄金期货), 'ZC=F' (玉米期货)\n",
" 'trade_volume': 1,\n",
" 'order_direction': ['SELL', 'BUY'],\n",
" 'indicators': [PriceRangeToVolatilityRatio(7, 21, 4, 5), PriceRangeToVolatilityRatio(7, 21, 4, 5)],\n",
" 'enable_log': False\n",
"}\n",
"\n",
"\n",
"\n",
"# --- 2. 初始化回测引擎并运行 ---\n",
"print(\"\\n初始化回测引擎...\")\n",
"api = TqApi(\n",
" backtest=TqBacktest(start_dt=start_time, end_dt=end_time),\n",
" auth=TqAuth(\"emanresu\", \"dfgvfgdfgg\"),\n",
")\n",
"# --- 1. 初始化回测引擎并运行 ---\n",
"print(\"\\n初始化 Tqsdk 回测引擎...\")\n",
"engine = TqsdkEngine(\n",
" strategy_class=DualModeKalmanStrategy,\n",
" strategy_params=strategy_parameters,\n",
" api=api,\n",
" symbol=global_config['symbol'],\n",
" duration_seconds=60 * 15,\n",
" roll_over_mode=True, # 启用换月模式检测\n",
" start_time=start_time,\n",
" end_time=end_time,\n",
")\n",
"\n",
"print(\"\\n开始运行回测...\")\n",
"engine.run_backtest()\n",
"print(\"\\n回测运行完毕。\")\n",
"\n",
"# --- 3. 获取回测结果 ---\n",
"results = engine.get_backtest_results()\n",
"portfolio_snapshots = results[\"portfolio_snapshots\"]\n",
"trade_history = results[\"trade_history\"]\n",
"initial_capital_result = results[\"initial_capital\"]\n",
"bars = results[\"all_bars\"]\n"
],
"outputs": [
{
"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"
]
},
{
"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"
]
},
{
"ename": "KeyError",
"evalue": "'initial_capital'",
"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'"
]
}
],
"execution_count": 4
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-10-19T06:30:51.251633200Z",
"start_time": "2025-10-17T14:27:25.613908Z"
}
},
"cell_type": "code",
"source": [
"\n",
"# --- 4. 结果分析与可视化 ---\n",
"if portfolio_snapshots:\n",
" analyzer = ResultAnalyzer(portfolio_snapshots, trade_history, bars, initial_capital_result, INDICATOR_LIST)\n",
"\n",
" analyzer.generate_report()\n",
" analyzer.plot_performance()\n",
" metrics = analyzer.calculate_all_metrics()\n",
" print(metrics)\n",
"\n",
" analyzer.analyze_indicators(profit_offset=1)\n",
"else:\n",
" print(\"\\n没有生成投资组合快照无法进行结果分析。\")"
],
"id": "7b191529e909c4d3",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"--- 结果分析器初始化完成 ---\n",
"\n",
"--- 交易明细 ---\n",
" 2021-01-22 13:45:00 | SELL | SHFE.rb2105 | Vol: 1 | Price: 4289.00 | Comm: 0.43\n",
" 2021-01-25 10:45:00 | CLOSE_SHORT | SHFE.rb2105 | Vol: 1 | Price: 4332.00 | Comm: 0.43 | PnL: -43.00\n",
" 2021-01-27 09:00:00 | BUY | SHFE.rb2105 | Vol: 1 | Price: 4368.00 | Comm: 0.44\n",
" 2021-01-27 22:45:00 | CLOSE_LONG | SHFE.rb2105 | Vol: 1 | Price: 4336.00 | Comm: 0.43 | PnL: -32.00\n",
" 2021-02-02 14:30:00 | SELL | SHFE.rb2105 | Vol: 1 | Price: 4137.00 | Comm: 0.41\n",
" 2021-02-03 09:15:00 | CLOSE_SHORT | SHFE.rb2105 | Vol: 1 | Price: 4195.00 | Comm: 0.42 | PnL: -58.00\n",
" 2021-02-08 09:15:00 | BUY | SHFE.rb2105 | Vol: 1 | Price: 4320.00 | Comm: 0.43\n",
" 2021-02-19 10:45:00 | CLOSE_LONG | SHFE.rb2105 | Vol: 1 | Price: 4503.00 | Comm: 0.45 | PnL: 183.00\n",
" 2021-03-02 22:30:00 | BUY | SHFE.rb2105 | Vol: 1 | Price: 4847.00 | Comm: 0.48\n",
" 2021-03-04 21:15:00 | CLOSE_LONG | SHFE.rb2105 | Vol: 1 | Price: 4778.00 | Comm: 0.48 | PnL: -69.00\n",
" 2021-03-04 22:45:00 | SELL | SHFE.rb2105 | Vol: 1 | Price: 4689.00 | Comm: 0.47\n",
" 2021-03-08 09:00:00 | CLOSE_SHORT | SHFE.rb2105 | Vol: 1 | Price: 4815.00 | Comm: 0.48 | PnL: -126.00\n",
" 2021-03-08 09:15:00 | BUY | SHFE.rb2105 | Vol: 1 | Price: 4826.00 | Comm: 0.48\n",
" 2021-03-08 14:30:00 | CLOSE_LONG | SHFE.rb2105 | Vol: 1 | Price: 4770.00 | Comm: 0.48 | PnL: -56.00\n",
" 2021-03-09 14:15:00 | SELL | SHFE.rb2105 | Vol: 1 | Price: 4657.00 | Comm: 0.47\n",
" 2021-03-11 13:45:00 | CLOSE_SHORT | SHFE.rb2105 | Vol: 1 | Price: 4636.00 | Comm: 0.46 | PnL: 21.00\n",
" 2021-03-11 22:15:00 | BUY | SHFE.rb2105 | Vol: 1 | Price: 4774.00 | Comm: 0.48\n",
" 2021-03-12 13:45:00 | CLOSE_LONG | SHFE.rb2105 | Vol: 1 | Price: 4707.00 | Comm: 0.47 | PnL: -67.00\n",
" 2021-03-16 13:45:00 | SELL | SHFE.rb2105 | Vol: 1 | Price: 4666.00 | Comm: 0.47\n",
" 2021-03-16 14:15:00 | CLOSE_SHORT | SHFE.rb2105 | Vol: 1 | Price: 4728.00 | Comm: 0.47 | PnL: -62.00\n",
" 2021-03-24 13:30:00 | BUY | SHFE.rb2105 | Vol: 1 | Price: 4777.00 | Comm: 0.48\n",
" 2021-04-02 14:45:00 | CLOSE_LONG | SHFE.rb2105 | Vol: 1 | Price: 5118.00 | Comm: 0.51 | PnL: 341.00\n",
" 2021-04-15 22:45:00 | BUY | SHFE.rb2110 | Vol: 1 | Price: 5191.00 | Comm: 0.52\n",
" 2021-04-16 09:00:00 | CLOSE_LONG | SHFE.rb2110 | Vol: 1 | Price: 5137.00 | Comm: 0.51 | PnL: -54.00\n",
" 2021-04-23 21:15:00 | BUY | SHFE.rb2110 | Vol: 1 | Price: 5325.00 | Comm: 0.53\n",
" 2021-04-27 21:45:00 | CLOSE_LONG | SHFE.rb2110 | Vol: 1 | Price: 5343.00 | Comm: 0.53 | PnL: 18.00\n",
" 2021-05-13 13:30:00 | SELL | SHFE.rb2110 | Vol: 1 | Price: 5934.00 | Comm: 0.59\n",
" 2021-05-27 21:30:00 | CLOSE_SHORT | SHFE.rb2110 | Vol: 1 | Price: 4915.00 | Comm: 0.49 | PnL: 1019.00\n",
" 2021-05-31 09:15:00 | BUY | SHFE.rb2110 | Vol: 1 | Price: 5124.00 | Comm: 0.51\n",
" 2021-05-31 10:45:00 | CLOSE_LONG | SHFE.rb2110 | Vol: 1 | Price: 5036.00 | Comm: 0.50 | PnL: -88.00\n",
" 2021-05-31 21:15:00 | SELL | SHFE.rb2110 | Vol: 1 | Price: 4880.00 | Comm: 0.49\n",
" 2021-05-31 22:30:00 | CLOSE_SHORT | SHFE.rb2110 | Vol: 1 | Price: 4951.00 | Comm: 0.50 | PnL: -71.00\n",
" 2021-06-21 21:30:00 | SELL | SHFE.rb2110 | Vol: 1 | Price: 4836.00 | Comm: 0.48\n",
" 2021-06-22 14:15:00 | CLOSE_SHORT | SHFE.rb2110 | Vol: 1 | Price: 4907.00 | Comm: 0.49 | PnL: -71.00\n",
" 2021-06-23 21:15:00 | BUY | SHFE.rb2110 | Vol: 1 | Price: 5011.00 | Comm: 0.50\n",
" 2021-06-24 11:00:00 | CLOSE_LONG | SHFE.rb2110 | Vol: 1 | Price: 4941.00 | Comm: 0.49 | PnL: -70.00\n",
" 2021-07-07 14:00:00 | BUY | SHFE.rb2110 | Vol: 1 | Price: 5422.00 | Comm: 0.54\n",
" 2021-07-08 10:00:00 | CLOSE_LONG | SHFE.rb2110 | Vol: 1 | Price: 5373.00 | Comm: 0.54 | PnL: -49.00\n",
" 2021-07-14 14:45:00 | BUY | SHFE.rb2110 | Vol: 1 | Price: 5573.00 | Comm: 0.56\n",
" 2021-07-14 21:30:00 | CLOSE_LONG | SHFE.rb2110 | Vol: 1 | Price: 5519.00 | Comm: 0.55 | PnL: -54.00\n",
" 2021-07-26 09:15:00 | BUY | SHFE.rb2110 | Vol: 1 | Price: 5749.00 | Comm: 0.57\n",
" 2021-07-26 13:45:00 | CLOSE_LONG | SHFE.rb2110 | Vol: 1 | Price: 5688.00 | Comm: 0.57 | PnL: -61.00\n",
" 2021-07-27 14:45:00 | SELL | SHFE.rb2110 | Vol: 1 | Price: 5582.00 | Comm: 0.56\n",
" 2021-07-27 22:15:00 | CLOSE_SHORT | SHFE.rb2110 | Vol: 1 | Price: 5618.00 | Comm: 0.56 | PnL: -36.00\n",
" 2021-08-02 09:00:00 | SELL | SHFE.rb2110 | Vol: 1 | Price: 5459.00 | Comm: 0.55\n",
" 2021-08-09 14:45:00 | CLOSE_SHORT | SHFE.rb2110 | Vol: 1 | Price: 5332.00 | Comm: 0.53 | PnL: 127.00\n",
" 2021-08-16 10:30:00 | SELL | SHFE.rb2201 | Vol: 1 | Price: 5371.00 | Comm: 0.54\n",
" 2021-08-30 09:30:00 | CLOSE_SHORT | SHFE.rb2201 | Vol: 1 | Price: 5343.00 | Comm: 0.53 | PnL: 28.00\n",
" 2021-09-09 14:15:00 | BUY | SHFE.rb2201 | Vol: 1 | Price: 5675.00 | Comm: 0.57\n",
" 2021-09-10 14:00:00 | CLOSE_LONG | SHFE.rb2201 | Vol: 1 | Price: 5628.00 | Comm: 0.56 | PnL: -47.00\n",
" 2021-09-14 21:30:00 | SELL | SHFE.rb2201 | Vol: 1 | Price: 5477.00 | Comm: 0.55\n",
" 2021-09-15 11:00:00 | CLOSE_SHORT | SHFE.rb2201 | Vol: 1 | Price: 5556.00 | Comm: 0.56 | PnL: -79.00\n",
" 2021-09-22 21:15:00 | BUY | SHFE.rb2201 | Vol: 1 | Price: 5668.00 | Comm: 0.57\n",
" 2021-09-23 11:15:00 | CLOSE_LONG | SHFE.rb2201 | Vol: 1 | Price: 5583.00 | Comm: 0.56 | PnL: -85.00\n",
" 2021-09-30 14:00:00 | BUY | SHFE.rb2201 | Vol: 1 | Price: 5730.00 | Comm: 0.57\n",
" 2021-09-30 14:30:00 | CLOSE_LONG | SHFE.rb2201 | Vol: 1 | Price: 5703.00 | Comm: 0.57 | PnL: -27.00\n",
" 2021-10-08 09:15:00 | BUY | SHFE.rb2201 | Vol: 1 | Price: 5801.00 | Comm: 0.58\n",
" 2021-10-08 10:00:00 | CLOSE_LONG | SHFE.rb2201 | Vol: 1 | Price: 5732.00 | Comm: 0.57 | PnL: -69.00\n",
" 2021-10-12 13:30:00 | SELL | SHFE.rb2201 | Vol: 1 | Price: 5615.00 | Comm: 0.56\n",
" 2021-10-28 14:15:00 | CLOSE_SHORT | SHFE.rb2201 | Vol: 1 | Price: 4733.00 | Comm: 0.47 | PnL: 882.00\n",
" 2021-11-12 21:15:00 | SELL | SHFE.rb2201 | Vol: 1 | Price: 4186.00 | Comm: 0.42\n",
" 2021-11-16 11:15:00 | CLOSE_SHORT | SHFE.rb2201 | Vol: 1 | Price: 4268.00 | Comm: 0.43 | PnL: -82.00\n",
" 2021-11-19 14:30:00 | BUY | SHFE.rb2201 | Vol: 1 | Price: 4295.00 | Comm: 0.43\n",
" 2021-11-24 14:45:00 | CLOSE_LONG | SHFE.rb2201 | Vol: 1 | Price: 4502.00 | Comm: 0.45 | PnL: 207.00\n",
" 2021-12-02 13:45:00 | BUY | SHFE.rb2205 | Vol: 1 | Price: 4360.00 | Comm: 0.44\n",
" 2021-12-02 21:00:00 | CLOSE_LONG | SHFE.rb2205 | Vol: 1 | Price: 4288.00 | Comm: 0.43 | PnL: -72.00\n",
" 2021-12-20 14:30:00 | SELL | SHFE.rb2205 | Vol: 1 | Price: 4481.00 | Comm: 0.45\n",
" 2021-12-23 21:30:00 | CLOSE_SHORT | SHFE.rb2205 | Vol: 1 | Price: 4528.00 | Comm: 0.45 | PnL: -47.00\n",
" 2021-12-23 21:45:00 | BUY | SHFE.rb2205 | Vol: 1 | Price: 4542.00 | Comm: 0.45\n",
" 2021-12-24 10:45:00 | CLOSE_LONG | SHFE.rb2205 | Vol: 1 | Price: 4502.00 | Comm: 0.45 | PnL: -40.00\n",
" 2021-12-27 09:00:00 | SELL | SHFE.rb2205 | Vol: 1 | Price: 4418.00 | Comm: 0.44\n",
" 2022-01-05 21:15:00 | CLOSE_SHORT | SHFE.rb2205 | Vol: 1 | Price: 4456.00 | Comm: 0.45 | PnL: -38.00\n",
" 2022-01-11 14:45:00 | BUY | SHFE.rb2205 | Vol: 1 | Price: 4577.00 | Comm: 0.46\n",
" 2022-01-13 21:15:00 | CLOSE_LONG | SHFE.rb2205 | Vol: 1 | Price: 4628.00 | Comm: 0.46 | PnL: 51.00\n",
" 2022-01-17 10:45:00 | SELL | SHFE.rb2205 | Vol: 1 | Price: 4527.00 | Comm: 0.45\n",
" 2022-01-18 10:45:00 | CLOSE_SHORT | SHFE.rb2205 | Vol: 1 | Price: 4575.00 | Comm: 0.46 | PnL: -48.00\n",
" 2022-01-18 21:30:00 | BUY | SHFE.rb2205 | Vol: 1 | Price: 4679.00 | Comm: 0.47\n",
" 2022-01-24 22:15:00 | CLOSE_LONG | SHFE.rb2205 | Vol: 1 | Price: 4641.00 | Comm: 0.46 | PnL: -38.00\n",
" 2022-02-10 21:15:00 | BUY | SHFE.rb2205 | Vol: 1 | Price: 5025.00 | Comm: 0.50\n",
" 2022-02-11 09:15:00 | CLOSE_LONG | SHFE.rb2205 | Vol: 1 | Price: 4976.00 | Comm: 0.50 | PnL: -49.00\n",
" 2022-02-11 21:00:00 | SELL | SHFE.rb2205 | Vol: 1 | Price: 4891.00 | Comm: 0.49\n",
" 2022-02-21 21:15:00 | CLOSE_SHORT | SHFE.rb2205 | Vol: 1 | Price: 4870.00 | Comm: 0.49 | PnL: 21.00\n",
" 2022-02-21 21:30:00 | BUY | SHFE.rb2205 | Vol: 1 | Price: 4878.00 | Comm: 0.49\n",
" 2022-02-22 11:15:00 | CLOSE_LONG | SHFE.rb2205 | Vol: 1 | Price: 4819.00 | Comm: 0.48 | PnL: -59.00\n",
" 2022-02-22 14:45:00 | SELL | SHFE.rb2205 | Vol: 1 | Price: 4744.00 | Comm: 0.47\n",
" 2022-02-23 13:45:00 | CLOSE_SHORT | SHFE.rb2205 | Vol: 1 | Price: 4805.00 | Comm: 0.48 | PnL: -61.00\n",
" 2022-02-24 11:00:00 | SELL | SHFE.rb2205 | Vol: 1 | Price: 4664.00 | Comm: 0.47\n",
" 2022-02-28 21:15:00 | CLOSE_SHORT | SHFE.rb2205 | Vol: 1 | Price: 4727.00 | Comm: 0.47 | PnL: -63.00\n",
" 2022-03-09 21:15:00 | SELL | SHFE.rb2205 | Vol: 1 | Price: 4841.00 | Comm: 0.48\n",
" 2022-03-10 13:30:00 | CLOSE_SHORT | SHFE.rb2205 | Vol: 1 | Price: 4936.00 | Comm: 0.49 | PnL: -95.00\n",
" 2022-04-08 11:15:00 | SELL | SHFE.rb2210 | Vol: 1 | Price: 4956.00 | Comm: 0.50\n",
" 2022-04-08 13:45:00 | CLOSE_SHORT | SHFE.rb2210 | Vol: 1 | Price: 5002.00 | Comm: 0.50 | PnL: -46.00\n",
" 2022-04-11 09:15:00 | SELL | SHFE.rb2210 | Vol: 1 | Price: 4894.00 | Comm: 0.49\n",
" 2022-04-12 09:15:00 | CLOSE_SHORT | SHFE.rb2210 | Vol: 1 | Price: 4956.00 | Comm: 0.50 | PnL: -62.00\n",
" 2022-04-25 09:00:00 | SELL | SHFE.rb2210 | Vol: 1 | Price: 4859.00 | Comm: 0.49\n",
" 2022-04-29 13:45:00 | CLOSE_SHORT | SHFE.rb2210 | Vol: 1 | Price: 4899.00 | Comm: 0.49 | PnL: -40.00\n",
" 2022-05-06 14:30:00 | SELL | SHFE.rb2210 | Vol: 1 | Price: 4764.00 | Comm: 0.48\n",
" 2022-05-20 09:30:00 | CLOSE_SHORT | SHFE.rb2210 | Vol: 1 | Price: 4644.00 | Comm: 0.46 | PnL: 120.00\n",
" 2022-05-24 21:00:00 | SELL | SHFE.rb2210 | Vol: 1 | Price: 4468.00 | Comm: 0.45\n",
" 2022-05-25 09:15:00 | CLOSE_SHORT | SHFE.rb2210 | Vol: 1 | Price: 4516.00 | Comm: 0.45 | PnL: -48.00\n",
" 2022-06-13 09:15:00 | SELL | SHFE.rb2210 | Vol: 1 | Price: 4682.00 | Comm: 0.47\n",
" 2022-06-13 22:00:00 | CLOSE_SHORT | SHFE.rb2210 | Vol: 1 | Price: 4724.00 | Comm: 0.47 | PnL: -42.00\n",
" 2022-06-16 21:15:00 | SELL | SHFE.rb2210 | Vol: 1 | Price: 4456.00 | Comm: 0.45\n",
" 2022-06-23 13:45:00 | CLOSE_SHORT | SHFE.rb2210 | Vol: 1 | Price: 4217.00 | Comm: 0.42 | PnL: 239.00\n",
" 2022-06-23 14:15:00 | BUY | SHFE.rb2210 | Vol: 1 | Price: 4246.00 | Comm: 0.42\n",
" 2022-06-24 13:30:00 | CLOSE_LONG | SHFE.rb2210 | Vol: 1 | Price: 4199.00 | Comm: 0.42 | PnL: -47.00\n",
" 2022-06-30 21:15:00 | SELL | SHFE.rb2210 | Vol: 1 | Price: 4300.00 | Comm: 0.43\n",
" 2022-07-01 10:00:00 | CLOSE_SHORT | SHFE.rb2210 | Vol: 1 | Price: 4356.00 | Comm: 0.44 | PnL: -56.00\n",
" 2022-07-14 21:15:00 | SELL | SHFE.rb2210 | Vol: 1 | Price: 3760.00 | Comm: 0.38\n",
" 2022-07-18 21:45:00 | CLOSE_SHORT | SHFE.rb2210 | Vol: 1 | Price: 3842.00 | Comm: 0.38 | PnL: -82.00\n",
" 2022-07-28 09:45:00 | BUY | SHFE.rb2210 | Vol: 1 | Price: 3993.00 | Comm: 0.40\n",
" 2022-08-15 14:15:00 | CLOSE_LONG | SHFE.rb2210 | Vol: 1 | Price: 4104.00 | Comm: 0.41 | PnL: 111.00\n",
" 2022-08-17 14:45:00 | SELL | SHFE.rb2210 | Vol: 1 | Price: 4011.00 | Comm: 0.40\n",
" 2022-08-18 13:45:00 | CLOSE_SHORT | SHFE.rb2210 | Vol: 1 | Price: 4058.00 | Comm: 0.41 | PnL: -47.00\n",
" 2022-09-22 09:30:00 | BUY | SHFE.rb2301 | Vol: 1 | Price: 3730.00 | Comm: 0.37\n",
" 2022-09-23 21:15:00 | CLOSE_LONG | SHFE.rb2301 | Vol: 1 | Price: 3740.00 | Comm: 0.37 | PnL: 10.00\n",
" 2022-09-26 21:30:00 | BUY | SHFE.rb2301 | Vol: 1 | Price: 3816.00 | Comm: 0.38\n",
" 2022-09-30 14:15:00 | CLOSE_LONG | SHFE.rb2301 | Vol: 1 | Price: 3793.00 | Comm: 0.38 | PnL: -23.00\n",
" 2022-10-11 14:15:00 | SELL | SHFE.rb2301 | Vol: 1 | Price: 3769.00 | Comm: 0.38\n",
" 2022-11-04 13:45:00 | CLOSE_SHORT | SHFE.rb2301 | Vol: 1 | Price: 3570.00 | Comm: 0.36 | PnL: 199.00\n",
" 2022-11-08 21:15:00 | BUY | SHFE.rb2301 | Vol: 1 | Price: 3584.00 | Comm: 0.36\n",
" 2022-11-09 21:30:00 | CLOSE_LONG | SHFE.rb2301 | Vol: 1 | Price: 3558.00 | Comm: 0.36 | PnL: -26.00\n",
" 2022-11-11 09:15:00 | BUY | SHFE.rb2301 | Vol: 1 | Price: 3620.00 | Comm: 0.36\n",
" 2022-11-21 09:15:00 | CLOSE_LONG | SHFE.rb2301 | Vol: 1 | Price: 3636.00 | Comm: 0.36 | PnL: 16.00\n",
" 2022-11-25 21:15:00 | BUY | SHFE.rb2301 | Vol: 1 | Price: 3752.00 | Comm: 0.38\n",
" 2022-11-28 09:15:00 | CLOSE_LONG | SHFE.rb2301 | Vol: 1 | Price: 3730.00 | Comm: 0.37 | PnL: -22.00\n",
" 2022-12-08 21:30:00 | BUY | SHFE.rb2305 | Vol: 1 | Price: 3878.00 | Comm: 0.39\n",
" 2022-12-16 13:30:00 | CLOSE_LONG | SHFE.rb2305 | Vol: 1 | Price: 3983.00 | Comm: 0.40 | PnL: 105.00\n",
" 2022-12-16 22:00:00 | SELL | SHFE.rb2305 | Vol: 1 | Price: 3945.00 | Comm: 0.39\n",
" 2022-12-19 09:45:00 | CLOSE_SHORT | SHFE.rb2305 | Vol: 1 | Price: 3987.00 | Comm: 0.40 | PnL: -42.00\n",
" 2023-01-06 13:30:00 | BUY | SHFE.rb2305 | Vol: 1 | Price: 4111.00 | Comm: 0.41\n",
" 2023-01-06 21:15:00 | CLOSE_LONG | SHFE.rb2305 | Vol: 1 | Price: 4113.00 | Comm: 0.41 | PnL: 2.00\n",
" 2023-01-13 21:15:00 | SELL | SHFE.rb2305 | Vol: 1 | Price: 4122.00 | Comm: 0.41\n",
" 2023-01-17 22:00:00 | CLOSE_SHORT | SHFE.rb2305 | Vol: 1 | Price: 4158.00 | Comm: 0.42 | PnL: -36.00\n",
" 2023-02-02 14:30:00 | SELL | SHFE.rb2305 | Vol: 1 | Price: 4059.00 | Comm: 0.41\n",
" 2023-02-09 10:00:00 | CLOSE_SHORT | SHFE.rb2305 | Vol: 1 | Price: 4096.00 | Comm: 0.41 | PnL: -37.00\n",
" 2023-02-16 13:45:00 | BUY | SHFE.rb2305 | Vol: 1 | Price: 4138.00 | Comm: 0.41\n",
" 2023-03-06 09:15:00 | CLOSE_LONG | SHFE.rb2305 | Vol: 1 | Price: 4194.00 | Comm: 0.42 | PnL: 56.00\n",
" 2023-03-07 13:30:00 | BUY | SHFE.rb2305 | Vol: 1 | Price: 4268.00 | Comm: 0.43\n",
" 2023-03-08 09:15:00 | CLOSE_LONG | SHFE.rb2305 | Vol: 1 | Price: 4247.00 | Comm: 0.42 | PnL: -21.00\n",
" 2023-03-09 22:00:00 | BUY | SHFE.rb2305 | Vol: 1 | Price: 4339.00 | Comm: 0.43\n",
" 2023-03-10 13:30:00 | CLOSE_LONG | SHFE.rb2305 | Vol: 1 | Price: 4312.00 | Comm: 0.43 | PnL: -27.00\n",
" 2023-03-15 21:15:00 | SELL | SHFE.rb2305 | Vol: 1 | Price: 4298.00 | Comm: 0.43\n",
" 2023-03-29 21:15:00 | CLOSE_SHORT | SHFE.rb2305 | Vol: 1 | Price: 4157.00 | Comm: 0.42 | PnL: 141.00\n",
" 2023-04-03 10:30:00 | SELL | SHFE.rb2305 | Vol: 1 | Price: 4089.00 | Comm: 0.41\n",
" 2023-04-03 14:45:00 | CLOSE_SHORT | SHFE.rb2305 | Vol: 1 | Price: 4059.00 | Comm: 0.41 | PnL: 30.00\n",
" 2023-04-19 22:00:00 | SELL | SHFE.rb2310 | Vol: 1 | Price: 3877.00 | Comm: 0.39\n",
" 2023-04-19 22:45:00 | CLOSE_SHORT | SHFE.rb2310 | Vol: 1 | Price: 3907.00 | Comm: 0.39 | PnL: -30.00\n",
" 2023-04-24 09:30:00 | SELL | SHFE.rb2310 | Vol: 1 | Price: 3723.00 | Comm: 0.37\n",
" 2023-05-05 14:00:00 | CLOSE_SHORT | SHFE.rb2310 | Vol: 1 | Price: 3619.00 | Comm: 0.36 | PnL: 104.00\n",
" 2023-05-10 22:45:00 | SELL | SHFE.rb2310 | Vol: 1 | Price: 3628.00 | Comm: 0.36\n",
" 2023-05-12 21:45:00 | CLOSE_SHORT | SHFE.rb2310 | Vol: 1 | Price: 3663.00 | Comm: 0.37 | PnL: -35.00\n",
" 2023-05-22 14:15:00 | SELL | SHFE.rb2310 | Vol: 1 | Price: 3554.00 | Comm: 0.36\n",
" 2023-05-22 21:45:00 | CLOSE_SHORT | SHFE.rb2310 | Vol: 1 | Price: 3592.00 | Comm: 0.36 | PnL: -38.00\n",
" 2023-05-24 21:15:00 | SELL | SHFE.rb2310 | Vol: 1 | Price: 3433.00 | Comm: 0.34\n",
" 2023-05-25 10:45:00 | CLOSE_SHORT | SHFE.rb2310 | Vol: 1 | Price: 3464.00 | Comm: 0.35 | PnL: -31.00\n",
" 2023-06-26 09:30:00 | SELL | SHFE.rb2310 | Vol: 1 | Price: 3651.00 | Comm: 0.37\n",
" 2023-06-27 09:15:00 | CLOSE_SHORT | SHFE.rb2310 | Vol: 1 | Price: 3683.00 | Comm: 0.37 | PnL: -32.00\n",
" 2023-07-24 22:45:00 | BUY | SHFE.rb2310 | Vol: 1 | Price: 3845.00 | Comm: 0.38\n",
" 2023-08-02 11:15:00 | CLOSE_LONG | SHFE.rb2310 | Vol: 1 | Price: 3818.00 | Comm: 0.38 | PnL: -27.00\n",
" 2023-08-02 22:15:00 | SELL | SHFE.rb2310 | Vol: 1 | Price: 3764.00 | Comm: 0.38\n",
" 2023-08-15 13:45:00 | CLOSE_SHORT | SHFE.rb2310 | Vol: 1 | Price: 3684.00 | Comm: 0.37 | PnL: 80.00\n",
" 2023-08-15 14:00:00 | BUY | SHFE.rb2310 | Vol: 1 | Price: 3691.00 | Comm: 0.37\n",
" 2023-08-18 22:15:00 | CLOSE_LONG | SHFE.rb2310 | Vol: 1 | Price: 3663.00 | Comm: 0.37 | PnL: -28.00\n",
" 2023-08-18 22:30:00 | SELL | SHFE.rb2310 | Vol: 1 | Price: 3663.00 | Comm: 0.37\n",
" 2023-08-22 13:45:00 | CLOSE_SHORT | SHFE.rb2310 | Vol: 1 | Price: 3678.00 | Comm: 0.37 | PnL: -15.00\n",
" 2023-08-22 14:15:00 | BUY | SHFE.rb2310 | Vol: 1 | Price: 3712.00 | Comm: 0.37\n",
" 2023-08-24 21:00:00 | CLOSE_LONG | SHFE.rb2310 | Vol: 1 | Price: 3698.00 | Comm: 0.37 | PnL: -14.00\n",
" 2023-09-21 14:00:00 | SELL | SHFE.rb2401 | Vol: 1 | Price: 3770.00 | Comm: 0.38\n",
" 2023-10-12 21:15:00 | CLOSE_SHORT | SHFE.rb2401 | Vol: 1 | Price: 3634.00 | Comm: 0.36 | PnL: 136.00\n",
" 2023-10-23 09:15:00 | SELL | SHFE.rb2401 | Vol: 1 | Price: 3572.00 | Comm: 0.36\n",
" 2023-10-24 10:45:00 | CLOSE_SHORT | SHFE.rb2401 | Vol: 1 | Price: 3594.00 | Comm: 0.36 | PnL: -22.00\n",
" 2023-10-25 09:15:00 | BUY | SHFE.rb2401 | Vol: 1 | Price: 3679.00 | Comm: 0.37\n",
" 2023-11-23 09:00:00 | CLOSE_LONG | SHFE.rb2401 | Vol: 1 | Price: 3931.00 | Comm: 0.39 | PnL: 252.00\n",
" 2023-12-13 11:15:00 | SELL | SHFE.rb2405 | Vol: 1 | Price: 3975.00 | Comm: 0.40\n",
" 2023-12-21 13:45:00 | CLOSE_SHORT | SHFE.rb2405 | Vol: 1 | Price: 3980.00 | Comm: 0.40 | PnL: -5.00\n",
" 2024-01-16 21:15:00 | BUY | SHFE.rb2405 | Vol: 1 | Price: 3920.00 | Comm: 0.39\n",
" 2024-01-17 10:30:00 | CLOSE_LONG | SHFE.rb2405 | Vol: 1 | Price: 3891.00 | Comm: 0.39 | PnL: -29.00\n",
" 2024-01-17 21:15:00 | SELL | SHFE.rb2405 | Vol: 1 | Price: 3850.00 | Comm: 0.39\n",
" 2024-01-17 22:45:00 | CLOSE_SHORT | SHFE.rb2405 | Vol: 1 | Price: 3882.00 | Comm: 0.39 | PnL: -32.00\n",
" 2024-01-30 14:00:00 | SELL | SHFE.rb2405 | Vol: 1 | Price: 3932.00 | Comm: 0.39\n",
" 2024-02-19 09:15:00 | CLOSE_SHORT | SHFE.rb2405 | Vol: 1 | Price: 3864.00 | Comm: 0.39 | PnL: 68.00\n",
" 2024-02-20 21:15:00 | SELL | SHFE.rb2405 | Vol: 1 | Price: 3742.00 | Comm: 0.37\n",
" 2024-02-21 10:45:00 | CLOSE_SHORT | SHFE.rb2405 | Vol: 1 | Price: 3776.00 | Comm: 0.38 | PnL: -34.00\n",
" 2024-02-26 09:15:00 | SELL | SHFE.rb2405 | Vol: 1 | Price: 3752.00 | Comm: 0.38\n",
" 2024-02-27 10:30:00 | CLOSE_SHORT | SHFE.rb2405 | Vol: 1 | Price: 3789.00 | Comm: 0.38 | PnL: -37.00\n",
" 2024-02-27 11:15:00 | BUY | SHFE.rb2405 | Vol: 1 | Price: 3807.00 | Comm: 0.38\n",
" 2024-02-29 14:15:00 | CLOSE_LONG | SHFE.rb2405 | Vol: 1 | Price: 3775.00 | Comm: 0.38 | PnL: -32.00\n",
" 2024-03-11 09:45:00 | SELL | SHFE.rb2405 | Vol: 1 | Price: 3636.00 | Comm: 0.36\n",
" 2024-03-19 10:45:00 | CLOSE_SHORT | SHFE.rb2405 | Vol: 1 | Price: 3564.00 | Comm: 0.36 | PnL: 72.00\n",
" 2024-03-26 21:15:00 | SELL | SHFE.rb2405 | Vol: 1 | Price: 3492.00 | Comm: 0.35\n",
" 2024-03-26 22:45:00 | CLOSE_SHORT | SHFE.rb2405 | Vol: 1 | Price: 3517.00 | Comm: 0.35 | PnL: -25.00\n",
" 2024-04-17 13:45:00 | BUY | SHFE.rb2410 | Vol: 1 | Price: 3650.00 | Comm: 0.36\n",
" 2024-04-23 21:00:00 | CLOSE_LONG | SHFE.rb2410 | Vol: 1 | Price: 3633.00 | Comm: 0.36 | PnL: -17.00\n",
" 2024-04-30 13:45:00 | SELL | SHFE.rb2410 | Vol: 1 | Price: 3642.00 | Comm: 0.36\n",
" 2024-05-06 09:00:00 | CLOSE_SHORT | SHFE.rb2410 | Vol: 1 | Price: 3674.00 | Comm: 0.37 | PnL: -32.00\n",
" 2024-05-06 11:00:00 | BUY | SHFE.rb2410 | Vol: 1 | Price: 3727.00 | Comm: 0.37\n",
" 2024-05-08 13:45:00 | CLOSE_LONG | SHFE.rb2410 | Vol: 1 | Price: 3706.00 | Comm: 0.37 | PnL: -21.00\n",
" 2024-05-08 21:00:00 | SELL | SHFE.rb2410 | Vol: 1 | Price: 3674.00 | Comm: 0.37\n",
" 2024-05-13 14:15:00 | CLOSE_SHORT | SHFE.rb2410 | Vol: 1 | Price: 3684.00 | Comm: 0.37 | PnL: -10.00\n",
" 2024-05-21 22:30:00 | BUY | SHFE.rb2410 | Vol: 1 | Price: 3791.00 | Comm: 0.38\n",
" 2024-05-23 13:30:00 | CLOSE_LONG | SHFE.rb2410 | Vol: 1 | Price: 3764.00 | Comm: 0.38 | PnL: -27.00\n",
" 2024-05-30 14:00:00 | SELL | SHFE.rb2410 | Vol: 1 | Price: 3729.00 | Comm: 0.37\n",
" 2024-06-06 14:30:00 | CLOSE_SHORT | SHFE.rb2410 | Vol: 1 | Price: 3655.00 | Comm: 0.37 | PnL: 74.00\n",
" 2024-07-05 13:30:00 | SELL | SHFE.rb2410 | Vol: 1 | Price: 3565.00 | Comm: 0.36\n",
" 2024-07-11 13:30:00 | CLOSE_SHORT | SHFE.rb2410 | Vol: 1 | Price: 3531.00 | Comm: 0.35 | PnL: 34.00\n",
" 2024-07-17 13:45:00 | SELL | SHFE.rb2410 | Vol: 1 | Price: 3513.00 | Comm: 0.35\n",
" 2024-07-26 09:00:00 | CLOSE_SHORT | SHFE.rb2410 | Vol: 1 | Price: 3390.00 | Comm: 0.34 | PnL: 123.00\n",
" 2024-07-30 21:30:00 | SELL | SHFE.rb2410 | Vol: 1 | Price: 3283.00 | Comm: 0.33\n",
" 2024-07-30 22:30:00 | CLOSE_SHORT | SHFE.rb2410 | Vol: 1 | Price: 3324.00 | Comm: 0.33 | PnL: -41.00\n",
" 2024-08-12 09:00:00 | SELL | SHFE.rb2410 | Vol: 1 | Price: 3220.00 | Comm: 0.32\n",
" 2024-08-19 21:15:00 | CLOSE_SHORT | SHFE.rb2410 | Vol: 1 | Price: 3164.00 | Comm: 0.32 | PnL: 56.00\n",
" 2024-09-24 09:15:00 | BUY | SHFE.rb2501 | Vol: 1 | Price: 3165.00 | Comm: 0.32\n",
" 2024-09-24 10:00:00 | CLOSE_LONG | SHFE.rb2501 | Vol: 1 | Price: 3135.00 | Comm: 0.31 | PnL: -30.00\n",
" 2024-09-24 13:45:00 | BUY | SHFE.rb2501 | Vol: 1 | Price: 3193.00 | Comm: 0.32\n",
" 2024-10-08 13:45:00 | CLOSE_LONG | SHFE.rb2501 | Vol: 1 | Price: 3477.00 | Comm: 0.35 | PnL: 284.00\n",
" 2024-10-17 14:30:00 | SELL | SHFE.rb2501 | Vol: 1 | Price: 3327.00 | Comm: 0.33\n",
" 2024-10-18 14:45:00 | CLOSE_SHORT | SHFE.rb2501 | Vol: 1 | Price: 3362.00 | Comm: 0.34 | PnL: -35.00\n",
" 2024-10-25 22:00:00 | BUY | SHFE.rb2501 | Vol: 1 | Price: 3426.00 | Comm: 0.34\n",
" 2024-10-31 22:15:00 | CLOSE_LONG | SHFE.rb2501 | Vol: 1 | Price: 3401.00 | Comm: 0.34 | PnL: -25.00\n",
" 2024-11-01 09:00:00 | SELL | SHFE.rb2501 | Vol: 1 | Price: 3379.00 | Comm: 0.34\n",
" 2024-11-01 09:45:00 | CLOSE_SHORT | SHFE.rb2501 | Vol: 1 | Price: 3399.00 | Comm: 0.34 | PnL: -20.00\n",
" 2024-11-06 11:15:00 | SELL | SHFE.rb2501 | Vol: 1 | Price: 3357.00 | Comm: 0.34\n",
" 2024-11-06 13:45:00 | CLOSE_SHORT | SHFE.rb2501 | Vol: 1 | Price: 3389.00 | Comm: 0.34 | PnL: -32.00\n",
" 2024-11-08 10:45:00 | SELL | SHFE.rb2501 | Vol: 1 | Price: 3387.00 | Comm: 0.34\n",
" 2024-11-19 14:15:00 | CLOSE_SHORT | SHFE.rb2501 | Vol: 1 | Price: 3318.00 | Comm: 0.33 | PnL: 69.00\n",
" 2024-11-22 11:00:00 | SELL | SHFE.rb2501 | Vol: 1 | Price: 3292.00 | Comm: 0.33\n",
" 2024-11-22 22:15:00 | CLOSE_SHORT | SHFE.rb2501 | Vol: 1 | Price: 3328.00 | Comm: 0.33 | PnL: -36.00\n",
" 2024-11-29 11:15:00 | BUY | SHFE.rb2501 | Vol: 1 | Price: 3347.00 | Comm: 0.33\n",
" 2024-11-29 14:30:00 | CLOSE_LONG | SHFE.rb2501 | Vol: 1 | Price: 3329.00 | Comm: 0.33 | PnL: -18.00\n",
" 2024-12-05 11:00:00 | SELL | SHFE.rb2501 | Vol: 1 | Price: 3292.00 | Comm: 0.33\n",
" 2024-12-05 14:45:00 | CLOSE_SHORT | SHFE.rb2501 | Vol: 1 | Price: 3283.00 | Comm: 0.33 | PnL: 9.00\n",
" 2024-12-18 14:45:00 | SELL | SHFE.rb2505 | Vol: 1 | Price: 3308.00 | Comm: 0.33\n",
" 2024-12-26 09:45:00 | CLOSE_SHORT | SHFE.rb2505 | Vol: 1 | Price: 3321.00 | Comm: 0.33 | PnL: -13.00\n",
"正在计算绩效指标...\n",
"total_return: 0.01595601699999971, annualized_return:0.0027416888292601804, 252 / total_days:0.17295813315030886\n",
"绩效指标计算完成。\n",
"\n",
"--- 回测绩效报告 ---\n",
"初始资金 : 100000.00\n",
"最终资金 : 101595.60\n",
"总收益率 : 1.60%\n",
"年化收益率 : 0.27%\n",
"最大回撤 : 0.93%\n",
"夏普比率 : 0.14\n",
"卡玛比率 : 0.29\n",
"总交易次数 : 234\n",
"总实现盈亏 : 1695.00\n",
"交易成本 : 99.40\n",
"\n",
"--- 交易详情 ---\n",
"盈利交易次数 : 35\n",
"亏损交易次数 : 82\n",
"胜率 : 29.91%\n",
"盈亏比 : 3.45\n",
"平均每次盈利 : 151.09\n",
"平均每次亏损 : -43.82\n",
"正在绘制绩效图表...\n"
]
},
{
"data": {
"text/plain": [
"<Figure size 1400x1000 with 2 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABWQAAAPdCAYAAAANmGE2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd8E/UfBvAnq5tdyrCADFuQPZQtsgRElKGIMhyogAKi/hRwAAoKIuBWUFEElSEbZAgyZG9k71WkQEsZ3Uma+/1xXuZlNTt93q8XLyDjckm+udw9+dznqxAEQQARERERERERERER+Zwy0CtAREREREREREREVFQwkCUiIiIiIiIiIiLyEwayRERERERERERERH7CQJaIiIiIiIiIiIjITxjIEhEREREREREREfkJA1kiIiIiIiIiIiIiP2EgS0REREREREREROQnDGSJiIiIiIiIiIiI/ISBLBEREREREREREZGfMJAlIqKQ1a5dOyQnJ1v8qVOnDh588EGMGDECe/fuDfQq2jhz5gxefvllNG/eHLVq1UJycjK+/PLLQi/v8uXLSE5ORrt27Wyuk16fy5cve7LKLpF7L+T+LF682Ofr4sioUaOCYj2CUWFem8WLF8t+Bps2bYqHH34Yb7zxBubPn4+srCwfrnngOfochrtt27Zh9OjR6NSpExo1aoQ6deqgVatWeO655zBr1ixkZGQEehUD6ueff0ZycjLWrl3r8HY//fST8TM0Z84ch7fdtWsXkpOT0b9/f5vrpGUU1tmzZzFx4kR0794dTZs2Re3atdG0aVM8+eSTmDp1Ks6ePVvoZZPn9u7di+TkZEyePDnQq0JERB5SB3oFiIiIPNWoUSNUqVIFAHDnzh0cOXIEq1evxpo1azBy5Eg899xzPl+HxYsXY/To0ejRowcmTZoke5ucnBy89NJL+Pfff42hhUqlQq1atXy+fv5i/l7IqVy5sh/XxnWuvH9kX0xMDDp16gQAMBgMyMzMxOXLl7Fq1SqsXLkSkyZNwmuvvYb+/ftDoVAEeG3JGzIyMvDGG29g+/btAIC77roLTZs2RUxMDNLS0nDgwAFs374dn3/+OWbNmoX69esHeI39LyMjA1999RXq1q1r/HzYs3DhQuO/Fy1aJBu2+pJer8fkyZMxZ84cGAwGlCxZEnXq1EHJkiWRmZmJo0eP4uDBg/jhhx/wzjvvoF+/fn5dP0mobau//PJLfPXVVxg6dCiGDRvm8fKaNGmCBx98ELNnz0bv3r1x9913e76SREQUEAxkiYgo5D3xxBPo2bOn8f/5+fkYM2YMli5dik8++QQPPvggqlatGsA1FB0+fBj//vsvGjZsiHnz5vn88WbNmgWdTody5cr5/LEk1u9FsHn99dfx4osvIiEhIdCrElZKlSolG45cv34dP/zwA2bPno0PP/wQV69exVtvvRWANSRvyszMxNNPP43z58+jWrVqGD9+PJo0aWJxG61WiyVLluDLL79EWlpagNY0sL766ivcuXPHaRB38OBBnDlzBsWLF4der8fx48dx9OhR1K5d209rCrz55ptYtWoV4uLi8M477+Cxxx6DSqUyXi8IArZt24Zp06bh4sWLflsvsjVs2DBs2rQJU6ZMwVdffRXo1SEiokJiywIiIgo7kZGRGDNmDGJiYlBQUIB169YFepUAAKmpqQDgt4qWypUro3r16tBoNH55vFCQkJCA6tWro1ixYoFelSIhISEBb7/9Nt577z0AwMyZM4OylQi5Z/z48Th//jzuuusuzJ071yaMBYCIiAg8+eSTWLp0KapVqxaAtQysO3fuYMmSJShXrhxat27t8LZSdWzXrl3RuXNni8v8YeHChVi1ahU0Gg1+/PFH9OzZ0yKMBQCFQoFWrVph/vz5ePjhh/22bmSrTp06qFmzJv766y+/tCQiIiLfYCBLRERhKTY21lgVa33AsmXLFgwaNAjNmzc3tg4YMWIEDh8+LLus/v37Izk5Gbt27cLevXsxePBgNGvWDDVr1sTixYvRrl07jB49GgCwZMkSi36a/fv3N/b7GzlypOxtzN26dQvTpk1D165dUb9+fTRs2BA9e/bE999/j7y8PLdeA0c9ZHNzc/Hdd9+hR48eaNiwIerXr4+uXbvi008/xe3bt916HE+dOXMGw4cPR9OmTVGvXj088sgjmDlzJgoKCuw+B2d9Es3fM3NyfVKdvX8GgwHt27dHcnIyDhw4YPcxx40b51Zvv6ysLCxYsABDhw7FQw89hAYNGqBBgwbo1q0bPv30U9y5c0f2fuavyc6dO/H888/jvvvuQ7169dCjRw8sXbrU7mPeunULH374Idq2bWvst/zBBx/g1q1bLq1zYfXt2xd169YFAPzwww8W10l9aEeNGmVcvw4dOqBOnToWp21v374d48ePx2OPPYamTZuiTp06eOCBBzBixAgcOnTI5jFnz56N5ORkTJgwwea6F198EcnJyWjZsiUEQbC4bunSpUhOTpat5N24cSP69euHhg0bonHjxnj66aexfv16p8//7NmzGD16tPF1v//++/HMM89g1apVPl1v816jOp0O3333Hbp27Yp69eqhadOmGDp0qNs9QVNSUrBy5UoAwOjRo1GyZEmHt4+Pj7cIZJ31KjYfD/YulxsnW7ZsQXJyMrp06WJ3XfR6PVq2bInk5GScOHHC4rq8vDz8+OOP6N27N5o0aWJsMzB58mTcvHnT4XO09zxycnLw2GOPQam0f8iVk5NjHAePP/44evXqBQBYuXIl8vPz3X5cdwmCgOnTpwMA+vTp47S1hEajQcOGDW0uP3ToEF599VW0atUKderUQfPmzTF48GBs27ZNdjnm4yAlJQVvvvkmWrZsiTp16qBDhw749NNPodVqLe7jbFstcfadDRR++wuI42jhwoV49tlnLbZFzz77rEX/3+TkZGMF61dffWWxvubj+/r165gwYQI6deqEunXron79+mjTpg2eeeYZzJw5U3YdevToAYPBgLlz59pdTyIiCm5sWUBERGFLmkgoIiLCeNlnn32Gb7/9FgqFAg0bNkTFihVx9uxZrF69Gn/++Sc++OADPP7447LLW7NmDebNm4dq1aqhRYsWuH37NiIiItCpUyccPHgQ+/fvR+XKldG4cWPjfapVq4b4+Hj06NEDFy9elL2NJCUlBc888wz+/fdflC5dGm3atIFOp8OuXbswZcoUrF69Gj/99BNKlCjh0ety69YtPPvsszh+/Dji4uLQrFkzaDQa7N69G9OnT8fKlSvx888/IzEx0aPHccXevXvx4osvIicnB5UqVULLli1x8+ZNfPrpp/jnn398/vgAnL5/SqUS/fr1w6RJk/DLL7/IhhFZWVlYtmwZlEolnn76aZce98SJE3jvvfdQunRpVK1aFbVr1zb2QJ4+fTpWr16N+fPno1SpUrL3X7RoEb799lvce++9aN26Nf79918cPHgQI0eONL7H5tLT09G3b19cuHABJUqUQNu2bWEwGLBixQps2bIFNWrUcP1FK4RHH30Uhw8fxq5du6DX66FWW+6G3rx5E7169UJmZiYaN26M2rVrW1R3jx07FqmpqbjnnnvQqFEjqNVqnDt3DqtXr8a6deswbdo0iz6dLVq0AABjj1OJTqczVummp6fj5MmTqFmzpvF66fbS/SWzZs3CxIkTAQD16tVD5cqVceHCBbzyyisO+1Rv2rQJw4cPR35+PqpWrYqHHnoIN27cwJ49e7Bz505s3boVH330kc/WW7rvSy+9hAMHDqBJkyaoXr06Dh06hHXr1mHXrl1YsmSJy5/3jRs3oqCgAMWLFw/IJGb2xknLli1Rvnx5nDt3DgcPHkSDBg1s7vv3338jPT0dtWvXtnjtrl27hhdeeAGnTp1CyZIlUbduXcTGxuLYsWOYOXMm1qxZgzlz5uCuu+5yeT2loF7u/TC3atUqZGdnGyfEA8SzKC5cuIA///wT3bp1c/kxC+PkyZNISUkBIIZ8hbFgwQKMHTsWBoMB9957L5o2bYp///0XGzduxMaNGzFs2DAMHTpU9r7Hjx/Hhx9+iBIlSuC+++7
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
},
{
"data": {
"text/plain": [
"<Figure size 1400x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABW0AAAKyCAYAAACuWPzHAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4FOXaBvB7tiSb3um9JJTQu6AICKLiEWxYALECHkRFBQ96FCvop4ICNkQURLEAKgoe6YL0XoOEGnoK6dlky3x/JDuZzc627G52k9y/6/I7U955551kdvjy7DPPK4iiKIKIiIiIiIiIiIiIAoLK3wMgIiIiIiIiIiIionIM2hIREREREREREREFEAZtiYiIiIiIiIiIiAIIg7ZEREREREREREREAYRBWyIiIiIiIiIiIqIAwqAtERERERERERERUQBh0JaIiIiIiIiIiIgogDBoS0RERERERERERBRAGLQlIiIiIiIiIiIiCiAM2hIRUa12/vx5JCUlISkpCefPn3fYduDAgUhKSsLy5curZGxz5sxBUlIS5syZUyXn8/Y5LT/bgQMHemFkVWfhwoXSPbF48WJ/D8evLl26hFmzZuHee+9F79690b59e3Tv3h0jRozAm2++iYMHD9ocY/nZ1RSjR4+WrsnyX3JyMvr164fx48dj/fr1lerXH5/vynj77bfRpk0bHDp0yG6bkydPYsaMGRg+fDh69eqF9u3bo1evXhg5ciTef/99nDx5sgpHTNVZZZ4fSp/RpKQkdOrUCbfccgveeOMNXLx40Ucj9o60tDQkJyfj6aef9vdQiIgogDBoS0RERCTz008/ScvLli3z40gqZ/ny5UhKSsKLL77oUT/z58/H4MGD8emnn+LEiRNo06YNhg4diu7duyMnJweLFy/GPffcg3fffddLIw9sbdq0wYgRIzBixAgMHDgQOp0OGzZswIQJE/Dmm2/6e3g+cfLkSSxZsgRDhgxBhw4dbPYbjUa8/fbbGDZsGL766itcunQJycnJGDp0KDp16oTz58/j888/x7Bhw/DNN9/44QqqVnUJxDvjrWdIVZN/RocPH47u3bsjIyMD33zzDW6//XbFL5kCRePGjXHvvffijz/+wM6dO/09HCIiChAafw+AiIiIaqa6deti1apV0Gq1/h6Ky/bv34/U1FRERkbCaDTi2LFjOHLkCNq3b+/voVWp9957D/Pnz4dWq8XUqVMxatQoBAUFWbXZv38/Zs2ahTNnzvhnkFXspptuwlNPPSWtm81mzJ49G5999hkWL16MQYMGoU+fPi739+CDD+LWW29FTEyML4brFe+++y6MRqPVdcu98MILWLVqFcLDw/HSSy/hjjvugFqtlvaLooi///4bH3zwAc6ePVtVw6ZaquJnFADy8vIwfvx47N69G9OnT6+yN2UqY8KECfjhhx8wY8YMrFixwt/DISKiAMBMWyIiIvIJrVaLli1bokmTJv4eisssWba33XYbhg4darWttti2bRvmz58PAJg1axYeeeQRm4AtAHTu3BlfffUVHnnkkaoeYkBQqVR4+umn0bhxYwDA6tWr3To+NjYWLVu2RGxsrC+G57HTp09j06ZN6Ny5M1q3bm2z/6effpK+lPnyyy9x5513WgVsAUAQBPTr1w/ff/89br311qoaOpEkIiIC//73vwEAR44cQV5enp9HZF9CQgJuuOEGHD16FLt27fL3cIiIKAAw05aIiMhDo0ePxs6dO7Fo0SJERkZi3rx52LVrFwoKCtCkSRPcfffdePjhhyEIgs2xer0e8+fPx8qVK3Hx4kVER0ejb9++LtW1O3z4MBYuXIg9e/YgIyMDoaGh6NChA8aMGYP+/fvbtB84cCAuXLiAdevWISUlBYsWLUJKSgpycnKwaNEi9OrVS/E8H330EebNm4eRI0fi9ddfV2xz8OBB3HPPPahTpw42bNgAjUaD8+fPY9CgQWjYsKFN3U9LzcLjx4/jf//7H7766iscP34cZrMZbdq0wYQJExSvAQAuXLiAOXPmYPPmzcjNzUX9+vUxbNgwjBs3Do899pj0u7B3PfYUFhZi1apVAIC7774ber0ey5cvx2+//YYXX3wRwcHBisetXr0a33//PY4dO4b8/HyEh4cjLi4OXbt2xahRo9CmTRupbV5eHr744gusX78eaWlpMBqNiI6ORqNGjdCnTx88+eSTNpnJOTk5+Prrr7Fu3TqcO3cOZrMZTZo0wS233IKHH34YISEhUlvL7xgAVqxYYZWt1bNnT5dq9H788cdSX4MHD3bYVhAEdO/e3WmfFtnZ2fjyyy+xbt06nD9/HiqVCs2bN8ctt9yC0aNHQ6fT2RyzdetWLFq0CAcPHkROTg5CQ0MRExODjh07YuTIkejRo4fNMdu2bcOSJUuwf/9+ZGdnIyIiAl27dsVjjz2GLl26uDxeZ9RqNdq2bYu0tDTp5w649lmbM2cO5s6di4kTJypmsp4+fRpff/01tm3bhsuXL0OtVqNevXro2bMnHnjgASQmJlq1d+c+ccWSJUsgiiJGjBhhs08URXz66acAgPvuuw+dOnVy2JdWq1X8uR88eBALFizAnj17pN9Tp06dMHr0aPTt29em/YsvvogVK1ZgxowZ6NGjBz766CNs3boVOTk5qFevHm677Tb8+9//VvySASh9Zi5evBi7du1Ceno6QkJCUK9ePfTt2xejRo1Cw4YNpbZ//vknNm3ahAMHDuDKlSvQ6/VISEhAr1698Pjjj6NFixZWfcvrsM6dOxdz586V1keMGIGZM2dK60ajEStWrMCvv/6K48ePo7CwEHXq1MH111+P8ePHo379+lZ979ixA2PGjEHPnj3x5ZdfYuHChfjll1+QlpaGkJAQ9OjRA88++yxatmxpc81bt27FunXrsHv3bly+fBkFBQWIjY1F165d8cgjj6Bjx45W7d19hvzxxx/48ccfceTIEeTn5yMmJga9evXC+PHj0apVK8Xfw759+zBv3jzs378fJpMJzZs3xwMPPIC7775bsb2n4uPjpWWj0Wi1LysrC7/99hs2b96MkydPIiMjAxqNBs2aNcPQoUPx0EMPKT775f+GLVu2DD/88ANSU1ORn5+PdevWoVGjRpV63t95551Yt24dlixZovhsIyKi2oVBWyIiIi/ZsmULFi5ciCZNmqBv375IT0/Hnj178M477+DSpUt46aWXrNoXFRVh7Nix2L9/P0JDQ9GvXz8EBwdjy5Yt2LhxI2688Ua75/r6668xc+ZMmM1mtG3bFh07dkRGRgZ27NiBLVu24KmnnsLEiRMVj124cCG++eYbJCcn4/rrr8fVq1dtMuTk7r//fnz++edYuXIlnn/+eURGRtq0WbJkCQBg5MiR0Ghc/38vPvroI3z88cfo0qUL+vfvj1OnTmHfvn0YN24c5syZYxM0TE1NxahRo3Dt2jXUqVMHgwYNQlFRERYuXIjt27fDbDa7fO6KVq1ahYKCAmmiKQBo1qwZzpw5gz///BO33367zTFz587FnDlzoNFo0KVLF9StWxd5eXm4dOkSfvrpJ7Rq1UoK2hYVFeGBBx7AP//8g9jYWPTu3RuhoaFIT0/H6dOn8fHHH+Phhx+2+iM+NTUVjz32GC5duoSEhAR069YNGo0Ghw4dwocffog///wTixcvRkREBADg5ptvxv79+7F37140adIE3bp1k/qqGGRSkpubi927dwOAYrDOE2lpaXjooYdw4cIFxMbGon///jAYDNixYwfee+89rF69GgsXLkRUVJR0zIoVK/Cf//wHANCxY0f06tULer0eV65cwapVqxATE2MT2HjnnXfw5ZdfQqVSITk5Gd26dcOlS5ewbt06bNiwAW+88Qbuuusur11Xfn4+ACgGCt39rFmsXLkS06ZNQ0lJCRo0aID+/fvDbDYjLS0NS5cuRVxcnFXQ1t37xBXr1q0DAFx33XU2+44fP460tDQAlb9PfvjhB7z66qswm81o164devXqhQsXLmDDhg3YsGGDw2fYsWPH8NZbbyEqKgo9evRATk4O9u7di08//RSpqamYN2+ezTFffPEF3n/
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"图表绘制完成。\n",
"{'初始资金': 100000.0, '最终资金': np.float64(101595.60169999997), '总收益率': np.float64(0.01595601699999971), '年化收益率': np.float64(0.0027416888292601804), '最大回撤': np.float64(0.009314395251809444), '夏普比率': np.float64(0.1370947822507793), '卡玛比率': np.float64(0.2943496335661267), '总交易次数': 234, '交易成本': 99.3983, '总实现盈亏': 1695.0, '胜率': 0.29914529914529914, '盈亏比': 3.4481014671384833, '盈利交易次数': 35, '亏损交易次数': 82, '平均每次盈利': 151.0857142857143, '平均每次亏损': -43.81707317073171, 'initial_capital': 100000.0, 'final_capital': np.float64(101595.60169999997), 'total_return': np.float64(0.01595601699999971), 'annualized_return': np.float64(0.0027416888292601804), 'max_drawdown': np.float64(0.009314395251809444), 'sharpe_ratio': np.float64(0.1370947822507793), 'calmar_ratio': np.float64(0.2943496335661267), 'sortino_ratio': np.float64(0.11400401196758053), 'total_trades': 234, 'transaction_costs': 99.3983, 'total_realized_pnl': 1695.0, 'win_rate': 0.29914529914529914, 'profit_loss_ratio': 3.4481014671384833, 'winning_trades_count': 35, 'losing_trades_count': 82, 'avg_profit_per_trade': 151.0857142857143, 'avg_loss_per_trade': -43.81707317073171}\n",
"指标 'rsi_5' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'rsi_7' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'rsi_10' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'rsi_14' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'rsi_15' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'rsi_20' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'rsi_25' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'rsi_30' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'rsi_35' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'rsi_40' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'range_0' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'range_1' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'range_6' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'range_13' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'range_20' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'stoch_k_14_3' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'stoch_k_5_3' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'stoch_k_21_5' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'roc_5' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'roc_10' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'roc_15' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'roc_20' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'roc_ma_5_5' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'roc_ma_5_10' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'roc_ma_10_10' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'roc_ma_10_20' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'roc_ma_20_20' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'roc_ma_20_40' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'natr_5' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'natr_14' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'natr_21' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'adx_7' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'adx_14' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'adx_30' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'adx_60' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'adx_120' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'adx_240' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'bbw_10_15' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'bbw_20_20' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'bbw_50_25' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'price_range_to_vol_ratio_n3_atr5' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'price_range_to_vol_ratio_n3_atr14' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'price_range_to_vol_ratio_n3_atr21' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'price_range_to_vol_ratio_n7_atr5' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'price_range_to_vol_ratio_n7_atr14' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'price_range_to_vol_ratio_n7_atr21' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'price_range_to_vol_ratio_n21_atr5' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'price_range_to_vol_ratio_n21_atr14' 没有对应的有效平仓交易数据。跳过绘图。\n",
"指标 'price_range_to_vol_ratio_n21_atr21' 没有对应的有效平仓交易数据。跳过绘图。\n",
"\n",
"所有指标的分析图表已生成。\n"
]
}
],
"execution_count": 5
}
],
"metadata": {
"kernelspec": {
"display_name": "quant",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}