top of page

Get auto trading tips and tricks from our experts. Join our newsletter now

Thanks for submitting!

Writer's pictureBryan Downing

Look at Rust Automated Trading Systems and Programming Language Choice

The Rust Debate: A Look at Automated Trading Systems and Programming Language Choice


The world of algorithmic trading, where complex algorithms automate financial decisions, is rife with debate. One such debate centers around the suitability of Rust, a modern systems programming language, for building these algorithmic trading systems. This article explores the arguments presented in a video by Brian Downing, which serves as a commentary on an article written by Austin Sparks, a developer who regrets rebuilding his trading system in Rust.



automated trading systems


Sparks' Frustrations: A Case Against Rust?


Sparks' article paints a harsh picture of Rust for algorithmic trading. He highlights several key drawbacks that he encountered:


  • Steep Learning Curve: Rust boasts a reputation for being challenging to learn, with a complex syntax and unique ownership system. For Sparks, this translated to a significant time investment just to grasp the fundamentals, hindering his development progress.

  • Verbose Code: Compared to other languages, Sparks found Rust code to be excessively verbose. This verbosity can lead to longer development times and potentially hinder code readability, especially for those new to the language.

  • Cryptic Error Messages: One of Sparks' biggest frustrations was Rust's error messages. He found them to be cryptic and unhelpful, making it difficult to pinpoint and fix errors efficiently. This can be particularly time-consuming and demoralizing for developers.


Downing's Defense: Unveiling Rust's Potential


Brian Downing, in his video commentary, takes a strong stance in favor of Rust for algorithmic trading. He argues that Sparks' experience might be the result of not fully embracing Rust's strengths:


  • Performance Powerhouse: Rust shines in terms of performance. It compiles to native code, offering exceptional speed and memory management – crucial factors for high-frequency trading strategies where every millisecond counts.

  • Safety First: Rust prioritizes memory safety. Its ownership system prevents memory leaks and data races, which can lead to unexpected behavior and potential financial losses in trading systems. This inherent safety net provides developers with peace of mind.

  • Modern Toolset: The Rust ecosystem offers a growing collection of libraries specifically designed for financial applications. These libraries streamline development by providing tools for data analysis, backtesting, and integration with financial APIs.


Beyond Sparks vs Downing: A Look at the Landscape


While the Sparks-Downing debate highlights Rust's potential drawbacks and strengths, the language landscape for algorithmic trading is broader. Here's a brief comparison with other contenders:


  • Python: A popular choice due to its ease of use and vast ecosystem of libraries. However, Python can be slower compared to compiled languages like Rust.

  • C++: The traditional powerhouse, offering exceptional performance. However, C++'s complexity can lead to memory management issues if not used carefully.

  • Julia: A rising star with a focus on scientific computing. Julia offers a balance between performance and ease of use, but its ecosystem is still under development.


The Choice is Yours: Picking the Right Tool


The ideal language for algorithmic trading depends on specific needs. For projects demanding raw speed and memory safety, Rust is a compelling option. However, its learning curve can be daunting. If development speed and a large talent pool are priorities, Python remains a solid choice. Ultimately, the best language is the one that balances performance, maintainability, and developer comfort within the specific context of the trading strategy.


In conclusion, while Austin Sparks' experience paints a cautionary tale for those considering Rust, Brian Downing's perspective highlights its potential. The debate underscores the importance of carefully evaluating language suitability based on project requirements and developer expertise. In the ever-evolving world of algorithmic trading, the choice of language remains a critical factor for success.

 

 

Video summary


The video is about a man named Austin Sparks who regrets spending 18 months rebuilding his algorithmic trading system in Rust. The video is a commentary on an article written by Austin Sparks.


The article claims that Rust is a terrible language for algorithmic trading and that it has a number of flaws including a difficult learning curve, verbose code, and horrible error messages. The author says that he gave Rust a fair shot but ultimately found it to be a frustrating and time-consuming language to work with.


Brian Downing, the creator of the video, disagrees with the article's assessment of Rust. He says that Rust is a powerful language that can be used to create high-performance algorithmic trading systems. He also points out that the author of the article may have simply been frustrated with Rust because he did not take the time to learn the language properly.


Overall, the video is a debate about the merits of Rust for algorithmic trading. The author of the article believes that Rust is a terrible language, while Brian Downing believes that it is a powerful language that can be used to create high-performance systems.





27 views0 comments

Comments


bottom of page