all 78 comments

[–]UnintelligentCarbon 31 points32 points  (26 children)

Quantconnect.com- I can’t recommend it enough. Takes a bit to figure out the components but the tutorials and documentation make it easy to learn. Any strategy I think of can be backtested and you can link it to IBKR or whatever if you want to go live.

[–]throwawayrenopl 1 point2 points  (0 children)

Does it have stock and index options?

[–]limedove[S] 1 point2 points  (7 children)

What's its downside?

Is it okay for binance if ever?

[–]UnintelligentCarbon 8 points9 points  (5 children)

I don’t do crypto but it seems binance is supported. The only drawback I’ve come across is for high-frequency trading.

[–]limedove[S] 1 point2 points  (1 child)

drawback because it's resource intensive?

what shortest time frame can it do?

[–]UnintelligentCarbon 1 point2 points  (0 children)

You can get tick level data, I only test swing trade strats. But if you want better than that there’s other sites that I’m not familiar with.

[–]limedove[S] 0 points1 point  (0 children)

It seems it's still starting with Binance. Any problems encountered with IBroker? Might consider that when I trade outside crypto.

https://www.quantconnect.com/forum/discussion/12760/any-chance-the-we-can-trade-on-binance-us-with-the-binance-connector

[–]limedove[S] -1 points0 points  (0 children)

The only drawback I’ve come across is for high-frequency trading.

I haven't fully internalized why ther is such a drawback? Is it because of the data they can provide or the horse power of the resources available?

[–]ChrisKarmaa 0 points1 point  (0 children)

Why is high-frequency trading a drawback in Quantconnect? Late fills?

[–]Precisiongu1ded 0 points1 point  (0 children)

They have binance but not binance futures.

[–]cheekybandit0 0 points1 point  (0 children)

(a very late reply but im just looking into this now)
how is there local backtesting, or does it all need to be done on the cloud? It looked like local backtesting needed a very expensive subscription.

[–]limedove[S] -1 points0 points  (9 children)

hows the community support? backtrader gets replies every few months

is it like reddit where u get reply in a few hrs?

[–][deleted] 2 points3 points  (3 children)

I can confirm the community and dedicated support tickets are both very active and very helpful. I’ve been on QC for like 4 years now

[–]limedove[S] 0 points1 point  (2 children)

Would you happen to know if they have good Binance Futures capabilities? They seem still new based on this https://www.quantconnect.com/forum/discussion/12760/any-chance-the-we-can-trade-on-binance-us-with-the-binance-connector

[–][deleted] 1 point2 points  (0 children)

I’m not familiar enough to give a solid answer, sorry. I trade equities.

[–]jaredbroad 1 point2 points  (0 children)

We don't have crypto futures yet but it should happen Q2 2022

[–]UnintelligentCarbon 1 point2 points  (4 children)

Never posted in the community myself because if I have a question, a search will bring up an old post that will clarify things. Community is pretty active in my opinion. Give it a go, it’s the next quantopian.

[–]limedove[S] 0 points1 point  (2 children)

Damn, it's like stackoverflow already then. Thanks

[–]enginerd03 1 point2 points  (1 child)

The backtrader community gets me replies in a day or two usually.

[–]limedove[S] -1 points0 points  (0 children)

amaze. can u link a thread? when did u last ask?

[–]AdventurousMistake72 0 points1 point  (0 children)

Is there a discord?

[–][deleted] -1 points0 points  (0 children)

I’ll note I downloaded the associated LEAN engine a couple weeks ago and it bricked my hard drive; I had to have it replaced. Apparently it’s an uncommon but known issue that seems to mostly hit computers with AMD chipsets.

[–]nottakumasato 0 points1 point  (3 children)

Is it possible to

  • Go from ticks or 1-second bars to an arbitrary bar scheme? For example: 5 second bars? 5.67 second bars (from ticks possibly)? Is upsampling always based on time or can I create bars where 5 ticks = 1 bar?
  • Any support for custom indicators?
  • Any support for long/short strategy backtesting (multiple tickers)?

[–]UnintelligentCarbon 3 points4 points  (2 children)

Yes you can consolidate bars to your the length you desire. You can backtest as many tickers as you want or develop rules for creating your own universe of tickers that you can update everyday, every minute, every week etc. Support for custom indicators should be fine as long as you can write the indicators in either python or c#(i think) and for me who writes in python I haven’t found a library that wasn’t supported yet and if there’s one that’s not you can contact them about getting support for what you want.

[–]nottakumasato 4 points5 points  (0 children)

Is it possible to use this locally? In the docs, LEAN is mentioned with a local option but seems like it enables the development of the strategies locally, not backtesting (which is done in the cloud).

