{ "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 buy_option_strategy import BuyOptionStrategy" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# 创建回测引擎\n", "engine = BacktestingEngine()\n", "\n", "engine.set_parameters(\n", " interval=Interval.MINUTE,\n", " start=datetime(2022, 1, 1),\n", " end=datetime(2022, 6, 30),\n", " rate=0,\n", " slippage=0.6 + (16 / 100),\n", ")\n", "\n", "engine.add_strategy(BuyOptionStrategy, {})" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 180/180 [09:25<00:00, 3.14s/it]\n" ] } ], "source": [ "# 历史数据回放\n", "engine.run_backtesting()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2023-12-17 10:06:10.195816\t开始计算逐日盯市盈亏\n", "2023-12-17 10:06:10.200770\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", " |
| 2022-01-04 | \n", "3 | \n", "22600.0 | \n", "0.0 | \n", "228.0 | \n", "3540.0 | \n", "0.0 | \n", "3540.0 | \n", "3312.0 | \n", "
| 2022-01-05 | \n", "6 | \n", "34660.0 | \n", "0.0 | \n", "456.0 | \n", "760.0 | \n", "-2260.0 | \n", "-1500.0 | \n", "-1956.0 | \n", "
| 2022-01-06 | \n", "6 | \n", "39400.0 | \n", "0.0 | \n", "456.0 | \n", "-1540.0 | \n", "3580.0 | \n", "2040.0 | \n", "1584.0 | \n", "
| 2022-01-07 | \n", "10 | \n", "54900.0 | \n", "0.0 | \n", "760.0 | \n", "-840.0 | \n", "-1200.0 | \n", "-2040.0 | \n", "-2800.0 | \n", "
| 2022-01-10 | \n", "8 | \n", "42980.0 | \n", "0.0 | \n", "608.0 | \n", "40.0 | \n", "-1200.0 | \n", "-1160.0 | \n", "-1768.0 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2022-06-23 | \n", "6 | \n", "51860.0 | \n", "0.0 | \n", "456.0 | \n", "3580.0 | \n", "-4000.0 | \n", "-420.0 | \n", "-876.0 | \n", "
| 2022-06-24 | \n", "6 | \n", "55180.0 | \n", "0.0 | \n", "456.0 | \n", "-3680.0 | \n", "2840.0 | \n", "-840.0 | \n", "-1296.0 | \n", "
| 2022-06-27 | \n", "8 | \n", "68440.0 | \n", "0.0 | \n", "608.0 | \n", "-1280.0 | \n", "2480.0 | \n", "1200.0 | \n", "592.0 | \n", "
| 2022-06-28 | \n", "2 | \n", "16660.0 | \n", "0.0 | \n", "152.0 | \n", "4680.0 | \n", "-2380.0 | \n", "2300.0 | \n", "2148.0 | \n", "
| 2022-06-29 | \n", "8 | \n", "70060.0 | \n", "0.0 | \n", "608.0 | \n", "1760.0 | \n", "-3120.0 | \n", "-1360.0 | \n", "-1968.0 | \n", "
116 rows × 8 columns
\n", "