Ask HN: Good resources to learn financial systems engineering?
I work mainly in energy market communications and systems that facilitate energy trading, balancing and such. Currently most parties there take minutes to process messages and I think there could be a lot to learn from financial systems engineering. Any good resources you can recommend?
Question is a bit broad, but out of all the concepts under the financial engineering umbrella you're bound to explore the concept of ledgering eventually.
I've written a bit about it on my own co's product blog in an attempt to demystify some core concepts [1], [2], [3].
Still on ledgering and expanding into less mathematical and more applied concepts, I can also recommend a book called "The Accounting Game: basic accounting fresh from the lemonade stand" [4].
[1]: https://www.formance.com/blog/engineering/how-not-to-build-a... [2]: https://www.formance.com/blog/engineering/debits-and-credits... [3]: https://www.formance.com/blog/engineering/ledgering-all-the-... [4]: https://books.google.com/books/about/The_Accounting_Game.htm...
> Currently most parties there take minutes to process messages and I think there could be a lot to learn from financial systems engineering
Depends on what you mean by "financial systems". There are plenty of financial systems that takes days or weeks to fully process transactions.
You're probably referring to stock trading systems (which by their nature have to be extremely low latency). The term to search for is "HFT" (high-frequency trading).
Here is a recent paper on the topic (focused on C++, though most things you find will tend to be): https://arxiv.org/abs/2309.04259
I work on low(ish) latency trading systems in FX. FIX is the standard communication protocol and familiarity with it is essential for me. Here you can look up the standard message types and tag values: https://fiximate.fixtrading.org/
They also have docs for the standard message flows you can expect during trading. I use it regularly.
Like someone else said your question is kind of broad. But I d recommend reading TigerBeetle's documentation to understand how financial transaction processing may differ from what they call general purpose databases like PostgreSQL.
https://docs.tigerbeetle.com/single-page/#concepts
There might be some gems for you in this old thread: https://news.ycombinator.com/item?id=22573204
Book recommendations for learning financial systems.
I recently read Central Banking 101¹ and learned a lot!
¹ https://www.goodreads.com/book/show/56863052
I wouldn't look further than asking what happens currently in the processing of these messages. It might turn out for example that the minutes delay is deliberate: high frequency trading can become unstable more easily than low frequency trading. Perhaps there's a human in the loop?
Currently most parties there take minutes to process messages
I suspect that the energy market is a bit different from markets where being ruthlessly fast might be a good long term behavior. So there might be good reasons for that way of doing business due to the specific nature of the energy market.
For example a limited number of counter parties might make stable B2B relationships more valuable. Or regulatory compliance might require extra steps. Or the messaging system might be noisy.
Or not. I wonder how executives at the trading companies would describe the delay.
One other thing that comes to mind - the players in the financial markets make so much money off that message-processing speed that it opens up a whole lot of options that may not be available to someone without those kinds of deep pockets. We're all still fighting Einstein, but the ability to just throw resources at the problem can surface some solutions that are out of reach when you manufacture something other than money.
I've heard from a friend in the energy trading space that they're a bit behind, but your question is still a bit too broad.
What in the financial space do you want to hear about? Networks, exchanges, settlement?
I am mainly working on B2B message exchange, e.g. via AS4/EDIFACT/ebix/CIM files and most parties seem to still work with a lot of batch processing. With the ongoing digitization of e.g. metering hardware and faster settlement times in the energy markets (EU-centric) I think this might not cut it anymore in the future.
Find out if they are moving to FIX, FIXFAST, or some sort of ITCH (binary) type feed.
If you just want to get up to speed on the mathematics, Luenberger's Investment Science is a classic.
https://www.amazon.com/Investment-Science-David-G-Luenberger...
A lot of settlement in financial markets is still pretty slow. That’s a big reason why there was so much fintech interest in blockchain.
You may be thinking of high frequency trading. In that case, traders interact directly with an exchange - e.g. via direct market access[1] - so it’s a pre-established two-party interaction. There’s no particular technical difficulty with making that fast. Usually, slow transaction times are a consequence of the structure of the market, not a technical issue particularly.
[1] https://corporatefinanceinstitute.com/resources/career-map/s...
[flagged]
[flagged]