Hi,
When I want to plot my strategy with BackTrader in CodeBook I have the following error :
I just did :
Do you know how can I solve it ?
@sdevaux
I got the same error by using the following code.
import pandas as pdimport backtrader as btimport datetimeimport refinitiv.dataplatform.eikon as ekek.set_app_key('DEFAULT_CODE_BOOK_APP_KEY') df_price = ek.get_timeseries('IBM.N')cerebro = bt.Cerebro()feed = bt.feeds.PandasData(dataname=df_price)cerebro.adddata(feed)cerebro.addanalyzer(bt.analyzers.AnnualReturn, _name='areturn')cerebro.run()cerebro.plot()
The error is:
/opt/conda/lib/python3.8/site-packages/backtrader/plot/locator.py in <module> 33 from matplotlib.dates import AutoDateFormatter as ADFormatter 34 ---> 35 from matplotlib.dates import (HOURS_PER_DAY, MIN_PER_HOUR, SEC_PER_MIN, 36 MONTHS_PER_YEAR, DAYS_PER_WEEK, 37 SEC_PER_HOUR, SEC_PER_DAY,ImportError: cannot import name 'warnings' from 'matplotlib.dates' (/opt/conda/lib/python3.8/site-packages/matplotlib/dates.py)
The same code runs fine on my Jupyter Notebook environment.
I searched this error on Google and found that it could be the matplotlib or backtrader installation problem.
Please try to contact Eikon or Refinitiv Workspace support team via MyRefinitiv to verify this issue in Codebook.
hi @sdevaux ,
Could you post the full code for an investigation, please?
Hi @raksina.samasiri ,
Thanks for your reply, here is my code :
import pandas as pdimport backtrader as btimport datetimecerebro = bt.Cerebro()feed = bt.feeds.PandasData(dataname=df_price)cerebro.adddata(feed)cerebro.addanalyzer(bt.analyzers.AnnualReturn, _name='areturn')cerebro.run()cerebro.plot()
df_price is just a DataFrame with the price of one stock.
It works outside of CodeBook because I change the import in BackTrader of 'warnings'. (cf https://community.backtrader.com/topic/2784/cannot-import-name-warnings-from-matplotlib-dates/5)
Unfortuattly I can't do it in Codebook.
Thanks,
Samuel
I appreciate the convenience of sending sympathy cards instantly, and the ability to choose from a wide variety of designs.