我想自动执行手动交易策略。然而,一开始,我试图重现Zipline购买苹果股票的简单例子。我努力运行与run_algorithm()
算法。当我尝试运行“双移动平均线”时,出现了完全相同的错误。我也试过IPython和Terminal,但仍然得到这个错误。在这个论坛中我找不到任何与此相关的内容。我非常感谢任何提示。谢谢。Zipline错误:AttributeError:'NoneType'对象没有属性'index'
我在macOS和Zipline版本1.1.1上使用Python 3.6。
这是代码:
import zipline as zl from zipline.api import order, record, symbol
def initialize(context):
pass
def handle_data(context, data):
order(symbol('AAPL'), 10)
record(AAPL=data.current(symbol('AAPL'), 'price'))
zl.run_algorithm(start='2015-1-1', end='2017-1-1', initialize=initialize, capital_base=10000)
这是回溯:
Traceback (most recent call last): File "/Users/SOL/Desktop/Python/backtest.py", line 13, in zl.run_algorithm(start=2015-1-1, end=2017-1-1, initialize=initialize, capital_base=10000) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zipline/utils/run_algo.py", line 360, in run_algorithm environ=environ, File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zipline/utils/run_algo.py", line 132, in _run env = TradingEnvironment(asset_db_path=connstr, environ=environ) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zipline/finance/trading.py", line 99, in init self.bm_symbol, File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zipline/data/loader.py", line 173, in load_market_data environ, File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zipline/data/loader.py", line 287, in ensure_treasury_data if not has_data_for_dates(data, first_date, last_date): File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zipline/data/loader.py", line 87, in has_data_for_dates dts = series_or_df.index AttributeError: 'NoneType' object has no attribute 'index'
感谢您的帮助。我尝试过,但仍然得到相同的错误信息... – Ole