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 :(
RandyT last edited by
@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.
Maxim Korobov last edited by Maxim Korobov
"+ 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.
+1 for DB as storage. I'm planning to populate SQLite with OHLC data from IEX, then try to find out how to make a BT datafeed from that. Any tips would be very welcome.