For code/output blocks: Use ``` (aka backtick or grave accent) in a single line before and after the block. See: http://commonmark.org/help/

Most appreciated features


  • administrators

    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



  • @backtrader said in Most appreciated features:

    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:

    1. 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.

    1. 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.

    1. 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 zipline and backtrader backtest speed?
    I've heard that zipline is very slow.



  • @ab_trader said in Most appreciated features:

    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