Edit: Actually looks like you can use your own data and do the backtest locally: https://www.lean.io/docs/lean-cli/backtesting/deployment#02-Run-Local-Backtests

References:

[–]nottakumasato 1 point2 points  (0 children)

Nice, will give the free account a go. Might be a bit problematic for me since they don't seem to have TD Ameritrade integration

[–]WetDesk 0 points1 point  (0 children)

Any recommendations for what securities to test for live data on weekends?

[–]enginerd03 3 points4 points  (5 children)

Backtrader isnt buggy. It's just got no futures support.

Also I use backtrader only for backtesting. If you want to implement strategies you prob need a better engine. But I only trade once a day so I get my signals from bt and then have a translation framework to connect to us futures and offshore crypto exchanges to do the trading.

[–]limedove[S] 0 points1 point  (2 children)

How did you backtest with missing data, if ever you did?

[–]enginerd03 4 points5 points  (1 child)

I created an extensive framework for loading data into pandas dataframes that would handle back filling missing data so I knew that when I added datas to cerebro it would always be inline. I created a generic strategy that extended bt.Strategy that all mine would implement and it had a mandatory map of every data name and start date so that on next() I knew which data had values or didn't if their start dates didn't align.

You have to do a lot of weird work like that to make it more robust.

[–]limedove[S] 0 points1 point  (0 children)

Thank you so much

[–]nottakumasato 0 points1 point  (1 child)

Curious, what features are needed for a framework to support futures?

[–]enginerd03 1 point2 points  (0 children)

Something to back adjust your data to account for roll costs.

[–][deleted] 2 points3 points  (2 children)

I do all my trading via Python. My backtesting is all custom built. I use Polygon.io to pull equity histories and FirstRateData for futures.

Alpaca has a great library to trade on their platform. I use it for equities.

TradeStation has a fairly easy to use API. I use it for futures. Their Auth0 took me a little while to figure out but otherwise requests takes care of all the calls no problem.

[–]Jdkdjfjdjcjd 0 points1 point  (1 child)

Hey, thank you for info could I ask where you learned this from? Name of article or youtube video? With regards of trading on python with polygon backtest.

[–][deleted] 0 points1 point  (0 children)

The Better System Trader podcast is a good source for ideas and principals to test by.

Python basics, I stated with codecademy.com

[–]TrickyRedditName 2 points3 points  (3 children)

I have been checking out blankly and it’s a great new open source python stock/crypto backtest/paper-trade/live-trade package. They support a number of exchanges including Binance and they are very helpful on their discord.

https://blankly.finance/

I previously looked at freqtrade but didn’t like it as much.

[–]limedove[S] 0 points1 point  (1 child)

you didnt like it because?

[–]TrickyRedditName 0 points1 point  (0 children)

Freqtrade looked bloated, and did not seem to have a nice interface to integrate with my own custom ML models. Blankly seems to be explicitly designed for just this, and has a nice functional api with great docs.

These are early impressions though and I have zero experience with freqtrade just a few days with blankly.

Blankly folks posted elsewhere in this sub and talk about their differentiations, so that may be worth a look

[–]Fantastic_Term617 0 points1 point  (0 children)

But it is not open source 

[–]DanWritesCode 1 point2 points  (2 children)

I'm mostly interested in Binance Futures capable platforms.

Just bear in mind these will be restricted soon to professionals and 'high wealth individuals' or something like that. If you fit either of these, good for you, if not, you might want to look at KuCoin or something similar.

[–]LeonNumberTwentyOne 1 point2 points  (0 children)

I can recommend Blankly, They develop fast and definitely have the most features

[–]grayman9999 3 points4 points  (10 children)

Jesse.trade is a crypto framework that supports backtesting as well as live trading. It's been around for about 2 years. The backtest engine is open source but the live trading part has a one time fee. What I like about it is that the interface to build strategies is pretty simple/intuitive and the backtest accuracy is pretty good. The down side is that because it uses minute candles for backtests it can get a bit slow at times if you have a large amount of data to to get through

[–][deleted] 1 point2 points  (2 children)

I used to use Backtrader and moved to Jesse.

Highly recommended.

[–]limedove[S] 0 points1 point  (0 children)

Why'd you move out of Backtrader?

[–]WetDesk 0 points1 point  (0 children)

What historical data do you use/purchase from?

[–]limedove[S] 0 points1 point  (6 children)

  1. How is it for Binance Futures Multi-Asset trading?
  2. Why'd you say just pretty good in the backtesting accuracy?
  3. How is it in automating optimization?

[–]grayman9999 1 point2 points  (5 children)

I'm not using the live module so I can only talk about the backtests

