A desk trying to gain first queue position at the opening auction is probably running in FPGAs or ASICs and aiming for 100 nanoseconds. A spot market maker needs to respond fast to new level formation, and is aiming for 10 microseconds on a C++ stack. An alpha-driven liquidity taker may be using complex ML models, and is running a Scala stack at 50 microseconds. An ETF market may just need to re-mark their quotes when the underlying shifts, and is fine with 250 microseconds on OCaml.
We chose Java for our high-frequency trading application
61–70 of 287 posts
Re: We chose Java for our high-frequency trading application
#62Re: We chose Java for our high-frequency trading application
#63When i finished my theoretical Physics PhD, HFT was THE way out of academia for making money in my field. I didn't follow this path as it felt at the time a pretty evil thing to do.
Does HFT provide any benefits for our society?
Re: We chose Java for our high-frequency trading application
#64Re: We chose Java for our high-frequency trading application
#65What's the upper salary cap for HFT engineers. I'm talking cash , not stock. From what I've seen above 200k is exceptionally rare.
Re: We chose Java for our high-frequency trading application
#66Speaking about JVM garbage collection, why isn't automatic reference counting being used instead of traditional garbage collection? It seems kind of like the best of both words in a automatic memory-managed environment of providing safety as well as performance. Languages like Objective-C and Swift have proven that this is very viable. I wonder what's keeping the JVM from adopting it?
Re: We chose Java for our high-frequency trading application
#67I think I actually saw these folks present at JavaOne a couple years ago? Either that or there's more than one shop branding itself as "HFT" that uses Java. I worked in the industry and it's always a little funny to see who calls themselves HFTs vs quants. Basically, there's a bit of a spectrum of fast vs smart. In general it's hard to do incredibly smart stuff fast enough to compete in the "speed-critical" bucket of…
> Basically, there's a bit of a spectrum of fast vs smart. In general it's hard to do incredibly smart stuff fast enough to compete in the "speed-critical" bucket of trades and vice-versa there's barely any point in being ultra-fast in the "non-speed-critical" bucket because your alphas last for minutes to hours. Depending on the overall strategy, you can be smart and fast at once. If you have occasional alpha harves…
Speed always matters, no matter where on the smartness spectrum you are, but it's relative. If your model prediction takes 5ms you're not getting much ROI out of investing $1M into shaving off 50ns in your data processing. But if your end-to-end latency without prediction is 1ms, you better invest in getting that down.
Re: We chose Java for our high-frequency trading application
#68The best choice is Rust: as fast and efficient as C++, and more expressive than Java.
Re: We chose Java for our high-frequency trading application
#69Re: We chose Java for our high-frequency trading application
#70Earlier quoted context omitted.
The person you're replying to is almost certainly not using the word "safe" in the same sense you are. In particular: safety in trading has to do with risk management, strategy correlation, side effects, and correctness. Software security matters, in the abstract, but trading firms don't care about it nearly as much as tech companies do. The other thing is that being as fast as C++ is not compelling enough a reason t…
"Software security matters" I think the responder's version of 'safety' really boils down to 'null pointer safety' - not 'software security'. And even then, people keep talking about it like it's 'the thing'. Java has null 'references' as do most languages frankly and it's just 'a thing' almost never 'the thing' to be concerned about. 'What devs want' is basically something kind of like Java, but that compiles, predi…