• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Our best traders spend a lot of their time pounding away writing code

A recent NYT article sheds light on how the trading landscape has been changing on Wall Street, due to technological advances as well as regulatory reforms such as the Dodd-Frank financial legislation.

The article makes clear that technology has been and will play a HUGE part in the industry as an increasing volume of trading occurs over automated exchanges as required by laws or other factors.

"The increased use of automated platforms means that more programmers are needed, but fewer employees over all."

The trading desks at Credit Suisse are demonstrations of how changes have transformed the type of trading and traders needed for the job.


"The traders here are mostly educated in math or physics, often outside the United States, and their desks are piled high with textbooks like the “R Graphs Cookbook,” for working with obscure computer programming languages."

“Our best traders spend a lot of their time pounding away writing code,” said Ryan Sheftel, head of the bank’s automated Treasury bond trading, pointing at one of his young employees. “He is doing thousands of trades, but doesn’t need to be manually involved anymore. The code he wrote is making the trading decisions.”

Banks are being pushed to move their trading onto automated platforms as a consequence of the international bank changes known as Basel III.[prbreak][/prbreak] These require banks to hold big cushions of capital to protect themselves in case trading positions lose value, with bonds requiring particularly large and expensive cushions.

This has resulted in banks shrinking the inventories of bonds they used to have on hand in case a customer wanted, say, a million dollars’ worth of 10-year General Motors bonds. Now, those same customers have to look more broadly to find the same quantity, potentially bypassing Wall Street all together.

Another regulation forcing fixed-income desks to change quickly is a part of the Dodd-Frank financial legislation that is set to push derivatives like interest rate swaps onto exchangelike platforms later this year. Banks have lobbied vigorously against it, arguing that the electronic infrastructure is not ready for the complexities of the multitrillion-dollar market.

If there is one single point I want to drive home about, it is the future of trading will mean programming. That means there is no way you can find top dream jobs in this industry, be it traders, quants, without knowing some kind of programming languages very well.

Note: Tim Grant was mentioned in the article. He was the first person we interviewed on QuantNet.

Source: Bond Trading Loses Some Swagger Amid Upheaval
 
As far as I understand in regards to R, A) it has the most advanced backtesting package around in quantStrat (still needs some speeding up with Rcpp for its FSM loop but...), B) it has a whole ton of specific libraries that you can vectorize your research with

Also, in terms of deploying, the HFT I regularly talk to tells me the skills a good quant researcher needs and the skills a good developer needs are rather different. I believe he himself uses technology provided by ISVs to do the actual deployment.

Oh, and the financial stuff for R helps to solve a lot of the issues Pandas mentions. XTS takes care of the irregular indexing, for instance.
 
Hi All,

I have been reading a lot of posts on quantnet, but this is my 1st post on this site. Whoever started this site, I would like to say thank you to him or her.

I have 2 questions about this article -

1. Since the article quoted in the 1st post here mentions Fixed Income Trading, I wanted to check if skills required for equity trading were also changing, and if equity traders are also required to have programming skills now (or going into the future).

2. THe article also mentions that regulations are causing fixed income securities to be traded thru online platforms. Again, are there any regulations (and if so, which ones ?) that require that equity derivatives also be traded thru online platforms ?

PS: I know that stocks are electronically traded, but I dont know if ALL equity derivatives are electronically traded as of today.

Thanks
 
Can anyone give me examples of quant roles that require absolutely ZERO programming or data manipulation in their daily tasks?
In case people ask, I can direct them to those roles.

I'm also interested in this question. I think you have to have at least some knowledge of a programming language to perform some tasks, however there must be roles in which the requirements are lower than in others.

What do you think of risk management Andy? Are the programming requirements lower than other roles'?
 
Hi All,

I have been reading a lot of posts on quantnet, but this is my 1st post on this site. Whoever started this site, I would like to say thank you to him or her.

I have 2 questions about this article -

1. Since the article quoted in the 1st post here mentions Fixed Income Trading, I wanted to check if skills required for equity trading were also changing, and if equity traders are also required to have programming skills now (or going into the future).

2. THe article also mentions that regulations are causing fixed income securities to be traded thru online platforms. Again, are there any regulations (and if so, which ones ?) that require that equity derivatives also be traded thru online platforms ?

