shlomiku / zipline-trader

Zipline Trader, a Pythonic Algorithmic Trading Library with broker integration
https://github.com/shlomikushchi/zipline-trader
Apache License 2.0
315 stars 71 forks source link

"...finance_ext.minute_annual_volatility" IndexError #195

Open noneper opened 3 years ago

noneper commented 3 years ago

I run the cli of zipline-trader going to live-trading and got the errors just below:

(ziptrader36) C:\Users\Administrator>zipline run -f Trading_Policy_of_NonePer_venv_zipline_trader.py --state-file ./.zipline\trading-now.state --realtime-bar-target ./.zipline\realtime-bars --broker ib --broker-uri localhost:4002:1636 --bundle custom-csvdir-bundle --data-frequency minute --start 2020-9-1 --no-benchmark --trading-calendar CME --capital-base 69500 --bundle-timestamp 2020-9-1 [2021-04-17 09:27:58.192366] INFO: IB Broker: Connecting: localhost:4002:1636 Server Version: 76 TWS Time at connection:20210417 09:27:57 GMT [2021-04-17 09:27:58.286117] INFO: IB Broker: [2158] Sec-def data farm connection is OK:secdefil (-1) [2021-04-17 09:27:58.286117] DEBUG: IB Broker: Execution details completed for request 0 [2021-04-17 09:27:58.489238] INFO: IB Broker: Managed accounts: ['DUX4XXX8X'] [2021-04-17 09:27:58.489238] INFO: IB Broker: Local-Broker Time Skew: 0 days 00:00:00.489238 [2021-04-17 09:27:59.614185] INFO: Blotter Live: Initialized blotter_live [2021-04-17 09:27:59.739182] INFO: Live Trading: initialization done Traceback (most recent call last): File "C:\ProgramData\Miniconda3\envs\ziptrader36\Scripts\zipline-script.py", line 33, in sys.exit(load_entry_point('zipline-trader', 'console_scripts', 'zipline')()) File "C:\ProgramData\Miniconda3\envs\ziptrader36\lib\site-packages\click\core.py", line 829, in call return self.main(args, kwargs) File "C:\ProgramData\Miniconda3\envs\ziptrader36\lib\site-packages\click\core.py", line 782, in main rv = self.invoke(ctx) File "C:\ProgramData\Miniconda3\envs\ziptrader36\lib\site-packages\click\core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "C:\ProgramData\Miniconda3\envs\ziptrader36\lib\site-packages\click\core.py", line 1066, in invoke return ctx.invoke(self.callback, ctx.params) File "C:\ProgramData\Miniconda3\envs\ziptrader36\lib\site-packages\click\core.py", line 610, in invoke return callback(args, kwargs) File "c:\users\administrator\zipline-trader\zipline__main_.py", line 111, in return f(*args, *kwargs) File "C:\ProgramData\Miniconda3\envs\ziptrader36\lib\site-packages\click\decorators.py", line 21, in new_func return f(get_current_context(), args, kwargs) File "c:\users\administrator\zipline-trader\zipline__main__.py", line 400, in run execution_id=None File "c:\users\administrator\zipline-trader\zipline\utils\run_algo.py", line 271, in _run 'script': algotext, File "c:\users\administrator\zipline-trader\zipline\algorithm_live.py", line 262, in run daily_stats = super(self.class, self).run(*args, *kwargs) File "c:\users\administrator\zipline-trader\zipline\algorithm.py", line 669, in run for perf in self.get_generator(): File "c:\users\administrator\zipline-trader\zipline\algorithm.py", line 645, in get_generator return self._create_generator(self.sim_params) File "c:\users\administrator\zipline-trader\zipline\algorithm_live.py", line 153, in _create_generator TradingAlgorithm._create_generator(self, self.sim_params) File "c:\users\administrator\zipline-trader\zipline\algorithm.py", line 618, in _create_generator metrics_tracker.handle_start_of_simulation(benchmark_source) File "c:\users\administrator\zipline-trader\zipline\finance\metrics\tracker.py", line 144, in handle_start_of_simulation benchmark_source, File "c:\users\administrator\zipline-trader\zipline\finance\metrics\tracker.py", line 127, in hook_implementation impl(args, **kwargs) File "c:\users\administrator\zipline-trader\zipline\finance\metrics\metric.py", line 222, in start_of_simulation daily_returns_array, File "zipline\finance_finance_ext.pyx", line 247, in zipline.finance._finance_ext.minute_annual_volatility File "zipline\finance_finance_ext.pyx", line 277, in zipline.finance._finance_ext.minute_annual_volatility IndexError: Out of bounds on buffer access (axis 0)

I guess this error refer to pandas version after I found a lots of test .py files inside the zipline-traders\test. (Thanks for your marvellous work!)

On my another pure zipline env, same zipline 1.4.1 installed with its standard requirements of pandas 0.22.0. And my algorithm just above totally success for above custom bundle on back testing of 11 years minute data.

I had met several times of strange error cause by pandas version changed on my env. It was worked again just by changed back to pandas 0.22.0. That normally happened when I installed some other modules occasionally.

I noticed the release note of zipline-trader 1.5.0 said it was already for pandas 1.1.15. And I don't find any test.py of _finance_ext.minute_annual_volatility. Please help ...

Thanks for your help!