Pythonで学ぶ金融トレーディング
Chelsea Yang
Data Science Instructor
売買戦略を定義しバックテストするための柔軟なフレームワーク
import bt
# 過去価格をダウンロード bt_data = bt.get('goog, amzn, tsla', start='2020-6-1', end='2020-12-1')print(bt_data.head())
goog amzn tsla
Date
2020-06-01 1431.819946 2471.040039 179.619995
2020-06-02 1439.219971 2472.409912 176.311996
2020-06-03 1436.380005 2478.399902 176.591995
2020-06-04 1412.180054 2460.600098 172.876007
2020-06-05 1438.390015 2483.000000 177.132004
# 戦略を定義 bt_strategy = bt.Strategy('Trade_Weekly',[bt.algos.RunWeekly(), # 週次で実行bt.algos.SelectAll(), # 全データを使用bt.algos.WeighEqually(), # 等ウェイトを維持bt.algos.Rebalance()]) # リバランス
# バックテストを作成 bt_test = bt.Backtest(bt_strategy, bt_data)# バックテストを実行 bt_res = bt.run(bt_test)
# 結果をプロット
bt_res.plot(title="Backtest result")

# 取引の詳細を取得
bt_res.get_transactions()

Pythonで学ぶ金融トレーディング