PS: I know that stocks are electronically traded, but I dont know if ALL equity derivatives are electronically traded as of today.

Thanks


Can anyone reply to my questions also please. Thank you :)
 
Can anyone reply to my questions also please. Thank you :)

1. the title "equity trader" is pretty vague these days. some firms refer to these positions as essentially a sales position. just chat with clients and execute their deals. no programming involved. some tech-inclined firms do require programming and present trading strategies. check with the firms you are interested in.

2. each country have different regulations. though owner of equity derivatives trade electronically on behalf of their customers in some exchange, the customers don't have to or have no access to retail platforms.
 
I'll be attending Carnegie Mellon next year and I'm already fluent in around 12 programming languages (including Java, Perl, UNIX, and R). I love learning programming languages in my spare time, so that's why I know so many already.

I'm dead-set on becoming a trader and plan to major in comp. finance or operations research. Given the increasingly quantitative nature of trading, would it be good to do a 2nd major in Computer Science? I was planning to do a 2nd major in business, but I might switch to CS if it proves more relevant to trading. Can I be competitive for S&T roles if I simply list my programming skills on my resume, or do I need to do a minor or 2nd major in CS? Would appreciate any answers.
 

Daniel Duffy

C++ author, trainer
I'll be attending Carnegie Mellon next year and I'm already fluent in around 12 programming languages (including Java, Perl, UNIX, and R). I love learning programming languages in my spare time, so that's why I know so many already.
Have you tried your hand at C++ or C# yet;)
And VBA!
 
Dear Daniel
A friend of mine is doing his Master in Computational Mathematics and he wants to master both languages Fortran and C, is it worth?
I already adviced him that C is good enough and he may end in a big confusion with both languages, of course it depends how much proficient he wants to be in these languages
salut !
 
Now you need a financial engineering degree (which Im doing right now part time !) AND an advanced degree in programming ! ... It's like asking a brain surgeon to be also proficient in heart surgery.. Its good for the Hospital or the financial industry because you dont need to pay 2 individuals !

Welcome to the modern economy! Automation and fitting two people's jobs to one person is happening across industries, and seems to have come to the financial industry quite late.
 

Daniel Duffy

C++ author, trainer
Dear Daniel
A friend of mine is doing his Master in Computational Mathematics and he wants to master both languages Fortran and C, is it worth?
I already adviced him that C is good enough and he may end in a big confusion with both languages, of course it depends how much proficient he wants to be in these languages
salut !

Fortran NO.

C YES.
 

Daniel Duffy

C++ author, trainer
I'll be attending Carnegie Mellon next year and I'm already fluent in around 12 programming languages (including Java, Perl, UNIX, and R). I love learning programming languages in my spare time, so that's why I know so many already.

At least you're modest.

Q: are C and C++ in the list? ;)
 
As a student interested in financial engineering, I have been preparing myself with programming skills. Not until today that I find I am far from "OK" with someone saying that he is fluent in 12 languages and wanting more... Personally , I find learnig a new language is exhausting. Is it a sign that I am not suitable for this industry?
 
I'll be attending Carnegie Mellon next year and I'm already fluent in around 12 programming languages (including Java, Perl, UNIX, and R). I love learning programming languages in my spare time, so that's why I know so many already.

I'm dead-set on becoming a trader and plan to major in comp. finance or operations research. Given the increasingly quantitative nature of trading, would it be good to do a 2nd major in Computer Science? I was planning to do a 2nd major in business, but I might switch to CS if it proves more relevant to trading. Can I be competitive for S&T roles if I simply list my programming skills on my resume, or do I need to do a minor or 2nd major in CS? Would appreciate any answers.

Personally, I recommend CS rather than Business. If you are interested in trading rather than other financial jobs, (for instance, IPO, merge&acquisition and so on), the skills in computer science is more relavent. Topics like artificial intelligence and neuron network is quite useful in short term financial modelling. By short term, I mean within a day. If you are interested HFT, the term could be several millisecond. The topics covered in Business classes can hardly tell you anything about such modelling.

I am not a practitioner yet and all above is my pernoal opinion. Were there disputes, furthur discussion is welcomed.
 

Daniel Duffy

C++ author, trainer
As a student interested in financial engineering, I have been preparing myself with programming skills. Not until today that I find I am far from "OK" with someone saying that he is fluent in 12 languages and wanting more... Personally , I find learnig a new language is exhausting. Is it a sign that I am not suitable for this industry?


