Zipline 交易日历的结果不稳定/奇怪。在一台装有 Python 3.4.2x64 和 Zipline 0.7.42 的机器上,我可以运行以下代码:
trading.environment = TradingEnvironment(bm_symbol='^FTSE', exchange_tz='Europe/London')
Holidays = list(set(tradingcalendar_lse.non_trading_days)-set(data.index))
trading.environment.trading_days = pd.date_range(start=trading.environment.trading_days[0],
end=trading.environment.trading_days[-1],
freq=pd.tseries.offsets.CDay(holidays=Holidays))
freq = trading.environment.trading_days.freq
trading.environment.trading_days = trading.environment.trading_days + data.index
trading.environment.trading_days.freq = freq
trading.environment.open_and_closes = pd.DataFrame(index=trading.environment.trading_days +
data.index,columns=["market_open","market_close"])
trading.environment.open_and_closes.market_open = (trading.environment.open_and_closes.index +
pd.to_timedelta(60*7,unit="T")).to_pydatetime()
trading.environment.open_and_closes.market_close = (trading.environment.open_and_closes.index +
pd.to_timedelta(60*15+30,unit="T")).to_pydatetime()
这可能有点多余,但使我能够拥有所有数据日期的历史记录(在一台机器上)。
我正在尝试在另一台应该具有相同配置的计算机上运行相同的代码并得到错误:
AttributeError: can't set attribute
1)有人知道我的配置有什么不同会导致这个错误吗?
2) 有没有人有更强大的解决方案来调整日历,以便我所有的日期最后都在历史记录中?
非常感谢