5 ms·
Historically, it's because exchanges were real places that people went to, and it would be expensive and pointless to run them all night. These days, there is
by twic 4y ago
Historically, it's because exchanges were real places that people went to, and it would be expensive and pointless to run them all night.
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/ae56de359f7a578ebbc0b107cd379d84/data/presentation_trading-hours-extension.pdf https://www.eurex.com/resource/blob/2845114/ae56de359f7a578e...
- devnullbrain 4y ago>Closing the market gives participants time to do various kinds of admin related to trading. Trading firms can restart their software to fix the memory leaks.
- cwillu 4y agoJust another generation in the garbage collector.
- dahfizz 4y agoIf anyone is wondering, this is not a joke. Some of the trading systems I've worked on were designed to be restarted every night. The memory didn't "leak", but was designed this way - preallocate all the memory you could need, and its "freed" when you restart at night.
- planede 4y ago> preallocate all the memory you could need Well, why did they have to restart if they never made any further allocations? This does not add up.
- dahfizz 4y agoBecause the memory fills up. You pre-allocate a million orders, and send 800k orders a day, leaving only 200k free slots. You're going to run out mid day tomorrow if you don't restart.
- planede 4y agoAh, OK. But I would characterize this as an internal allocator that never deallocates. You might as well replace `malloc` and `free` to do the same, and just allocate within the program normally. Just because you "preallocate" it doesn't mean that you don't implement a poor man's allocator inside the preallocated buffer.
- dahfizz 4y agoSure, but calling malloc at runtime is slow and maintaining an allocator isn't very useful if you can just restart the app every night. YAGNI ;)
- JamesSwift 4y agoThat just sounds like a memory leak with more words. Is the memory reclaimed/reclaimable? No? Ok then it leaked. If the system were able to reclaim the memory from the order, you wouldn't need to restart it. The memory arena strategy doesnt change that.
- TeMPOraL 4y agoIt's still a fine strategy. One "formal" name for it I've heard is "null garbage collector". It may feel dirty, but it's pragmatic: if the program runs in cycles with well-defined starts and ends, restarting it reclaims all memory and brings the program to a well-known state.
- twic 4y agoRestarting software once a day to work around memory leaks is real amateur-hour stuff. Mine does it every 10-20 minutes.
- TeMPOraL 4y agoThe real pros generalized this concept into so-called "supervision trees" - building your system as a hierarchy, where whenever a program misbehaves in any way, it gets restarted by a higher-level program, which itself will also be restarted if it can't get a handle on things, recursively to the top of hierarchy. (Yes, talking about Erlang/OTP here.)
- none_to_remain 4y agoYep. 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.
- toyg 4y ago> You'd need six people if trading was round the clock, and those people aren't cheap. 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.
- TheCoelacanth 4y agoHigher demand leading to lower prices? That's an interesting hypothesis.
- toyg 4y agoIt's not a hypothesis, it's how the mass-market works. Take computation: as demand rose and rose, prices fell and fell. And yes, the education and career systems have commonalities with manufacturing.
- rfrey 4y agoIn computation, the supply rose much faster (faster chips, cloud computing) than demand until the advent of widespread ML. And I haven't noticed the price falling much in the last few years.
- twic 4y agoHiring six traders instead of two does not strike me as a form of wealth redistribution effective enough to warrant the attention of the all-powerful Illuminati, although i'll ask them next time i see them just in case.