Я столкнулся с той же проблемой, я думаю, что это связано с взаимодействием backtrader с matplotlib. Я смог исправить это, включив строку
%matplotlib inline
на самом верху моей записной книжки (очень важно быть на самом верху, , как отмечено здесь ). Я НЕ должен включить такие выражения, как import matplotlib
.
Это генерирует системное предупреждающее сообщение каждый раз, когда генерируется график, их можно подавить с помощью
import warnings
warnings.filterwarnings('ignore')
как отмечено в этом вопросе .
Минимальное количество ошибок при воспроизведении опа:
В [1]:
import backtrader as bt
import datetime
if __name__ == '__main__':
cerebro = bt.Cerebro()
data = bt.feeds.YahooFinanceData(
dataname='AAPL',
fromdate=datetime.datetime(2000, 1, 1),
todate=datetime.datetime(2000, 12, 31),
reverse=False)
cerebro.adddata(data)
cerebro.run()
cerebro.plot(style='bar')
В [2]:
cerebro.plot(style='bar')
Исправлена версия минимального неудачного воспроизведения:
В [1]:
%matplotlib inline
import warnings
warnings.filterwarnings('ignore')
import backtrader as bt
import datetime
if __name__ == '__main__':
cerebro = bt.Cerebro()
data = bt.feeds.YahooFinanceData(
dataname='AAPL',
fromdate=datetime.datetime(2000, 1, 1),
todate=datetime.datetime(2000, 12, 31),
reverse=False)
cerebro.adddata(data)
cerebro.run()
cerebro.plot(style='bar')
В [2]:
cerebro.plot(style='bar')