实现单品种连续多合约回测
This commit is contained in:
23
main.ipynb
23
main.ipynb
@@ -2,7 +2,7 @@
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"execution_count": 3,
|
||||
"id": "initial_id",
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
@@ -19,7 +19,7 @@
|
||||
"The autoreload extension is already loaded. To reload it, use:\n",
|
||||
" %reload_ext autoreload\n",
|
||||
"初始化数据管理器...\n",
|
||||
"数据加载成功: /mnt/d/PyProject/NewQuant/data/data/SHFE_rb2501/SHFE_rb2501_m60_20240901_20241201_min60.csv\n",
|
||||
"数据加载成功: /mnt/d/PyProject/NewQuant/data/data/SHFE_rb2501/SHFE_rb2501_min60.csv\n",
|
||||
"数据范围从 2024-08-30 14:00:00 到 2024-11-29 21:00:00\n",
|
||||
"总计 404 条记录。\n",
|
||||
"\n",
|
||||
@@ -444,9 +444,12 @@
|
||||
"[2024-11-29 14:00:00] Strategy processing Bar. Current close price: 3318.00. Current Portfolio Value: 99973.05\n",
|
||||
"[2024-11-29 21:00:00] Strategy processing Bar. Current close price: 3301.00. Current Portfolio Value: 99990.05\n",
|
||||
"Bar 对象流生成完毕。\n",
|
||||
"\n",
|
||||
"--- 回测片段结束,检查并平仓所有持仓 ---\n",
|
||||
"[2024-11-29 21:00:00] 回测结束平仓: 平仓 SHFE_rb2501 (-1 手) @ 3301.00。\n",
|
||||
"--- 回测结束 ---\n",
|
||||
"总计处理了 404 根K线。\n",
|
||||
"总计发生了 1 笔交易。\n",
|
||||
"总计发生了 2 笔交易。\n",
|
||||
"\n",
|
||||
"回测运行完毕。\n",
|
||||
"\n",
|
||||
@@ -462,11 +465,12 @@
|
||||
"最大回撤 : 0.63%\n",
|
||||
"夏普比率 : -0.02\n",
|
||||
"卡玛比率 : -0.04\n",
|
||||
"总交易次数 : 1\n",
|
||||
"交易成本 : 0.66\n",
|
||||
"总交易次数 : 2\n",
|
||||
"交易成本 : 1.32\n",
|
||||
"\n",
|
||||
"--- 部分交易明细 (最近5笔) ---\n",
|
||||
" 2024-08-30 21:00:00 | SELL | SHFE_rb2501 | Vol: 1 | Price: 3291.70 | Commission: 0.66\n",
|
||||
" 2024-11-29 21:00:00 | BUY | SHFE_rb2501 | Vol: 1 | Price: 3304.30 | Commission: 0.66\n",
|
||||
"正在绘制绩效图表...\n"
|
||||
]
|
||||
},
|
||||
@@ -512,7 +516,7 @@
|
||||
"def main():\n",
|
||||
" # --- 配置参数 ---\n",
|
||||
" # 获取当前脚本所在目录,假设数据文件在项目根目录下的 data 文件夹内\n",
|
||||
" data_file_path = '/mnt/d/PyProject/NewQuant/data/data/SHFE_rb2501/SHFE_rb2501_m60_20240901_20241201_min60.csv'\n",
|
||||
" data_file_path = '/mnt/d/PyProject/NewQuant/data/data/SHFE_rb2501/SHFE_rb2501_min60.csv'\n",
|
||||
"\n",
|
||||
" initial_capital = 100000.0\n",
|
||||
" slippage_rate = 0.001 # 假设每笔交易0.1%的滑点\n",
|
||||
@@ -536,6 +540,7 @@
|
||||
" engine = BacktestEngine(\n",
|
||||
" data_manager=data_manager,\n",
|
||||
" strategy_class=SimpleLimitBuyStrategy,\n",
|
||||
" current_segment_symbol='SHFE_rb2501',\n",
|
||||
" strategy_params=strategy_parameters,\n",
|
||||
" initial_capital=initial_capital,\n",
|
||||
" slippage_rate=slippage_rate,\n",
|
||||
@@ -582,7 +587,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"execution_count": 4,
|
||||
"id": "9dd93e564f0e2b55",
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
@@ -597,7 +602,7 @@
|
||||
"'/home/liaozhaorun/.fonts/simhei.ttf'"
|
||||
]
|
||||
},
|
||||
"execution_count": 8,
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
@@ -611,7 +616,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"execution_count": 5,
|
||||
"id": "a14196c49af33461",
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
|
||||
Reference in New Issue
Block a user