Most major discount brokerages are also at $0 commissions. They make their money off of net interest, asset management fees, margin, security lending arrangements, and order flow.
A common adage is that the best service a brokerage can provide is to cut the phone lines during a crash :)
Regardless: Robinhood is aimed at individual consumers, not sophisticated investors. It's not uncommon for prosumers to have several brokerages, but of course you're limited in the size of the moves you can make (probably not a bad thing for the median Robinhood user).
Well in this case it saved me several hundreds of dollars because I wasn't able to sell my puts. Of course, it could have just as easily gone the other way and made me lose hundreds if the market reacted more positively to the fed cut.
almost certainly...the issue is that RH claims to be for the beginner trader. The last two days will push a ton of customers away especially with how volatile the market has been and will continue to be. No one with any sense would continue to trade on a platform where you might not be able to touch anything for an entire day or two.
I'm not a Robinhood user -- do they have guaranteed stop losses? This is something that could appease lots of users (assuming it's used correctly) even in this kind of situation (since _guaranteed_ stop losses exist pretty much for exactly this eventuality).
Interestingly when I was still writing trading platforms you would be dead wrong. But in the last few years at least nyse & bats no longer offer stops.
I’d be curious how brokerages actually implement stops on exchanges that don’t offer them natively because synthetic stops have notoriously bad edge cases.
Sure, but guranteed stop losses are a form of insurance where, even if the platform's out and stop losses don't execute in time, the customer will be reimbursed for any money lost as a result -- this is what's really more valuable here.
I checked one of their backend engineering job postings, using Python and Go... mostly python? Probably should have chosen something ~~boring~~ safe, like Java. A dynamic language like python/ruby doesn't seem to be a good choice for critical financial applications.
I'm know it can be done in python, but its about curbing any potential for human errors. Interested in seeing the RCA for this.
Changing languages doesn't fix bottlenecks, it just moves it. A good team can make a high perf system in near any language, some will just require more $ per month in hardware...
There is no rigorous study that has proven this. I wish there were because I strongly prefer static typing but it’s more a belief than anything proven.
Perhaps, but how does static typing make a language 'boring' or dynamic typing 'exciting'. I certainly consider Elm and Haskell more 'exciting' than Python or PHP.
Also, if "rigorous, non-optional" is good, why would you want _Java_ and not, I dunno, Haskell or ML or some other powerful type system? Is there any evidence this bug would have been prevented in Java? If anything, Java is prime ground for the related YYYY vs yyyy formatter bug.
So your argument is you need a language with static typing to prevent defects, but also the language must be proverbially this tall to ride, and so you end up with, say, Java?
You need a language that isn't prone to foot bullets in long lived code that will pass through many developers with varying degrees of experience. Ada, Rust, Java would be suitable. I'm not a huge fan of any of these but they are better than winging it on duck typing for mission critical code.
Not even that much of a couterpoint; if you want strict typing, you can do it in Erlang with pattern matching / guards and tagged tuples, and/or with Dialyzer and type annotations.
You can write extremely safe code in any language. Python isn’t even a bad choice (compared to other dynamic languages) because you can at least get static type checking via type hints.
Python is pretty boring, quite honestly, and it's as old as Java (4 years older than publicly-available Java). There are a variety of compelling engineering reasons to choose Java over Python, but a lack of boring conservatism is not one of them.
As far as I know, there’s no evidence of correlation between static types and bug density. Java should be no better a choice than Python or Ruby. You should still be testing your code.
This suggests the outage was short. It lasted the entire trading day, during one of the largest single-day gains of the last few years, during one of the highest-volatility spikes of the decade.
I saw a tweet that showed they didn't 'account for' leap years.. And by account for I mean: use a standard date library to handle dates. I too have made this mistake when younger and tried to be smart with dates, but not on a f'ing multi million dollar service >_<
Wouldn't that have happened on the first trading day following the 28th? People are saying that the outage four years ago hit on Wednesday the 2nd. That makes no sense for this narrative.
I think to answer your question, yes, the company absolutely should have an infrastructure that can support this kind of load. The product that RH is selling is execution of trades, and failure to do so has drastic consequences. They are not some social network that can afford to go offline for a few hours due to high traffic, the stakes are significantly different.
Another thing to consider is that there are so many great alternatives to RH that were online, despite encountering similar load. If the whole stock trading network went down that would be a different conversation, but users of other platforms were able to trade, and thus RH not being able to provide the infrastructure to handle the load is a huge disservice to its customers.
Believe it or not, I agree with you. In cases like this I point to ISPs and their ability to sell more bandwidth than they can reasonably handle. Brokerages for regular clients know that lost uptime equals angry customers, who can and will move their money ( if not more ).
Quantitative hedge funds must be making an absolute killing these couple weeks from the number of individual traders trying to daytrade through all this volatility.
Individual traders occasionally do beat the market makers. That’s why market makers need special rules to boost their profits... remember, nothing stopping individual billionaires from speculating in the market just like individual 9-5’ers.
Meanwhile I hate the look of tightly manicured lawns. You should definitely grow long grasses.
Without a more rigorous set of criteria we are arguing opinion. While my opinion is the same on static types there are people with their own experience on the other side of the argument.
63 comments
[ 2.9 ms ] story [ 138 ms ] threadIs this a case of people putting all their eggs in one basket? Does Robinhood have a "guaranteed" 99.9xxx% uptime guarantee?
Sucks for a lot of people who evidently are putting a lot of money in the market and couldn't do anything due to a technical issue.
Regardless: Robinhood is aimed at individual consumers, not sophisticated investors. It's not uncommon for prosumers to have several brokerages, but of course you're limited in the size of the moves you can make (probably not a bad thing for the median Robinhood user).
If you cared this much, you probably had IBKR.
That said I don’t have any idea about how Robinhood implements them.
https://www.google.com/amp/s/www.cnbc.com/amp/2015/11/18/why...
Lots of other exchanges still offer them https://www.cmegroup.com/confluence/plugins/servlet/mobile?c...
I’d be curious how brokerages actually implement stops on exchanges that don’t offer them natively because synthetic stops have notoriously bad edge cases.
I'm know it can be done in python, but its about curbing any potential for human errors. Interested in seeing the RCA for this.
Also, if "rigorous, non-optional" is good, why would you want _Java_ and not, I dunno, Haskell or ML or some other powerful type system? Is there any evidence this bug would have been prevented in Java? If anything, Java is prime ground for the related YYYY vs yyyy formatter bug.
Not even that much of a couterpoint; if you want strict typing, you can do it in Erlang with pattern matching / guards and tagged tuples, and/or with Dialyzer and type annotations.
I said that at the end of my comment. But like you said, you have to opt-in to more rigorous checks instead of being forced to do them.
Hard to take that reply seriously.
Perse probably didn't know it was a hoax.
https://twitter.com/AskRobinhood/status/1234861941413351434
It is kinda like a bank rush, only really well heeled institutions can survive everyone and their mother jumping in the fray.
Now.. the common question is whether the company should have an infrastructure that can support its customer load at times like this.
Another thing to consider is that there are so many great alternatives to RH that were online, despite encountering similar load. If the whole stock trading network went down that would be a different conversation, but users of other platforms were able to trade, and thus RH not being able to provide the infrastructure to handle the load is a huge disservice to its customers.
https://news.ycombinator.com/item?id=22468361
https://news.ycombinator.com/item?id=22465178
I was wondering why mentions of Robinhood blew up yesterday:
https://imgur.com/a/iWxEZkS
Without a more rigorous set of criteria we are arguing opinion. While my opinion is the same on static types there are people with their own experience on the other side of the argument.
They too have lived it.