5 ms·
The article briefly mentions the similarity of online betting to stock markets, when it is about the requirements for stability and real time processing without
by misja111 9y ago
The article briefly mentions the similarity of online betting to stock markets, when it is about the requirements for stability and real time processing without long GC delays.
This makes me wonder why Erlang/ Elixir are used so little in the financial industry? I have been working for a couple of financial firms and even a HFT company but I have never seen Erlang being used, despite its apparent advantages.
Does anybody know why this is? Or is Erlang actually being used a lot in finance and have I just been working in the wrong places?
- sargun 9y agoErlang is pretty poor when it comes to P50 latency compared to C++ and Java. Part of this is due to BEAM being a pretty unsophisticated VM, and part of this is due to the language and VM promoting inefficient patterns, (FP, immutability—these aren’t “bad”, just bad for our intel CPUs). Hiring for Erlang can be difficult too. That being said, Erlang is used heavily in FSI outside of HFT, or algorithmic trading. Several large FSI institutions are known users of Erlang (Visa, Banks).
- tankenmate 9y agoOne thing I have noticed that is mentioned less about immutable systems is the trade off of GC storm pause vs copy storm pause. Obviously system that use immutability either exclusively or primarily tend to use lazy evaluation to avoid copy storms sometimes it can't be helped. Mutability does have it upsides as well as down sides; the trade off isn't always obvious though.
- deleted 9y ago[deleted]
- user5994461 9y agoA betting exchange is a stock exchange. Same thing. Let's say that there is a football game Liverpool vs Manchester. One client puts £5 that liverpool will win. The exchange takes the money and adds it to the order book. Another client puts £5 that manchester will win. The exchange takes the money. It's matched with the opposite order and frozen. The money will be redistributed to the winner at the end of the game, minus a fee. It's exactly like buying and selling in a normal exchange. You can do real time trading during the game and arbitrage between exchanges. Disclaimer: I worked in betting before I moved to finance. Erlang is super weird and hard to recruit for. When used right, it's not faster or more productive than C++ or Java. I wouldn't advise anyone to use Erlang for anything.
- zeusk 9y agoIt isn't that simple is it? What about payoffs and probabilities? A financial firm can buy/sell in open market (often with market making privileges) to remain delta neutral but what does a betting exchange do?
- user5994461 9y agoNot sure what you mean by payoff. In a normal exchange, you see the price and it goes up and down. In betting, you see the probability going up and down. It's also the multiplier on what you will win. In the previous example, they would bet £5 at 50/50.
- bostik 9y agoA betting exchange is a financial escrow service. A user bets on a result of an event, with 20% probability of the event happening. This means that someone (often a market maker) is willing to bet with 80% probability of that same event not happening. User waged £10, and if they win, expect to net £40. That "other" £40 came from the counterparty. A betting exchange facilitates this. It sets aside ("escrows") the funds from both parties' accounts, and once the results of the event are known, settles the trades. Funds from escrow, minus the commission, are credited to winner's account. The basic premise really is that simple. Now, running an exchange is anything BUT simple.
- fractallyte 9y ago> I wouldn't advise anyone to use Erlang for anything. Try concurrency on multiple cores in C++ or Java, and let us know how you get on. I'm quite happy and doing well with my 'super weird' secret weapons, thank you!
- pjmlp 9y agoBy making use of tasking libraries that took ideas from Erlang, and async/await patterns
- user5994461 9y ago#pragma omp parallel for Challenge completed. Took 5 seconds. I wrote C++ and java for a living. I can get on just fine, thank you.