Academyに戻る
BOT入門STEP 6 / 10

BOT入門 Step 3: バックテストの作成

データ整形から売買ロジック、可視化までをつなぎ、戦略の手応えを定量で確認します。

対象読者

思いついた戦略を数字で検証したい人

読むとできること

最低限のバックテストを組み、改善ポイントを見つけられる

前提知識

Notebook の操作に慣れていること

所要時間

12分

シリーズ進捗

BOT入門シリーズ

環境構築からバックテスト通りの実装まで、既存4ステップをそのまま使って進めます。

概念

バックテストは、過去データに戦略ルールを当てて、どの程度機能したかを確認する工程です。重要なのは「儲かるか」だけでなく、どこで崩れるかを見つけることです。

最初は複雑にしすぎず、データの準備、シグナル生成、損益計算、可視化の4段階に分けると把握しやすくなります。

実例

# データ準備
import pandas as pd
df = pd.read_csv('trades.csv')
df['timestamp'] = pd.to_datetime(df['timestamp'])
df = df.set_index('timestamp')
# シグナル生成
df['sma_short'] = df['price'].rolling(window=10).mean()
df['sma_long'] = df['price'].rolling(window=30).mean()
df['signal'] = 0
df.loc[df['sma_short'] > df['sma_long'], 'signal'] = 1
df.loc[df['sma_short'] < df['sma_long'], 'signal'] = -1

見るべき点

  • 手数料とスリッページを抜かない
  • 欠損値や期間偏りを見逃さない
  • 損益だけでなくドローダウンも確認する

次の行動

JupyterLite 上でバックテストの流れを試す場合は、サンプルノートブックを利用できます。

  • シグナルと損益カーブを一度最後まで出す
  • 過学習や見落としを減らすため、結果をメモ付きで残す
  • 次ページで、そのロジックを実運用コードへ移す考え方を確認する

次の行動

この内容を次に進める

Step 4へ進む