Discover your dream Career
For Recruiters

The best coding languages for trading algorithms: Python, C++, Javascript?

If you want to get a job in systematic trading, two coding languages have long been the key: Python and C++, but a new and non-scientific study of languages used to write open source trading algorithms suggests there's another possibility: Javascript.

Richard Hickling, a former software engineer at Bank of America, BNP Paribas, Barclays and elsewhere who now runs crypto analytics firm ProfitView, has looked at the most popular algorithmic trading projects on Github. Javascript is the second most popular language in Hickling's sample.

Hickling doesn't claim any scientific rigour, but he did have a method for selecting the Github repositories in his 35 repo sample: first he looked at the repos popular with algo traders and quants; then he used stars to work out which other repos were popular; then he ranked them by popularity. 

Javascript can be very fast when running server-side as node.js, says Hickling. It's not as fast as C++ but it's still passably fast for medium-frequency trading algorithms applications. "It's ascended rapidly in the ranks over the past few years," he reflects. 

Python still dominates, though, and C++ is still seen as the gold standard for trading programs. "With Python, if you have an idea, you can just sit down and test it in the space of a few minutes," says Hickling. "But for really large projects, Python doesn't have that much advantage because at scale, you have to put lots of controls on your architecture that become cumbersome with Python."

The problem with C++ is always that it's very hard to write says Hickling. "It takes much more effort than Python.  C++'s value is that it is both expressive and high performance_.  There's few languages that rival it in that way." For this reason, Hickling says you don't broach a C++ project without plenty of thought and ample resources.

Could Javascript provide an alternative? Vaccum Labs, a software company providing services to the fintech industry, says Node.js is faster than a lot of people think and is "certainly much faster" than Python, making it ideal for trading prototypes in areas like crypto market making. 

One senior banking technologist says it won't catch on in mainstream finance. "I've heard of people using Node.js for the entire back end trading platform as smaller places, but it's just not performant enough for front office applications," he says. "I'd be amazed if anyone's using it for latency sensitive algorithms." Another says Javacript is used for front end GUIs, not trading applications.

Click here to create a profile on eFinancialCareers. Make yourself visible to recruiters hiring for top jobs in technology and finance. 

Have a confidential story, tip, or comment you’d like to share? Contact: sbutcher@efinancialcareers.com in the first instance. Whatsapp/Signal/Telegram also available (Telegram: @SarahButcher)

Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)

Photo by Braden Collum on Unsplash

 

author-card-avatar
AUTHORSarah Butcher Global Editor
  • ni
    nick_hill
    27 July 2022

    This reminds me of Master Foo and the editor wars. I'll put it down here replacing 'editor' with 'programming language'.

    From http://catb.org/esr/writing...

    On one otherwise tranquil morning Master Foo's meditations were disturbed by cries of distress.
    Finding that they came from one of the novices, he inquired
    "What is the difficulty here?"
    The novice replied, "I am frustrated by my tools. Every day I must use many different Programming Languages because neither C++ nor python nor any of these other random languages like R and Julia have all the features I require."
    Master Foo nodded. "How," he asked, "would a master of the Great Way resolve this difficulty?"
    The student thought for a few moments, then replied. "Well, it's obvious. I will create the best language ever. It will do everything I need. It will do everything everyone needs. And the world will be a better place because..."
    The novice's speech halted as Master Foo rapped him sharply across the back of the head with his staff.
    "Um. Master?" the student asked, rubbing the back of his head gingerly. "In what way have I erred?"
    "Fool!" said Master Foo. "Do you think I want to learn yet another language?"
    Upon hearing this, the novice attained enlightenment.

Sign up to our Newsletter!

Get advice to help you manage and drive your career.

Boost your career

Find thousands of job opportunities by signing up to eFinancialCareers today.
Recommended Jobs
Paritas Recruitment - Data & Tech
Quantitative Researcher (Systematic Fund)
Paritas Recruitment - Data & Tech
London, United Kingdom
Oxford Knight
Data Analyst - London- Quant Trading
Oxford Knight
London, United Kingdom
Berkeley Croft
Data Insight & Analytics Associate
Berkeley Croft
London, United Kingdom
Brock & Decker
Investment Banking Analyst
Brock & Decker
London, United Kingdom

Sign up to our Newsletter!

Get advice to help you manage and drive your career.