Most appreciated features
Following the brief discussion here: Killer features mention, it would be appreciated to understand what those killer (or most appreciated) features are
for me, the
#1 killer feature that would move bt from test/dev/play-around to production/live is supporting a high quality data feed provider, like iqfeed in US. As IB datafeed is not very accurate or reliable.
#2 is supporting some kind of persistent storage (postgres, influxdb, mysql etc) for both ohlc data and trade/backtest data.
Also it would be remiss if dont mention the #1 killer feature bt has right now which is ease of use, I was able to get an algo up and running with csv in less than 10mins of discovering the package and so far all the issues I have run into are either timezone specifc or something silly with IB :(
@jaikumarm I agree about the need for IQfeed live feed support. Having done a bit of work with IQfeed lately, I may give this a try. It should not be as hard as the IB connector, given there is really only market data available. There is also a pretty robust python iqfeed module available that would make this a bit easier. https://github.com/akapur/pyiqfeed
FWIW, I've been using the InfluxDB feed code for a few weeks now and it works very well. Nice to simply change the timeframe or symbol and rerun. I also made a PR yesterday for an import script to enable pulling of CSV data into InfluxDB. I have some scripts to manage pulling IQfeed historical data into InfluxDB as well that I would be willing to share.
"+ 1" for DB as storage, but it's OK if it will be rejected. BT is framework, not solution, so I already solve it using Pony ORM + SQLite :P
It would be appreciated to understand what those killer (or most appreciated) features are
For me as a user of Zipline the most appreciated backtester futures are:
- Extendable broker API.
Zipline "theoretically" has broker API, but it requires quite a bit of programming work to make it working in practice. Most of zipline users use it as a backtester.
Backtrader has a generic broker API and 3 working implementations. This is a huge advantage from my point of view.
- Active project developer and community.
I like how fast I'm getting help on this forum and I really appreciate great work that is done by the main project developer and community.
- Easy setup.
I was able to get backtester up&running in about 30 minutes. Very impressive indeed!
@RandyT yeah looks like we are on a similar path. I have been looking into akapur's pyiqfeed repo as well. I have a script that pull's IQFeed historical data into a postgres db, it loosely based on this. https://www.quantstart.com/articles/Downloading-Historical-Intraday-US-Equities-From-DTN-IQFeed-with-Python
For now I have different tables for various assets and timeframes, so its getting quite unwieldy, would love to standardize on 1min data and re-sample to higher timeframes on the fly, just havent come around to do it yet.
So if you have something that does it for InfluxDB would love to see it!
@Ed-Bartosh how do you compare
I've heard that
ziplineis very slow.
how do you compare zipline and backtrader backtest speed?
I've heard that zipline is very slow.
Not in my experience. You can see more details in this thread