alpacahq / alpacahq/pylivetrader
When outside market minutes, BarData's current(...) fails.
- Dominant language
- Python
- Stars
- 685
- Forks
- 198
- PR merge metrics
- No merged PRs in 30d
Description
Reproduceable by calling `order_target_percent(...)` in an algorithm's `before_trading_start()` function. Not really an expected use case, but current() could be hit from other functions as well.
Stack trace:
```
Traceback (most recent call last):
File "/Users/tthackston/dev/alpaca/quantopian-fundamentals-examples/venv/bin/pylivetrader", line 11, in
load_entry_point('pylivetrader', 'console_scripts', 'pylivetrader')()
File "/Users/tthackston/dev/alpaca/quantopian-fundamentals-examples/venv/lib/python3.7/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/Users/tthackston/dev/alpaca/quantopian-fundamentals-examples/venv/lib/python3.7/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/Users/tthackston/dev/alpaca/quantopian-fundamentals-examples/venv/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/Users/tthackston/dev/alpaca/quantopian-fundamentals-examples/venv/lib/python3.7/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/tthackston/dev/alpaca/quantopian-fundamentals-examples/venv/lib/python3.7/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/Users/tthackston/dev/alpaca/quantopian-fundamentals-examples/venv/lib/python3.7/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/Users/tthackston/dev/alpaca/pylivetrader/pylivetrader/__main__.py", line 134, in run
algorithm.run(retry=ctx.retry)
File "/Users/tthackston/dev/alpaca/pylivetrader/pylivetrader/algorithm.py", line 240, in run
return self.executor.run(retry=retry)
File "/Users/tthackston/dev/alpaca/pylivetrader/pylivetrader/executor/executor.py", line 120, in run
algo.before_trading_start(self.current_data)
File "/Users/tthackston/dev/alpaca/pylivetrader/pylivetrader/algorithm.py", line 213, in before_trading_start
self._before_trading_start(self, data)
File "iex_quote_test.py", line 79, in before_trading_start
rebalance(context)
File "iex_quote_test.py", line 103, in rebalance
order_target_percent(symbol(stock), weight)
File "/Users/tthackston/dev/alpaca/pylivetrader/pylivetrader/misc/api_context.py", line 62, in wrapped
return getattr(algorithm, f.__name__)(*args, **kwargs)
File "/Users/tthackston/dev/alpaca/pylivetrader/pylivetrader/algorithm.py", line 587, in order_target_percent
amount = self._calculate_order_target_percent_amount(asset, target)
File "/Users/tthackston/dev/alpaca/pylivetrader/pylivetrader/algorithm.py", line 804, in _calculate_order_target_percent_amount
target_amount = self._calculate_order_percent_amount(asset, target)
File "/Users/tthackston/dev/alpaca/pylivetrader/pylivetrader/algorithm.py", line 794, in _calculate_order_percent_amount
return self._calculate_order_value_amount(asset, value)
File "/Users/tthackston/dev/alpaca/pylivetrader/pylivetrader/algorithm.py", line 772, in _calculate_order_value_amount
self.executor.current_data.current(asset, "price")
File "/Users/tthackston/dev/alpaca/pylivetrader/pylivetrader/data/bardata.py", line 77, in current
self.simulation_dt_func(),
AttributeError: 'BarData' object has no attribute 'simulation_dt_func'
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.