{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# 加载功能模块\n", "from datetime import datetime\n", "\n", "from vnpy.trader.constant import Interval\n", "\n", "from elite_optionstrategy import BacktestingEngine\n", "\n", "from short_straddle_strategy import ShortStraddleStrategy" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# 创建回测引擎\n", "engine = BacktestingEngine()\n", "\n", "engine.set_parameters(\n", " interval=Interval.MINUTE,\n", " start=datetime(2021, 1, 1),\n", " end=datetime(2022, 12, 31),\n", " rate=0,\n", " slippage=0.6 + (16 / 100),\n", ")\n", "\n", "engine.add_strategy(ShortStraddleStrategy, {})" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 729/729 [33:07<00:00, 2.73s/it]\n" ] } ], "source": [ "# 历史数据回放\n", "engine.run_backtesting()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2024-02-02 15:25:46.305300\t开始计算逐日盯市盈亏\n", "2024-02-02 15:25:46.311048\t逐日盯市盈亏计算完成\n" ] }, { "data": { "text/html": [ "
| \n", " | trade_count | \n", "turnover | \n", "commission | \n", "slippage | \n", "trading_pnl | \n", "holding_pnl | \n", "total_pnl | \n", "net_pnl | \n", "
|---|---|---|---|---|---|---|---|---|
| date | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
| 2021-01-04 | \n", "2 | \n", "17780.0 | \n", "0.0 | \n", "152.0 | \n", "800.0 | \n", "0.0 | \n", "800.0 | \n", "648.0 | \n", "
| 2021-01-05 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "-4900.0 | \n", "-4900.0 | \n", "-4900.0 | \n", "
| 2021-01-06 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "-3500.0 | \n", "-3500.0 | \n", "-3500.0 | \n", "
| 2021-01-07 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "-9620.0 | \n", "-9620.0 | \n", "-9620.0 | \n", "
| 2021-01-08 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "3080.0 | \n", "3080.0 | \n", "3080.0 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2022-12-26 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "1080.0 | \n", "1080.0 | \n", "1080.0 | \n", "
| 2022-12-27 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "2960.0 | \n", "2960.0 | \n", "2960.0 | \n", "
| 2022-12-28 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "-360.0 | \n", "-360.0 | \n", "-360.0 | \n", "
| 2022-12-29 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "-580.0 | \n", "-580.0 | \n", "-580.0 | \n", "
| 2022-12-30 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "1540.0 | \n", "1540.0 | \n", "1540.0 | \n", "
485 rows × 8 columns
\n", "