What is fluency? being able to order a capuchino in 12 languages? I would take the OP statement with a spoon of salt.

It takes years to learn C++.
 
Fortran NO.

C YES.

It was not mentioned that the person in question, that completed his master degree in computational math, is going to work in the quant finance domain, so your advice is not much meaningful - on the contrary, if he's going to specialize in any sort of applied math domain (like molecular dynamics, or fluid dynamics, or computational electromagnetics, etc.), then learning Fortran may be actually a must.

This picture of Fortran as dead language, that people tend to have, is rather wrong. It's true that it became niche language, but its niche is science (and HPC), and Fortran is doing rather well there. Here is a recent article from HPCwire, with some comments from Intel's James Reinders: .

“Interest in Fortran is incredibly high. It’s far from a dying language…more people are programming in Fortran than there were 10 years ago and it’s really stepped up as a language that embraces parallelism.”

“Couple the advantages of Fortran 2008 with Open 4.0 and it’s not only a viable language-it’s arguably the very best language for scientific programmers to be coding in on high performance architectures.”
 

Daniel Duffy

C++ author, trainer
I agree with you - speaking as a Fortran IV programmer and later from the late 70s' - that Fortran is a great language. I loved doing Fortran code. It might even be better than C++ for computational finance.

Unfortunately, that's neither here not there in the current environment.

I worked with Medusa CAD in the 80s and even then the port Fortran -> C was made.

I have met almost no one the last while who does Fortran. We can agree to disagree but C++ on your CV >> Fortran on CV (for good or bad, hard to say). Once OP gets out of university I fear not many people will be interested in Fortran knowledge.

Maybe academia could embrace hard C++ (it's worth it) instead of 1) sticking to Fortran or 2) easier options like Java.

This picture of Fortran as dead language, that people tend to have, is rather wrong
OK. Please can you give some high-profile cases (outside academia and government)?
 
Last edited:
Please can you give some high-profile cases (outside academia and government)?

Why "academia and government" are not legit?

Anyway... I can speak from my personal experience only. I recently completed a project for large Oil&Gas company, with critical parts of it written in Fortran - and it was not legacy code, but instead an implementation from scratch of numerical routines used for making decisions where to drill; these codes had to execute on GPU accelerators, and we did them in CUDA Fortran. On the other side, couple years ago I was working on a pricing engine implementation (again with time critical routines executing on GPU accelerators, but these were implemented in CUDA C), with the idea to sell it to financial institutions of various types - the business plan failed badly, and while there were various reasons why (the spread of crisis at that time etc.), I'm strongly convinced that the main reason was that the engine public interface, that was in C++, was full of sick over-complications, with heavily use of template meta-programming and alike crap. Namely, whenever we've been doing presentations, it was all rosy while we've been showing performance numbers etc., but when the presentation came to explaining the engine interface, so that it could be integrated into client existing in-house solutions, one was able to see client IT people starting rolling their eyes, and just know from that point onwards that we aren't going to make the deal. Fast forward couple years - the engine external interface is in a functional language now, and it sells rather OK these days (with almost unchanged algorithms implementation below).

Now - these are of course just personal anecdotes that aren't telling much, in particular if speaking striclty in the context of the quant finance domain. But my whole point was that it was not said in the initial post that the person in question decided to pursue career in quant finance (in which case, your advice that doing Fortran is waste of time would be certainly sound), so that with masters degree in computational mathematics there exist many other interesting application domains (some of these even paid rather well) where Fortran knowledge and experience could be significant advantages in his CV.
 

Daniel Duffy

C++ author, trainer
Actually, I agree with most of what you have written. I excluded 2 domain since QN is quant, so I wanted to focus a bit.

I'm strongly convinced that the main reason was that the engine public interface, that was in C++, was full of sick over-complications, with heavily use of template meta-programming and alike crap.

I have seen this as well; this is a project management fault. Developers should avoid gold plating, over-engineering and 'hobbying' with projects funds (btw I see TMP as overkill).

C++ is not at fault. "a bad tradesman blames his tools"

get it working (1)
then
get it right
then and only then
get it optimised (3)

Some developers go direct for (3) ;)
 
Top