Skip to content

Instantly share code, notes, and snippets.

@shinseitaro
Created December 24, 2021 05:07
Show Gist options
  • Save shinseitaro/60c5039cd300169ec7906136a98c4ca3 to your computer and use it in GitHub Desktop.
Save shinseitaro/60c5039cd300169ec7906136a98c4ca3 to your computer and use it in GitHub Desktop.
limit_order.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/shinseitaro/60c5039cd300169ec7906136a98c4ca3/limit_order.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "cz7lMLFR1Xw3"
},
"source": [
"# backtesting.py で 指値注文\n",
"\n",
"DOC: [backtesting.backtesting API documentation](https://kernc.github.io/backtesting.py/doc/backtesting/backtesting.html#backtesting.backtesting.Strategy.buy)\n",
"\n",
"## テスト\n",
"\n",
"- 15分足のBTC-PERPの指値注文を出す\n",
"- 確認:どのタイミングで指値注文しているか"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "N5Y7w7341Xw9"
},
"outputs": [],
"source": [
"# warning 非表示\n",
"import warnings\n",
"warnings.filterwarnings('ignore')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "9Efissv-1Xw-"
},
"outputs": [],
"source": [
"import pandas as pd \n",
"df = pd.read_csv(\"https://raw.githubusercontent.com/shinseitaro/for-posts/main/note/data/BTC-PERP.csv\", parse_dates=True, index_col=\"Date Time\")\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "za8MC2031Xw_",
"outputId": "a8f4ef8e-fdac-483d-bd3d-a8408ae128df"
},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:xlabel='Date Time'>"
]
},
"execution_count": 169,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 1440x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df[\"Close\"].plot(grid=True, figsize=(20,5))"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "5tBwKoAM1XxA"
},
"source": [
"## Stop Loss 注文"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "kkPy_faZ1XxA"
},
"outputs": [],
"source": [
"from backtesting import Strategy\n",
"from backtesting import Backtest\n",
"\n",
"class MyStrategy(Strategy):\n",
" limit_price = 50000\n",
" tp = None\n",
" sl = 49000 \n",
" stop = None \n",
"\n",
" def init(self):\n",
" pass \n",
"\n",
" def next(self):\n",
" # ポジションを持っていない場合\n",
" if not self.position:\n",
" self.buy(limit=self.limit_price, sl=self.sl, tp=self.tp, stop=self.stop, size=1)\n",
"\n",
"bt = Backtest(\n",
" df, # データ\n",
" MyStrategy, # ストラテジークラス\n",
" cash=100000, # 初期投資額\n",
" commission=0.000, # 取引手数料\n",
" trade_on_close = True, # False にするとシグナル発生後の次のバーのオープンで取引をする。default は False.\n",
"\n",
")\n",
"# バックテスト実行\n",
"stats = bt.run() \n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "ZFBKlvjd1XxB",
"outputId": "767c3f2a-cf5b-4990-acda-169438651a6e"
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Size</th>\n",
" <th>EntryBar</th>\n",
" <th>ExitBar</th>\n",
" <th>EntryPrice</th>\n",
" <th>ExitPrice</th>\n",
" <th>PnL</th>\n",
" <th>ReturnPct</th>\n",
" <th>EntryTime</th>\n",
" <th>ExitTime</th>\n",
" <th>Duration</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>50000.0</td>\n",
" <td>49000.0</td>\n",
" <td>-1000.0</td>\n",
" <td>-0.020000</td>\n",
" <td>2021-12-08 10:30:00</td>\n",
" <td>2021-12-08 11:00:00</td>\n",
" <td>0 days 00:30:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>50000.0</td>\n",
" <td>49000.0</td>\n",
" <td>-1000.0</td>\n",
" <td>-0.020000</td>\n",
" <td>2021-12-08 10:30:00</td>\n",
" <td>2021-12-08 11:00:00</td>\n",
" <td>0 days 00:30:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>7</td>\n",
" <td>8</td>\n",
" <td>49186.0</td>\n",
" <td>49000.0</td>\n",
" <td>-186.0</td>\n",
" <td>-0.003782</td>\n",
" <td>2021-12-08 11:15:00</td>\n",
" <td>2021-12-08 11:30:00</td>\n",
" <td>0 days 00:15:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1</td>\n",
" <td>9</td>\n",
" <td>11</td>\n",
" <td>49099.0</td>\n",
" <td>49000.0</td>\n",
" <td>-99.0</td>\n",
" <td>-0.002016</td>\n",
" <td>2021-12-08 11:45:00</td>\n",
" <td>2021-12-08 12:15:00</td>\n",
" <td>0 days 00:30:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1</td>\n",
" <td>12</td>\n",
" <td>18</td>\n",
" <td>48890.0</td>\n",
" <td>49000.0</td>\n",
" <td>110.0</td>\n",
" <td>0.002250</td>\n",
" <td>2021-12-08 12:30:00</td>\n",
" <td>2021-12-08 14:00:00</td>\n",
" <td>0 days 01:30:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>1</td>\n",
" <td>19</td>\n",
" <td>96</td>\n",
" <td>49322.0</td>\n",
" <td>49000.0</td>\n",
" <td>-322.0</td>\n",
" <td>-0.006529</td>\n",
" <td>2021-12-08 14:15:00</td>\n",
" <td>2021-12-09 09:30:00</td>\n",
" <td>0 days 19:15:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>1</td>\n",
" <td>97</td>\n",
" <td>98</td>\n",
" <td>49233.0</td>\n",
" <td>49000.0</td>\n",
" <td>-233.0</td>\n",
" <td>-0.004733</td>\n",
" <td>2021-12-09 09:45:00</td>\n",
" <td>2021-12-09 10:00:00</td>\n",
" <td>0 days 00:15:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>1</td>\n",
" <td>99</td>\n",
" <td>106</td>\n",
" <td>49081.0</td>\n",
" <td>49000.0</td>\n",
" <td>-81.0</td>\n",
" <td>-0.001650</td>\n",
" <td>2021-12-09 10:15:00</td>\n",
" <td>2021-12-09 12:00:00</td>\n",
" <td>0 days 01:45:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>1</td>\n",
" <td>107</td>\n",
" <td>116</td>\n",
" <td>49358.0</td>\n",
" <td>49000.0</td>\n",
" <td>-358.0</td>\n",
" <td>-0.007253</td>\n",
" <td>2021-12-09 12:15:00</td>\n",
" <td>2021-12-09 14:30:00</td>\n",
" <td>0 days 02:15:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>1</td>\n",
" <td>117</td>\n",
" <td>118</td>\n",
" <td>48898.0</td>\n",
" <td>48612.0</td>\n",
" <td>-286.0</td>\n",
" <td>-0.005849</td>\n",
" <td>2021-12-09 14:45:00</td>\n",
" <td>2021-12-09 15:00:00</td>\n",
" <td>0 days 00:15:00</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Size EntryBar ExitBar EntryPrice ExitPrice PnL ReturnPct \\\n",
"0 1 4 6 50000.0 49000.0 -1000.0 -0.020000 \n",
"1 1 4 6 50000.0 49000.0 -1000.0 -0.020000 \n",
"2 1 7 8 49186.0 49000.0 -186.0 -0.003782 \n",
"3 1 9 11 49099.0 49000.0 -99.0 -0.002016 \n",
"4 1 12 18 48890.0 49000.0 110.0 0.002250 \n",
"5 1 19 96 49322.0 49000.0 -322.0 -0.006529 \n",
"6 1 97 98 49233.0 49000.0 -233.0 -0.004733 \n",
"7 1 99 106 49081.0 49000.0 -81.0 -0.001650 \n",
"8 1 107 116 49358.0 49000.0 -358.0 -0.007253 \n",
"9 1 117 118 48898.0 48612.0 -286.0 -0.005849 \n",
"\n",
" EntryTime ExitTime Duration \n",
"0 2021-12-08 10:30:00 2021-12-08 11:00:00 0 days 00:30:00 \n",
"1 2021-12-08 10:30:00 2021-12-08 11:00:00 0 days 00:30:00 \n",
"2 2021-12-08 11:15:00 2021-12-08 11:30:00 0 days 00:15:00 \n",
"3 2021-12-08 11:45:00 2021-12-08 12:15:00 0 days 00:30:00 \n",
"4 2021-12-08 12:30:00 2021-12-08 14:00:00 0 days 01:30:00 \n",
"5 2021-12-08 14:15:00 2021-12-09 09:30:00 0 days 19:15:00 \n",
"6 2021-12-09 09:45:00 2021-12-09 10:00:00 0 days 00:15:00 \n",
"7 2021-12-09 10:15:00 2021-12-09 12:00:00 0 days 01:45:00 \n",
"8 2021-12-09 12:15:00 2021-12-09 14:30:00 0 days 02:15:00 \n",
"9 2021-12-09 14:45:00 2021-12-09 15:00:00 0 days 00:15:00 "
]
},
"execution_count": 171,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 取引履歴 Backtesting.pyのバグなのか、取引履歴がDuplicateしているものがある\n",
"stats[\"_trades\"].head(10)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "UWqYboMY1XxC",
"outputId": "cb722151-e091-4d7b-b2e8-2fdea9170097"
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Open</th>\n",
" <th>High</th>\n",
" <th>Low</th>\n",
" <th>Close</th>\n",
" <th>Volume</th>\n",
" <th>Size</th>\n",
" <th>EntryBar</th>\n",
" <th>ExitBar</th>\n",
" <th>EntryPrice</th>\n",
" <th>ExitPrice</th>\n",
" <th>PnL</th>\n",
" <th>ReturnPct</th>\n",
" <th>EntryTime</th>\n",
" <th>ExitTime</th>\n",
" <th>Duration</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>NaN</th>\n",
" <td>50386.0</td>\n",
" <td>50405.0</td>\n",
" <td>50265.0</td>\n",
" <td>50282.0</td>\n",
" <td>2.061417e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2021-12-08 09:30:00</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>NaN</th>\n",
" <td>50282.0</td>\n",
" <td>50319.0</td>\n",
" <td>50188.0</td>\n",
" <td>50188.0</td>\n",
" <td>2.003284e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2021-12-08 09:45:00</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>NaN</th>\n",
" <td>50188.0</td>\n",
" <td>50336.0</td>\n",
" <td>50183.0</td>\n",
" <td>50322.0</td>\n",
" <td>1.693831e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2021-12-08 10:00:00</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>NaN</th>\n",
" <td>50322.0</td>\n",
" <td>50379.0</td>\n",
" <td>50235.0</td>\n",
" <td>50245.0</td>\n",
" <td>1.461318e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2021-12-08 10:15:00</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.0</th>\n",
" <td>50245.0</td>\n",
" <td>50321.0</td>\n",
" <td>49522.0</td>\n",
" <td>49596.0</td>\n",
" <td>1.177658e+08</td>\n",
" <td>1.0</td>\n",
" <td>4.0</td>\n",
" <td>6.0</td>\n",
" <td>50000.0</td>\n",
" <td>49000.0</td>\n",
" <td>-1000.0</td>\n",
" <td>-0.020000</td>\n",
" <td>2021-12-08 10:30:00</td>\n",
" <td>2021-12-08 11:00:00</td>\n",
" <td>0 days 00:30:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>NaN</th>\n",
" <td>49596.0</td>\n",
" <td>49703.0</td>\n",
" <td>49254.0</td>\n",
" <td>49300.0</td>\n",
" <td>9.468879e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2021-12-08 10:45:00</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>NaN</th>\n",
" <td>49300.0</td>\n",
" <td>49411.0</td>\n",
" <td>48870.0</td>\n",
" <td>49186.0</td>\n",
" <td>2.199813e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2021-12-08 11:00:00</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.0</th>\n",
" <td>49186.0</td>\n",
" <td>49475.0</td>\n",
" <td>49108.0</td>\n",
" <td>49133.0</td>\n",
" <td>7.035389e+07</td>\n",
" <td>1.0</td>\n",
" <td>7.0</td>\n",
" <td>8.0</td>\n",
" <td>49186.0</td>\n",
" <td>49000.0</td>\n",
" <td>-186.0</td>\n",
" <td>-0.003782</td>\n",
" <td>2021-12-08 11:15:00</td>\n",
" <td>2021-12-08 11:30:00</td>\n",
" <td>0 days 00:15:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>NaN</th>\n",
" <td>49133.0</td>\n",
" <td>49326.0</td>\n",
" <td>48927.0</td>\n",
" <td>49099.0</td>\n",
" <td>5.401415e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2021-12-08 11:30:00</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3.0</th>\n",
" <td>49099.0</td>\n",
" <td>49327.0</td>\n",
" <td>49072.0</td>\n",
" <td>49241.0</td>\n",
" <td>6.884624e+07</td>\n",
" <td>1.0</td>\n",
" <td>9.0</td>\n",
" <td>11.0</td>\n",
" <td>49099.0</td>\n",
" <td>49000.0</td>\n",
" <td>-99.0</td>\n",
" <td>-0.002016</td>\n",
" <td>2021-12-08 11:45:00</td>\n",
" <td>2021-12-08 12:15:00</td>\n",
" <td>0 days 00:30:00</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Open High Low Close Volume Size EntryBar \\\n",
"NaN 50386.0 50405.0 50265.0 50282.0 2.061417e+07 NaN NaN \n",
"NaN 50282.0 50319.0 50188.0 50188.0 2.003284e+07 NaN NaN \n",
"NaN 50188.0 50336.0 50183.0 50322.0 1.693831e+07 NaN NaN \n",
"NaN 50322.0 50379.0 50235.0 50245.0 1.461318e+07 NaN NaN \n",
"0.0 50245.0 50321.0 49522.0 49596.0 1.177658e+08 1.0 4.0 \n",
"NaN 49596.0 49703.0 49254.0 49300.0 9.468879e+07 NaN NaN \n",
"NaN 49300.0 49411.0 48870.0 49186.0 2.199813e+08 NaN NaN \n",
"2.0 49186.0 49475.0 49108.0 49133.0 7.035389e+07 1.0 7.0 \n",
"NaN 49133.0 49326.0 48927.0 49099.0 5.401415e+07 NaN NaN \n",
"3.0 49099.0 49327.0 49072.0 49241.0 6.884624e+07 1.0 9.0 \n",
"\n",
" ExitBar EntryPrice ExitPrice PnL ReturnPct EntryTime \\\n",
"NaN NaN NaN NaN NaN NaN 2021-12-08 09:30:00 \n",
"NaN NaN NaN NaN NaN NaN 2021-12-08 09:45:00 \n",
"NaN NaN NaN NaN NaN NaN 2021-12-08 10:00:00 \n",
"NaN NaN NaN NaN NaN NaN 2021-12-08 10:15:00 \n",
"0.0 6.0 50000.0 49000.0 -1000.0 -0.020000 2021-12-08 10:30:00 \n",
"NaN NaN NaN NaN NaN NaN 2021-12-08 10:45:00 \n",
"NaN NaN NaN NaN NaN NaN 2021-12-08 11:00:00 \n",
"2.0 8.0 49186.0 49000.0 -186.0 -0.003782 2021-12-08 11:15:00 \n",
"NaN NaN NaN NaN NaN NaN 2021-12-08 11:30:00 \n",
"3.0 11.0 49099.0 49000.0 -99.0 -0.002016 2021-12-08 11:45:00 \n",
"\n",
" ExitTime Duration \n",
"NaN NaT NaT \n",
"NaN NaT NaT \n",
"NaN NaT NaT \n",
"NaN NaT NaT \n",
"0.0 2021-12-08 11:00:00 0 days 00:30:00 \n",
"NaN NaT NaT \n",
"NaN NaT NaT \n",
"2.0 2021-12-08 11:30:00 0 days 00:15:00 \n",
"NaN NaT NaT \n",
"3.0 2021-12-08 12:15:00 0 days 00:30:00 "
]
},
"execution_count": 172,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# duplicateを外して、もとのデータと取引履歴をマージ\n",
"df.merge(stats[\"_trades\"].drop_duplicates(), left_index=True, right_on=\"EntryTime\", how=\"left\").head(10)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "akypq6vW1XxC"
},
"source": [
"### データの仕様\n",
"- 15分足\n",
"\n",
"### 注文\n",
"- 50000 で指値注文\n",
"- 49000 でストップロス\n",
"- ポジションを持っている間は新しい注文を行わない\n",
"\n",
"### 執行状況\n",
"1. `2021/12/08 10:30` に Low が 50000 を切っているタイミングで、50000でEntry\n",
" - 同ポジションが、`2021-12-08 11:00` の Low が 49000 を割っているタイミングで、49000でExit\n",
" - つまり、backtesting.py では、`2021/12/08 10:15-10:30` の間に 50000 で取引できたという判断をしていることがわかる\n",
" - Exitも同様\n",
"1. 50000 で指値注文をしているので、50000 以下の場合は注文を通す\n",
" - `2021-12-08 11:15:00` に 取引を行っているのはその一例。Openのタイミングで50000切っていたので取引を行っている\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "RuVsU7Ss1XxC"
},
"source": [
"## Take Profit 注文"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "SGtqNXjH1XxD"
},
"outputs": [],
"source": [
"class MyStrategy(Strategy):\n",
" limit_price = 49700\n",
" tp = 49900\n",
" sl = None \n",
" stop = None \n",
"\n",
" def init(self):\n",
" pass \n",
"\n",
" def next(self):\n",
" # ポジションを持っていない場合\n",
" if not self.position:\n",
" self.buy(limit=self.limit_price, sl=self.sl, tp=self.tp, stop=self.stop, size=1)\n",
"\n",
"bt = Backtest(\n",
" df, # データ\n",
" MyStrategy, # ストラテジークラス\n",
" cash=100000, # 初期投資額\n",
" commission=0.000, # 取引手数料\n",
" trade_on_close = True, # False にするとシグナル発生後の次のバーのオープンで取引をする。default は False.\n",
"\n",
")\n",
"# バックテスト実行\n",
"stats = bt.run() \n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "wopVS1C71XxD",
"outputId": "557eff8c-a67b-44fe-e26f-b478478ad675"
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Size</th>\n",
" <th>EntryBar</th>\n",
" <th>ExitBar</th>\n",
" <th>EntryPrice</th>\n",
" <th>ExitPrice</th>\n",
" <th>PnL</th>\n",
" <th>ReturnPct</th>\n",
" <th>EntryTime</th>\n",
" <th>ExitTime</th>\n",
" <th>Duration</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>19</td>\n",
" <td>49700.0</td>\n",
" <td>49900.0</td>\n",
" <td>200.0</td>\n",
" <td>0.004024</td>\n",
" <td>2021-12-08 10:30:00</td>\n",
" <td>2021-12-08 14:15:00</td>\n",
" <td>0 days 03:45:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>67</td>\n",
" <td>68</td>\n",
" <td>49700.0</td>\n",
" <td>49911.0</td>\n",
" <td>211.0</td>\n",
" <td>0.004245</td>\n",
" <td>2021-12-09 02:15:00</td>\n",
" <td>2021-12-09 02:30:00</td>\n",
" <td>0 days 00:15:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1</td>\n",
" <td>72</td>\n",
" <td>78</td>\n",
" <td>49700.0</td>\n",
" <td>49900.0</td>\n",
" <td>200.0</td>\n",
" <td>0.004024</td>\n",
" <td>2021-12-09 03:30:00</td>\n",
" <td>2021-12-09 05:00:00</td>\n",
" <td>0 days 01:30:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>1</td>\n",
" <td>79</td>\n",
" <td>81</td>\n",
" <td>49700.0</td>\n",
" <td>49900.0</td>\n",
" <td>200.0</td>\n",
" <td>0.004024</td>\n",
" <td>2021-12-09 05:15:00</td>\n",
" <td>2021-12-09 05:45:00</td>\n",
" <td>0 days 00:30:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>1</td>\n",
" <td>83</td>\n",
" <td>88</td>\n",
" <td>49700.0</td>\n",
" <td>49900.0</td>\n",
" <td>200.0</td>\n",
" <td>0.004024</td>\n",
" <td>2021-12-09 06:15:00</td>\n",
" <td>2021-12-09 07:30:00</td>\n",
" <td>0 days 01:15:00</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Size EntryBar ExitBar EntryPrice ExitPrice PnL ReturnPct \\\n",
"0 1 4 19 49700.0 49900.0 200.0 0.004024 \n",
"2 1 67 68 49700.0 49911.0 211.0 0.004245 \n",
"4 1 72 78 49700.0 49900.0 200.0 0.004024 \n",
"6 1 79 81 49700.0 49900.0 200.0 0.004024 \n",
"7 1 83 88 49700.0 49900.0 200.0 0.004024 \n",
"\n",
" EntryTime ExitTime Duration \n",
"0 2021-12-08 10:30:00 2021-12-08 14:15:00 0 days 03:45:00 \n",
"2 2021-12-09 02:15:00 2021-12-09 02:30:00 0 days 00:15:00 \n",
"4 2021-12-09 03:30:00 2021-12-09 05:00:00 0 days 01:30:00 \n",
"6 2021-12-09 05:15:00 2021-12-09 05:45:00 0 days 00:30:00 \n",
"7 2021-12-09 06:15:00 2021-12-09 07:30:00 0 days 01:15:00 "
]
},
"execution_count": 174,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 取引履歴\n",
"stats[\"_trades\"].drop_duplicates().head()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "enPXsY0C1XxD",
"outputId": "2e524e74-3196-475e-cf0b-50f168ca617f"
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Open</th>\n",
" <th>High</th>\n",
" <th>Low</th>\n",
" <th>Close</th>\n",
" <th>Volume</th>\n",
" <th>Size</th>\n",
" <th>EntryBar</th>\n",
" <th>ExitBar</th>\n",
" <th>EntryPrice</th>\n",
" <th>ExitPrice</th>\n",
" <th>PnL</th>\n",
" <th>ReturnPct</th>\n",
" <th>EntryTime</th>\n",
" <th>ExitTime</th>\n",
" <th>Duration</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>NaN</th>\n",
" <td>50399.0</td>\n",
" <td>50470.0</td>\n",
" <td>50191.0</td>\n",
" <td>50230.0</td>\n",
" <td>2.014424e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2021-12-09 01:45:00</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>NaN</th>\n",
" <td>50230.0</td>\n",
" <td>50323.0</td>\n",
" <td>50158.0</td>\n",
" <td>50261.0</td>\n",
" <td>2.431205e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2021-12-09 02:00:00</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.0</th>\n",
" <td>50261.0</td>\n",
" <td>50292.0</td>\n",
" <td>49666.0</td>\n",
" <td>49911.0</td>\n",
" <td>8.968034e+07</td>\n",
" <td>1.0</td>\n",
" <td>67.0</td>\n",
" <td>68.0</td>\n",
" <td>49700.0</td>\n",
" <td>49911.0</td>\n",
" <td>211.0</td>\n",
" <td>0.004245</td>\n",
" <td>2021-12-09 02:15:00</td>\n",
" <td>2021-12-09 02:30:00</td>\n",
" <td>0 days 00:15:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>NaN</th>\n",
" <td>49911.0</td>\n",
" <td>50005.0</td>\n",
" <td>49809.0</td>\n",
" <td>49917.0</td>\n",
" <td>2.201357e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2021-12-09 02:30:00</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>NaN</th>\n",
" <td>49917.0</td>\n",
" <td>50030.0</td>\n",
" <td>49857.0</td>\n",
" <td>49941.0</td>\n",
" <td>1.848852e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2021-12-09 02:45:00</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>NaN</th>\n",
" <td>49941.0</td>\n",
" <td>49987.0</td>\n",
" <td>49777.0</td>\n",
" <td>49870.0</td>\n",
" <td>3.073607e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2021-12-09 03:00:00</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>NaN</th>\n",
" <td>49870.0</td>\n",
" <td>49913.0</td>\n",
" <td>49794.0</td>\n",
" <td>49899.0</td>\n",
" <td>1.205872e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2021-12-09 03:15:00</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4.0</th>\n",
" <td>49899.0</td>\n",
" <td>49945.0</td>\n",
" <td>49678.0</td>\n",
" <td>49772.0</td>\n",
" <td>2.119380e+07</td>\n",
" <td>1.0</td>\n",
" <td>72.0</td>\n",
" <td>78.0</td>\n",
" <td>49700.0</td>\n",
" <td>49900.0</td>\n",
" <td>200.0</td>\n",
" <td>0.004024</td>\n",
" <td>2021-12-09 03:30:00</td>\n",
" <td>2021-12-09 05:00:00</td>\n",
" <td>0 days 01:30:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>NaN</th>\n",
" <td>49772.0</td>\n",
" <td>49772.0</td>\n",
" <td>49474.0</td>\n",
" <td>49574.0</td>\n",
" <td>3.916845e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2021-12-09 03:45:00</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>NaN</th>\n",
" <td>49574.0</td>\n",
" <td>49786.0</td>\n",
" <td>49486.0</td>\n",
" <td>49674.0</td>\n",
" <td>4.703543e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2021-12-09 04:00:00</td>\n",
" <td>NaT</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Open High Low Close Volume Size EntryBar \\\n",
"NaN 50399.0 50470.0 50191.0 50230.0 2.014424e+07 NaN NaN \n",
"NaN 50230.0 50323.0 50158.0 50261.0 2.431205e+07 NaN NaN \n",
"2.0 50261.0 50292.0 49666.0 49911.0 8.968034e+07 1.0 67.0 \n",
"NaN 49911.0 50005.0 49809.0 49917.0 2.201357e+07 NaN NaN \n",
"NaN 49917.0 50030.0 49857.0 49941.0 1.848852e+07 NaN NaN \n",
"NaN 49941.0 49987.0 49777.0 49870.0 3.073607e+07 NaN NaN \n",
"NaN 49870.0 49913.0 49794.0 49899.0 1.205872e+07 NaN NaN \n",
"4.0 49899.0 49945.0 49678.0 49772.0 2.119380e+07 1.0 72.0 \n",
"NaN 49772.0 49772.0 49474.0 49574.0 3.916845e+07 NaN NaN \n",
"NaN 49574.0 49786.0 49486.0 49674.0 4.703543e+07 NaN NaN \n",
"\n",
" ExitBar EntryPrice ExitPrice PnL ReturnPct EntryTime \\\n",
"NaN NaN NaN NaN NaN NaN 2021-12-09 01:45:00 \n",
"NaN NaN NaN NaN NaN NaN 2021-12-09 02:00:00 \n",
"2.0 68.0 49700.0 49911.0 211.0 0.004245 2021-12-09 02:15:00 \n",
"NaN NaN NaN NaN NaN NaN 2021-12-09 02:30:00 \n",
"NaN NaN NaN NaN NaN NaN 2021-12-09 02:45:00 \n",
"NaN NaN NaN NaN NaN NaN 2021-12-09 03:00:00 \n",
"NaN NaN NaN NaN NaN NaN 2021-12-09 03:15:00 \n",
"4.0 78.0 49700.0 49900.0 200.0 0.004024 2021-12-09 03:30:00 \n",
"NaN NaN NaN NaN NaN NaN 2021-12-09 03:45:00 \n",
"NaN NaN NaN NaN NaN NaN 2021-12-09 04:00:00 \n",
"\n",
" ExitTime Duration \n",
"NaN NaT NaT \n",
"NaN NaT NaT \n",
"2.0 2021-12-09 02:30:00 0 days 00:15:00 \n",
"NaN NaT NaT \n",
"NaN NaT NaT \n",
"NaN NaT NaT \n",
"NaN NaT NaT \n",
"4.0 2021-12-09 05:00:00 0 days 01:30:00 \n",
"NaN NaT NaT \n",
"NaN NaT NaT "
]
},
"execution_count": 175,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# もとのデータと取引履歴をマージ\n",
"df.merge(stats[\"_trades\"].drop_duplicates(), left_index=True, right_on=\"EntryTime\", how=\"left\").iloc[65:].head(10)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "TZk8xhfw1XxE"
},
"source": [
"### データの仕様\n",
"- 15分足\n",
"\n",
"### 注文\n",
"- 49700 で指値注文\n",
"- 49900 でTake Profit注文\n",
"- ポジションを持っている間は新しい注文を行わない\n",
"\n",
"### 執行状況\n",
"1. `2021-12-09 02:15` にLowが 49700.0 を切っているタイミングで、49700.0でEntry\n",
" - 同ポジションが、`2021-12-09 02:30` の High が 50000 を超えたタイミングで、50000 でExit\n",
" - SL注文で確認したのと同様の動作を確認\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "XKvfezTe1XxE"
},
"source": [
"## Stop 注文\n",
"\n",
"- 逆指値、もしくは逆成り行き注文に対する、逆指値\n",
"- 挙動がよくわからない\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "SqaVg2hI1XxE"
},
"outputs": [],
"source": [
"class MyStrategy(Strategy):\n",
" limit_price = 48000\n",
" tp = None\n",
" sl = None \n",
" stop = 49500 \n",
"\n",
" def init(self):\n",
" pass \n",
"\n",
" def next(self):\n",
" # ポジションを持っていない場合\n",
" if not self.position:\n",
" self.buy(limit=self.limit_price, sl=self.sl, tp=self.tp, stop=self.stop, size=1)\n",
"\n",
"bt = Backtest(\n",
" df, # データ\n",
" MyStrategy, # ストラテジークラス\n",
" cash=100000, # 初期投資額\n",
" commission=0.000, # 取引手数料\n",
" trade_on_close = True, # False にするとシグナル発生後の次のバーのオープンで取引をする。default は False.\n",
"\n",
")\n",
"# バックテスト実行\n",
"stats = bt.run() "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "LfOyCg6y1XxF",
"outputId": "8341463f-a2ad-427b-9150-f2b1eb4089ff"
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Size</th>\n",
" <th>EntryBar</th>\n",
" <th>ExitBar</th>\n",
" <th>EntryPrice</th>\n",
" <th>ExitPrice</th>\n",
" <th>PnL</th>\n",
" <th>ReturnPct</th>\n",
" <th>EntryTime</th>\n",
" <th>ExitTime</th>\n",
" <th>Duration</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>131</td>\n",
" <td>1499</td>\n",
" <td>48000.0</td>\n",
" <td>50830.0</td>\n",
" <td>2830.0</td>\n",
" <td>0.058958</td>\n",
" <td>2021-12-09 18:15:00</td>\n",
" <td>2021-12-24 00:15:00</td>\n",
" <td>14 days 06:00:00</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Size EntryBar ExitBar EntryPrice ExitPrice PnL ReturnPct \\\n",
"0 1 131 1499 48000.0 50830.0 2830.0 0.058958 \n",
"\n",
" EntryTime ExitTime Duration \n",
"0 2021-12-09 18:15:00 2021-12-24 00:15:00 14 days 06:00:00 "
]
},
"execution_count": 177,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 取引履歴\n",
"stats[\"_trades\"].drop_duplicates()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "sd_pWPlY1XxF"
},
"outputs": [],
"source": [
""
]
}
],
"metadata": {
"interpreter": {
"hash": "ab1569f095359da01416b0bde8ec21b3b9ebc03f62351542fd6a801996ba84e6"
},
"kernelspec": {
"display_name": "Python 3.9.7 64-bit ('.venv': venv)",
"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.9.5"
},
"orig_nbformat": 4,
"colab": {
"name": "limit_order.ipynb",
"provenance": [],
"include_colab_link": true
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment