0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BacktraderのTradeAnalyzerで取り出せる指標

Last updated at Posted at 2024-05-03

Backtraderというライブラリを使って株取引のバックテストをやってみたが、結果を取り出すのに難儀したので自分の備忘録を兼ねて公開。

import backtrader as bt
import backtrader.analyzers as btanalyzers

中略

data = bt.feeds.PandasData(dataname=df)
cerebro = bt.Cerebro()
cerebro.addstrategy(MyStrategy)
cerebro.adddata(data)
cerebro.addanalyzer(btanalyzers.TradeAnalyzer, _name='myTradeAnalyzer')

result = cerebro.run()

res = result[0].analyzers.myTradeAnalyzer.get_analysis()

この後、res.total.totalなどとすると下記のデータが取り出せる。

カテゴリ 項目 説明
合計 (Total) total.total 総取引数(開いている取引と閉じた取引の合計)
total.open 開いている取引の数
total.closed 閉じた取引の数
連勝・連敗 (Streak) streak.won.current 現在の連勝数
streak.won.longest 最長連勝数
streak.lost.current 現在の連敗数
streak.lost.longest 最長連敗数
損益 (PnL) pnl.gross.total 総損益(手数料を含まない)
pnl.gross.average 平均損益(手数料を含まない)
pnl.net.total 総損益(手数料を含む)
pnl.net.average 平均損益(手数料を含む)
勝ち取引 (Won) won.total 勝ち取引の総数
won.pnl.total 勝ち取引からの総損益
won.pnl.average 勝ち取引の平均損益
won.pnl.max 勝ち取引からの最大損益
負け取引 (Lost) lost.total 負け取引の総数
lost.pnl.total 負け取引からの総損益
lost.pnl.average 負け取引の平均損益
lost.pnl.max 負け取引からの最大損益
ロング取引 (Long) long.total ロング取引の総数
long.pnl.total ロング取引からの総損益
long.pnl.average ロング取引の平均損益
long.won.total 勝ちロング取引の総損益
long.won.average 勝ちロング取引の平均損益
long.won.max 勝ちロング取引からの最大損益
long.lost.total 負けロング取引からの総損益
long.lost.average 負けロング取引の平均損益
long.lost.max 負けロング取引からの最大損益
long.won 勝ちロング取引の数
long.lost 負けロング取引の数
ショート取引 (Short) short.total ショート取引の総数
short.pnl.total ショート取引からの総損益
short.pnl.average ショート取引の平均損益
short.won.total 勝ちショート取引の総損益
short.won.average 勝ちショート取引の平均損益
short.won.max 勝ちショート取引からの最大損益
short.lost.total 負けショート取引からの総損益
short.lost.average 負けショート取引の平均損益
short.lost.max 負けショート取引からの最大損益
short.won 勝ちショート取引の数
short.lost 負けショート取引の数
取引期間 (Len) len.total 総取引期間
len.average 平均取引期間
len.max 最長取引期間
len.min 最短取引期間
len.won.total 勝ち取引の総取引期間
len.won.average 勝ち取引の平均取引期間
len.won.max 勝ち取引の最長取引期間
len.won.min 勝ち取引の最短取引期間
len.lost.total 負け取引の総取引期間
len.lost.average 負け取引の平均取引期間
len.lost.max 負け取引の最長取引期間
len.lost.min 負け取引の最短取引期間
len.long.total ロング取引の総取引期間
len.long.average ロング取引の平均取引期間
len.long.max ロング取引の最長取引期間
len.long.min ロング取引の最短取引期間
len.long.won.total 勝ちロング取引の総取引期間
len.long.won.average 勝ちロング取引の平均取引期間
len.long.won.max 勝ちロング取引の最長取引期間
len.long.won.min 勝ちロング取引の最短取引期間
len.long.lost.total 負けロング取引の総取引期間
len.long.lost.average 負けロング取引の平均取引期間
len.long.lost.max 負けロング取引の最長取引期間
len.long.lost.min 負けロング取引の最短取引期間
len.short.total ショート取引の総取引期間
len.short.average ショート取引の平均取引期間
len.short.max ショート取引の最長取引期間
len.short.min ショート取引の最短取引期間
len.short.won.total 勝ちショート取引の総取引期間
len.short.won.average 勝ちショート取引の平均取引期間
len.short.won.max 勝ちショート取引の最長取引期間
len.short.won.min 勝ちショート取引の最短取引期間
len.short.lost.total 負けショート取引の総取引期間
len.short.lost.average 負けショート取引の平均取引期間
len.short.lost.max 負けショート取引の最長取引期間
len.short.lost.min 負けショート取引の最短取引期間
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?