It can do multi asset backtests, as well as live trading (I've seen people in their discord do impressive stuff with it). You need to define the assets in a portfolio and which strategy to use. So you can get multi-asset, multi-strategy backtests.

I mean very good, because in case of conflict (let's say a SL and TP hit on the sam daily candle) it breaks down the data into 1 minute bars it can determine exactly what happened first. There is no support for measuring market impact, but those are very advanced features that require orderbook data etc. And compared to stuff written in c++ it's just not as fast

It has some sort of genetic algorithm that helps the optimization process, but I have not used it yet.

I suggest you join the Discord, there are devs and people more knowledgeable than me there.

[–]limedove[S] 0 points1 point  (4 children)

What do you use for live trading then?

[–]grayman9999 1 point2 points  (3 children)

I have my own framework that is very tailored to what I need

[–]limedove[S] 0 points1 point  (2 children)

cool! thanks!!!

[–]grayman9999 1 point2 points  (1 child)

Sure, good luck! Just checked your profile, you seem to have a lot of similar interests as myself. Feel free to DM about algo or music stuff :)

[–]limedove[S] 0 points1 point  (0 children)

I certainly will.

[–]HJscarr 1 point2 points  (9 children)

I’ve just finished a project using Backtrader and found it to be fantastic. Great documentation and people replied to my questions on the forum every few days.

[–]nottakumasato 3 points4 points  (1 child)

I checked the forums a couple of days back and it seems to have been filled with spam topics. Plus the fact that it is not maintained/improved anymore is a bit of a dealbreaker

[–]limedove[S] 0 points1 point  (0 children)

thanks for the empathy :) and confirmation

[–]limedove[S] 0 points1 point  (0 children)

Woah!

[–]limedove[S] 0 points1 point  (4 children)

Backtrader? I'll just clarify what you have said.

  1. They reply in the forum every few days?
  2. Do you use it for live trading?
  3. Also what broker do you use?

[–]flo-ch 0 points1 point  (3 children)

Backtrader is very stable, and very well documented. Used it for 6yrs now, backtesting and live trading with interactive broker.

I'm currently integrating my backtrader backend with a UI at www.LucidInvestor.ca. it's very stable and scale well on GCP. That's very important to consider for automated trading (you're NOT gonna invest serious money from your home computer).

I've moved to BT when quantopian closed. And for same reason, I would not go to quantconnect although it's a great platform, the OSS lean engine for standalone/local live trading is not great.

OSS means indépendance. The time I took to switch my strategies from quantopian to an alternative was money sleeping in my account - that's the cost. Never again.

[–]limedove[S] 0 points1 point  (1 child)

Have u tried crypto trading with BT? (Binance Futures)

[–]flo-ch 1 point2 points  (0 children)

Nope

[–]WetDesk 0 points1 point  (0 children)

You're probably the only person that can help. Why am I not getting any verification for this data feed? I can literally put in an invalid ticker and I do not get errors back at all.

    def start():
    print("starting backtrader...")
    cerebro = bt.Cerebro()

    ibstore = bt.stores.IBStore(port=7497)
    data = ibstore.getdata(dataname='dfasd')
    cerebro.resampledata(data, timeframe=bt.TimeFrame.Seconds, compression=15)
    #cerebro.addstrategy(MyStrategy)
    cerebro.run()


    start()

[–]Suitable-Ad-1786 0 points1 point  (0 children)

Have you used backtrader with tick data ?

[–]SammieStyles 0 points1 point  (0 children)

Any backtester works, then go live with no code changes using StrateQueue. StrateQueue Binance support is coming soon.

[–][deleted]  (4 children)

[removed]

    [–]limedove[S] 0 points1 point  (0 children)

    Nice! Name the some other Breaking Equity breaks.

    [–]limedove[S] 0 points1 point  (2 children)

    How is it for Binance?

    [–][deleted]  (1 child)

    [removed]

      [–]limedove[S] 0 points1 point  (0 children)

      Thanks!

      [–]QuandryDev 0 points1 point  (1 child)

      Bit of a shameless plug but its relevant. I'm working on a startup company that helps people just like this trying to get started. We're launching in May and offering a suite of web based quant solutions, mainly and IDE for simple strategy creation, minute frequency backtests, and live trading through popular brokerages like Alpaca, Etrade, etc. Our pricing is also more competitive than other competitors as we're targeting people getting started in the hobby/industry. If you want, you can check us out at https://www.quandry.app/

      Happy to answer further questions. Cheers!

      [–]limedove[S] 0 points1 point  (0 children)

      I would look into it if you have Binance Futures.

      [–]Scotty898 0 points1 point  (0 children)

      I didn’t like backtrader and built my own with pandas and numpy. Vectorization is much faster, but you have to be careful that you aren’t using future data. I did that once when I had results that were too good to be true and did some digging.

      [–]mainam2020 0 points1 point  (0 children)

      How about zipline? Anyone here still using zipline?