Releases: alpacahq/pylivetrader
Small fixes with new API usage
In this release we fix minor bugs on top of 0.3.0
- query limit for get_bars() is 1000, make sure we don't pass that
- allow passing the pipeline live index to data.history()
- legacy zipline function call removed(simulation_dt_func())
- shell stopped working - fixed
- smoke test should not use the same state file as the real algo
Support for the new Alpaca data API
In this release, we support the Alpaca data API: https://alpaca.markets/docs/api-documentation/api-v2/
- updated the minimum Alpaca SDK to 0.48
- added usePolygon flag to indicate weather the user wants alpaca data or polygon data. default is alpaca
- improvments to the cli:
- can select log timezone
- description for shell and run
Using pipeline-live with pylivetrader
In this release, we strengthen the integration between the two packages: pylivetrater and pipeline-live to work together to have daily screening capabilities.
- you can now use
attach_pipeline
andpipeline_output
to use pipeline live inside pylivetrader - created new example code to get the user started:
- simple MACD example (updated)
- simple pipeline-live usage example
- added smoke scripts to example algos. check the READMEs
- added argument for pipeline output hook to Algorithm()
- udpated the minimum Alpaca SDK to 0.46
Fixes
- don't pickle your pipeline when storing the state file
- fix the smoke tool to work with mocked pipeline output
- small fixes to smoke backend to be able to work with pipeline-live mock
- we change the yaml config loading to use the safe loading (security fix)
Small maintenance fixes
In this release, we fix some of the issues that occured since the previous release.
- update the example code int he
- don't yield the BAR event at session close (when trading day is over)
- make sure SESSION_END is yielded once per trading day
- fix the shell (set datetime in the data object)
- call initialize(context) in the shell for the user (user don't need to do that anymore)
- add shell commands description to the readme
- update the bottleneck package
- remove the __setattr__ protection from the Algorithm() class. not needed and breaks the smoke tests.
Bump alpaca trade API
In this release, we upgrade the Alpaca SDK to 0.38
Upgrade Alpaca SDK Version
This release upgrades the version of the Alpaca SDK, a major dependency for pylivetrader's Alpaca backend. Due to the update to the websockets library, this means that support for Python 3.5 is ended. As of this version, the only supported version is Python 3.6. The lack of explicit support for Python 3.7 at the moment is due to a compatibility issue with some of the Zipline dependencies when building. We'll continue exploring options to restore Python 3.7 support, but for now, Python 3.6 is the recommended version for Pylivetrader.
Additionally, a fix was made to the handling of timestamps such that they should now once again work with Pipeline live's USEquityPricing. A fix was also made to smoke test to support algorithms using the all_orders method.
Change Alpaca API version default to v2
v0.0.31 Update Alpaca API version default to v2
Fix handling of empty data
A user found that calling data.current(symbol('UJB'))
was consistently resulting in errors because of a lack of data on the symbol from Polygon. Now, an empty dataframe will be returned rather than an error. Also, iexfinance released an update which breaks pipeline-live's previous version, so I'm updating the dockerhub dependency to point to its current version.
Migrate bar history retrieval to Polygon's v2 aggregate endpoint
For a while, users have experienced some issues with the performance associated with Polygon's v1 API endpoints. Starting with this release, pylivetrader will now use the v2 API endpoint, which will reportedly perform more consistently on Polygon's side.
This change should be transparent to users, although given that the Polygon API's endpoint parameters changed significantly between v1 and v2, pylivetrader now needs to do a little work to make them match the new format. If you experience any issues running existing algorithms with the new code, please report them in our issues tracker here or in the Alpaca community Slack's #pylivetrader channel.
Add parallel processing of current data requests
After the request of a member of our community Slack, we added the parallelization method that is used for handling historical data requests to requests for current data for multiple symbols or fields. There are also minor bugfixes addressing issues that could arise when running multiple scripts at the same time.