While we're at it, I have a related question: why do the exchanges even "open" and "close"? Surely in our globalized digital economy, it's not just "day" and "night" that are meaningless, but the very concept of "opening hours" itself.
While we're at it, I have a related question: why do the exchanges even "open" and "close"? Surely in our globalized digital economy, it's not just "day" and "night" that are meaningless, but the very concept of "opening hours" itself.
These days, there is a trend towards opening hours getting longer (eg [1]).
But there is still value to limited hours. Off the top of my head:
1. Liquidity gets concentrated. If there is a fixed amount of end-user demand (inflows into pension funds, oil production to hedge), then shorter hours means sort of 'denser' trading, which in turn means more quantity on the books, tighter prices, and better efficiency.
2. Trading is still done under human direction, or at least under human supervision, so shorter hours are less demanding on staffing. It's possible to run a productive soybean trading desk with two people at the moment. You'd need six people if trading was round the clock, and those people aren't cheap. Or else desks don't trade the whole day, and they miss out on opportunities, and other participants get less competition, and so worse efficiency.
3. Closing the market gives participants time to do various kinds of admin related to trading. Options markets close earlier than their corresponding futures markets, so that options market makers can get their position cleanly hedged. Bond markets close before repo desk traders go to the pub, so that bond trades can get financed.
[1] https://www.eurex.com/resource/blob/2845114/ae56de359f7a578e...
Trading firms can restart their software to fix the memory leaks.
Well, why did they have to restart if they never made any further allocations? This does not add up.
Just because you "preallocate" it doesn't mean that you don't implement a poor man's allocator inside the preallocated buffer.
I buy all the groceries I need from now until the end of time. That's not realistically achievable, from any perspective.
Allocating all the memory you need for a day is realistically achievable. Allocating all the memory you need until the end of time is not realistically achievable.
Still sounds like a leak to me.
It's a perfectly fine way of engineering a system.
There's also a variant of this that's been used on missiles - basically, you put enough RAM on the weapon to guarantee it'll hit its target or run out of fuel before running out of memory.
(Yes, talking about Erlang/OTP here.)
I once was tracking a white whale of a memory leak. Along the way I was able to optimize memory usage of the leaked objects. So I got to the point where I thought maybe the leak was caused by simultaneous read, update, and delete operations on a single key, but by then I'd improved memory usage such that weekly, rather than nightly restarts were needed. The futures markets at the time were 24/7 but with a maintenance period on the weekends, so my boss just told me to leave it and let the restarts garbage collect.
That's not a good argument. If there were more openings for that kind of position, more people would apply, and average remunerations would get lower.
The real problem is that this would effectively distribute wealth (and access to wealth) more widely, and the ruling classes can't have that as a matter of principle.
I guess they could hire a second and third shift, but they also could have done that back when stocks were traded on paper and over the phone. The will just isn't there.
In liquid markets, "AAPL is $141.23" makes sense. It means that you can expect to buy and sell almost as much AAPL as you want at very close to that price because there are loads of buyers and sellers near that price. You can pretend that AAPL stocks have a price like a lamp at home depot: "I would like 2 AAPL please" is a safe thing to say.
In illiquid markets, "AAPL is $141.23" does not make sense. "I would like 2 AAPL please" is not safe at all. There are bids and offers, but not necessarily a lot of them, and not necessarily near each other. If you were to place the "2 AAPL please" order (or something related like "$500 of AAPL please"), you might find that you have purchased 1 AAPL for $141.23 and 1 AAPL for $299.57 because there was a big gap in the order book. The price abstraction completely breaks down and you have to "haggle" with bids and offers directly.
"Ok," you might say, "liquidity is important, but surely we can just let the bots provide liquidity at night?" The problem is that markets are adversarial and bots can't really deal with "attacks" as well as humans (or at least the humans staking the money don't trust them to). There is all sorts of craziness that a market-making bot can't handle, and if you encourage people to rely exclusively on market-making bots then they can be taken advantage of (oh no, AAPL is down 50%, better sell, wtf, price shot right back up, rage).
It's safer and smarter to just have everyone agree on convenient blocks of time to crowd into the market. During those periods of time the market can be assumed liquid. The price abstraction works.
"But I'm a big boy and I want to live in the danger zone, let me trade at night!" Go right ahead. It's not only possible, it's readily available and people do it all the time. You can probably request some degree of after-hours trading from your brokerage right this minute. It's usually pretty easy -- usually you just have to ask for them to enable permission and promise that you know what a limit order is. Usually market orders are disabled, too, because they know that plenty of people would hit "accept," shoot themselves in the foot, and complain anyway :)
You can't settle on a bank holiday, because the banks are closed. If you trade on a day you can't settle, you're going to have two days of trading settling on the same day later, which is going to be weird.
For example, if there’s a US holiday on a Friday then EUR/USD trades conducted on the Wednesday and Thursday would both typically settle Monday.