I wanted to learn how to ingest data from csv.
import yfinance as yf
data = yf.download("SPY", start="1996-01-01", end="2020-10-20")
df=data.reset_index()
df.pop('Adj Close')
df['Dividend']=0
df['Split']=1
df.columns = map(str.lower, df.columns)
df.to_csv(r'C:\Users\raiva\OneDrive\Documentos\data\sp500.csv',index=False)
Then I saw that I had to modify extension.py so I added at end on the script the following code:
import pandas as pd
from zipline.data.bundles import register
from zipline.data.bundles.csvdir import csvdir_equities
start_session = pd.Timestamp('1996-1-2', tz='utc')
end_session = pd.Timestamp('2020-10-19', tz='utc')
register('sp_500',csvdir_equities(['daily'],'Users/raiva/OneDrive/Documentos/data',
),
calendar_name='NYSE', # US equities
start_session=start_session,
end_session=end_session
)
Finally I ingested the bundle by doing:
zipline ingest -b sp_500
When doing so, this error appears
File "C:\Users\raiva\anaconda_3\envs\Zipline\Scripts\zipline-script.py", line 11, in <module>
load_entry_point('zipline==1.3.0', 'console_scripts', 'zipline')()
File "C:\Users\raiva\anaconda_3\envs\Zipline\lib\site-packages\pkg_resources\__init__.py", line 484, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "C:\Users\raiva\anaconda_3\envs\Zipline\lib\site-packages\pkg_resources\__init__.py", line 2707, in load_entry_point
return ep.load()
File "C:\Users\raiva\anaconda_3\envs\Zipline\lib\site-packages\pkg_resources\__init__.py", line 2325, in load
return self.resolve()
File "C:\Users\raiva\anaconda_3\envs\Zipline\lib\site-packages\pkg_resources\__init__.py", line 2331, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "C:\Users\raiva\anaconda_3\envs\Zipline\lib\site-packages\zipline\__init__.py", line 29, in <module>
from .utils.run_algo import run_algorithm
File "C:\Users\raiva\anaconda_3\envs\Zipline\lib\site-packages\zipline\utils\run_algo.py", line 27, in <module>
from zipline.algorithm import TradingAlgorithm
File "C:\Users\raiva\anaconda_3\envs\Zipline\lib\site-packages\zipline\algorithm.py", line 68, in <module>
from zipline.finance.blotter import SimulationBlotter
File "C:\Users\raiva\anaconda_3\envs\Zipline\lib\site-packages\zipline\finance\blotter\__init__.py", line 16, in <module>
from .simulation_blotter import SimulationBlotter
File "C:\Users\raiva\anaconda_3\envs\Zipline\lib\site-packages\zipline\finance\blotter\simulation_blotter.py", line 43, in <module>
class SimulationBlotter(Blotter):
TypeError: 'str' object is not callable
I have seen a similar post but I don't know what is wrong with what I have done. However, now this error pops every time I am running anything in my zipline environment so it seems like I messed up something? It is quite frustrating. Just wanted to know how to ingest data and now I can't do anything. By the way, while trying to delate the .csv that I tried to ingest it says that python is using it and can't be deleted (even when closing everything it keeps saying it).
Thanks.