... if you say so. Those are not brokerages we looked at, not our market. And at least Baxter didn't bother to update their SSL certificate.
Who fucking cares? It's one line of code to pass in the api key. Goodness. Your other assertion that all other APIs don't stream bids and offers and trades (past prices) as they occur the way IB does it is equally wrong. Everyone does the same. In the IB api you can specify whether you just want the updated metric back or a full quote. Perhaps you should study the documentation more carefully.
It is not that. As I said, it is a friction point for the customer. For other brokerages, in our application, all they have to do is enter their existing login credentials, just like on the brokerage web site. With Alpaca, they would have an additional step of going to the web site and creating an API key, recording it and entering it in MT. If you ever did user support, you'd recognize this as a serious friction point. TDA doesn't do it. E*Trade doesn't do it. IB doesnt' (well IB is "special", since there is no API login per se). Tradier doesn't. Ally Invest doesn't.
@terr, @guru , appreciate the feedbacks. From reading their story/background, https://techcrunch.com/2019/11/08/alpaca-stock-trading-api/, I would not dismiss Alpaca easily, and I assume they should know all there is to know about IBKR API and those of all other potential competitors. I am assuming (probably out of ignorance, probably a correct intuition only to be proven correct a decade later, like other things I assumed in my earlier life) the fact not many people are using it is because it is not well known (popular) yet. @terr, your example just confirmed my decision to put IBKR API on hold (after struggling with it for over a year hundreds of hours wasted to fiddle with all sorts of weired legacy behaviors), very very much appreciated it, comments like yours from a person of your background saves tons of time and money, I hope other people reading this thread who has not yet tried IBKR benefit from it too.
This topic could be great for another thread discussing/comparing various APIs, and I'd also would need to think of all the reasons I'd use one API vs another, but here are just a few requirements that any trader may have: - API's ease of use. Alpaca's does seem very simple, though perhaps too simple for more advanced requirements. IB sucks, but there may be hidden benefits, like ~30 reasons for an order being rejected, often by exchanges, that you can analyze and handle appropriately. - Support for stocks, futures, options and other derivatives, potentially crypto; as well as global/international instruments. Personally I trade options and need a broker and an API supporting those. - Pre-market and after-hours trading. One look at Alpaca shows their very limited support of that, starting at 9am. IB's support for pre-market and after-hours trading starting at 4am ET may even beat some other pro brokers. - Market data. Both IB and Alpaca may not be sufficient, so many traders use 3rd party feeds. TDA indeed seems great with their free feed, but external feeds may still be better when wanting to continually scan all the stocks or options. - Support for variety of order types and algos, including smart routing, midprice, access to dark pools, etc: https://www.interactivebrokers.com/en/index.php?f=4985 (and even more important for trading options, as I couldn't execute some option trades without IB or other pro platform like Wex that I'm eyeing) - Uptime. All brokers experience issues here, so it may be the question of comparing or even knowing the details. Broker-specific requirements: - Broker stability and resilience to being wiped out. IB may be winning here since they don't allow anyone taking excessive risk for even a minute. - Margin requirements and handling. I'm personally jealous of friends using TDA and getting literally 20x better margin on selling naked options (I don't trade much of those but sometimes end up with insufficient margin at IB even on low risk stuff that's well hedged). Though this could put TDA at risk. - Handling of multiple accounts, linked accounts, sub-accounts, IRA accounts, client accounts, duplicate/trade copy accounts, etc. - Reporting, including advanced custom reporting. - Wide acceptance and integration/support by 3rd parties, including tax programs, algo software, FundSeeker, Collective2, code/C#/Java/Python libraries, compliance products and services, etc. - Certain level of respectability, say in the hedge fund industry you could get away with IB but probably not with Alpaca. This also relates to the reporting and integration points above. I could probably come up with 5 or more points when/if fully awaken. Anyone else please feel free to expand on this as well. [Edit]: - Commissions
Great summary, this post should be a sticky. Most all reasons you mentioned are why I also still go with IB. It comes closest to professional solutions despite its shortcomings in other areas.
Great Summary! @guru. Actually we have been through all the points you discussed during the past two years. We now have live algo trading for futures on other platforms, not on IBKR, for obvious reasons you have already discussed. We have yet touched automated options tradings. We are now trying to take advantage of the commission free trading and fractional/odd shares trading just possible in the past year or so to deploy some algo that would not have been profitable if commissions are factored in, and not diversified/balanced (for minimum drawdowns) enough as a group if we cannot buy fractional/odd lots (AMZN GOOGL etc). The algos are mostly intraday on 1-5 minute bars.
good luck with commission-free execution, you will LOVE the stick drilling your behind, especially on 1-5 minute time frames ;-)
@yc47ib, realistically, if you are in this long term, you will choose not based on how easy it is to get started, but the core feature or two you need. Sounds like you decided on Alpaca because of API+commission free. IB doesn't compete there, so just give Alpaca a try and see if strategy performs in live and executions are good. If your commissions are negligible (typically for slower strategies) then you probably go with IB because of reputation, stability and wide range of products you can trade, all with API. Since there was enough trashing of IB done, I'll add extra on the positive side: IB API certainly is not friendly for beginners, but in a way, it teaches you how exchange works, event driven and highly optimized for fast delivery of a lot of messages per second. You might see it as an obstacle at the start, but once you get it and get used to it any "simplified" API might not be enough anymore. Another positive side effect of IB using lower level primitives is that it will be difficult to design your app to have performance issues. Since when coding with IB you will very likely build your own in-memory data model, which is, by design offers very fast to access to whatever you need for decision making. PS. You mentioned that you or/and your programmer been struggling with IB for a year. There might be something wrong with the approach. Simple reacting to market events, watching positions and sending orders is a couple of weeks job. It will certainly take another month or two to add robustness and error handling, maybe a year to be able to leave it in peace while you are on vacation, but having a first version that you can run under close supervision shouldn't take more than a month. Whichever broker you are dealing with, go for the most simple implementation of your execution possible at first. Don't be fancy, no full automation on day1. Most strategies won't survive live trading anyway so you wanna be mindful of the time you invest in automation before you find out if that one works or not. Val
Solid advice. But lets be honest, we all would like to see the day when IB will revamp its api and hopefully make the many dozens of workarounds and fixes that are currently necessary, obsolete. And I pray every week that IB will at some eliminate those error prone daily resets and forced logins. To me the api is the absolute biggest achilles heel in my relationship with IB. Well, it would not hurt to lower the quite expensive fx commission rates for large volume. But I don't want to ask for too much. Improve the api.