{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "ename": "ModuleNotFoundError", "evalue": "No module named 'vnpy_ctastrategy.strategies.vip09'", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", "Cell \u001b[1;32mIn[2], line 5\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mvnpy\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mtrader\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01moptimize\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m OptimizationSetting\n\u001b[0;32m 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mvnpy_ctastrategy\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mbacktesting\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m BacktestingEngine\n\u001b[1;32m----> 5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mvnpy_ctastrategy\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mstrategies\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mvip09\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m vip09\n\u001b[0;32m 6\u001b[0m \u001b[38;5;66;03m# from vip09 import vip09\u001b[39;00m\n", "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'vnpy_ctastrategy.strategies.vip09'" ] } ], "source": [ "from datetime import datetime\n", "\n", "from vnpy.trader.optimize import OptimizationSetting\n", "from vnpy_ctastrategy.backtesting import BacktestingEngine\n", "# from vnpy_ctastrategy.strategies.vip09 import vip09\n", "from vip09 import vip09" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "engine = BacktestingEngine()\n", "engine.set_parameters(\n", " vt_symbol=\"rb00.SHFE\",\n", " interval=\"1m\",\n", " start=datetime(2020, 1, 1),\n", " end=datetime(2024, 3, 21),\n", " rate=1.5/10000,\n", " slippage=1,\n", " size=10,\n", " pricetick=1,\n", " capital=1_000_00,\n", ")\n", "engine.add_strategy(vip09, {})" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": false }, "outputs": [], "source": [ "engine.load_data()\n", "engine.run_backtesting()\n", "df = engine.calculate_result()\n", "engine.calculate_statistics()\n", "engine.show_chart()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": false }, "outputs": [], "source": [ "'''用于参数优化'''\n", "# setting = OptimizationSetting()\n", "# setting.set_target(\"sharpe_ratio\")\n", "# setting.add_parameter(\"Length\", 5, 100, 5)\n", "# setting.add_parameter(\"N\", 5, 100, 5)\n", "# setting.add_parameter(\"X\", 1, 20, 1)\n", "# setting.add_parameter(\"TS\", 5, 100, 5)\n", "# from multiprocessing import cpu_count\n", "# # 获取 CPU 核心数量\n", "# num_cores = cpu_count()\n", "# print(f\"获取 CPU 核心数量:\",round(num_cores/2))\n", "# engine.run_ga_optimization(setting, max_workers=round(num_cores/2))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": false }, "outputs": [], "source": [ "#engine.run_bf_optimization(setting)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.10.9" }, "vscode": { "interpreter": { "hash": "1b43cb0bd93d5abbadd54afed8252f711d4681fe6223ad6b67ffaee289648f85" } } }, "nbformat": 4, "nbformat_minor": 2 }