Python/VBA Skills in S&T

I see a lot of folks talk about how valuable knowing some python skills can be as a junior on the trading floor. What are some tangible tasks/skills that I should be comfortable with in python and/or vba for purposes of a summer internship? Regression analysis? Manipulating/Filtering dataframes? ARIMA or other time-series analysis? The more granular you can be, the better. 

The Social Network For Smart Money Investors

  • Commonstock built a platform to showcase the portfolios, real-time trades, and analysis of the smartest retail investors, helping you distinguish signal from noise. 
  • From equities and options to crypto and NFT's, markets are changing fast. It's more important than ever to find trustworthy information. 

Comments (5)

  • VP in S&T - Other
May 7, 2022 - 5:05pm

Really depends on the desk, so best to ask around after you accepted an offer.

VBA or python to automate spreadsheets is enough to be a value add for most desks. Simple things like copy pasting from different files, processing data, formatting reports etc.

More quanty desks, usually on the trading/structuring/research side would make more use of more complex stuff, but it's pretty product specific, and what coding you do as an intern will depend on how Mathy your manager and senior colleagues are.

Once you know where you're placed pick a textbook or too and try to program some simple examples from it.

Most Helpful
May 7, 2022 - 8:48pm
craig_ferguson, what's your opinion? Comment below:

The first comment sums it up great. I would add that no matter what desk your on, being able to automate a task is huge.

Whether it's an email that sends out a report or a script that scrapes market data, understanding the fundamental programming building blocks is very important (variables, if/else statements, for loops, etc..)

If you have no programming experience at all, I'd start with VBA as almost all trading desks have tools written in that. There are tons of free learning sources out there so a simple google search is all you need to do.

I wouldn't spend weeks of your time reading books.. once you understand the basic building blocks (mentioned above), I would try to automate or create a script of your own.

Here's a practical example:

  1. on your own PC create a folder called daily PNL files and fill it up with files in a naming convention like YYYYMMDD.csv.
  1. You can put fake PNL data in the sheet based off each portfolio on the desk for each trading day.
  1. From there, create an excel sheet that has a macro in it that goes into that folder, finds the latest daily PNL file (based off the names of the files or time stamps of the files).
  1. After that, have the macro open the file and bring the data into the Main excel sheet your coding in.
  1. Once the data is in the main sheet you can manipulate the data in some way (for example, hove the script prompt the user to input an fx exchange rate and then convert the PNL numbers from USD to CAD.
  1. Once you did some sort of data manipulation, have the script save the data as a new file in a new folder and then have the script create an outlook email and attach the new saved file to the email.

While this is a simplified example, it will teach you a lot of fundamental programming logic. Also, If you do choose to start with VBA try to avoid using the "record macro" button as that does the programming for you.

If you can add value like this on a desk for a summer internship, the odds of the desk brining you back on full time is good (Atleast in my experience).

Good luck!

May 8, 2022 - 10:29am
IcedxTaro, what's your opinion? Comment below:

craig_ferguson

The first comment sums it up great. I would add that no matter what desk your on, being able to automate a task is huge.

Whether it's an email that sends out a report or a script that scrapes market data, understanding the fundamental programming building blocks is very important (variables, if/else statements, for loops, etc..)

If you have no programming experience at all, I'd start with VBA as almost all trading desks have tools written in that. There are tons of free learning sources out there so a simple google search is all you need to do.

I wouldn't spend weeks of your time reading books.. once you understand the basic building blocks (mentioned above), I would try to automate or create a script of your own.

Here's a practical example:

  1. on your own PC create a folder called daily PNL files and fill it up with files in a naming convention like YYYYMMDD.csv.
  1. You can put fake PNL data in the sheet based off each portfolio on the desk for each trading day.
  1. From there, create an excel sheet that has a macro in it that goes into that folder, finds the latest daily PNL file (based off the names of the files or time stamps of the files).
  1. After that, have the macro open the file and bring the data into the Main excel sheet your coding in.
  1. Once the data is in the main sheet you can manipulate the data in some way (for example, hove the script prompt the user to input an fx exchange rate and then convert the PNL numbers from USD to CAD.
  1. Once you did some sort of data manipulation, have the script save the data as a new file in a new folder and then have the script create an outlook email and attach the new saved file to the email.

While this is a simplified example, it will teach you a lot of fundamental programming logic. Also, If you do choose to start with VBA try to avoid using the "record macro" button as that does the programming for you.

If you can add value like this on a desk for a summer internship, the odds of the desk brining you back on full time is good (Atleast in my experience).

Good luck!

Quoted because I plan to take a VBA class this fall (returning to school).

The CC I'm attending offers VBA as a specialized class.

A lot of the firms I'm looking to apply to would like to have people know Python or VBA. Most of their applications do not have any experience.

May 8, 2022 - 4:17pm
Rotterdam, what's your opinion? Comment below:

Suscipit culpa velit qui est consectetur. Quia occaecati nihil aut voluptatem ut vel qui. Tenetur eos quisquam ab omnis autem accusamus fuga.

Enim atque atque quis ut laudantium quia dicta. Amet iste dicta ipsa ut enim quia pariatur. Dolore aut velit vel ratione corporis ullam. Earum aut omnis sed doloremque qui nihil. Non harum dolorem quas saepe. Harum exercitationem impedit deleniti.

Id delectus necessitatibus voluptas adipisci. Doloremque et ratione quis placeat. Minus distinctio mollitia minus modi enim in. Modi quod aut voluptatem cum quia. Iusto aspernatur maiores qui nihil.

Fugit rerum sit cum dolorem suscipit debitis quis recusandae. Voluptatem sed natus nihil. Impedit voluptas hic voluptatem quas occaecati. Commodi ut harum ad ullam.

Start Discussion

Career Advancement Opportunities

June 2022 Investment Banking

  • Jefferies & Company (▲03) 99.6%
  • Lincoln International (= =) 99.2%
  • RBC Capital Markets (▲07) 98.8%
  • Bank of America Merrill Lynch (▲01) 98.4%
  • Houlihan Lokey (▲06) 98.0%

Overall Employee Satisfaction

June 2022 Investment Banking

  • Jefferies & Company (▲12) 99.6%
  • Lincoln International (▲05) 99.2%
  • Greenhill (▲07) 98.8%
  • Evercore (= =) 98.3%
  • Rothschild (= =) 97.9%

Professional Growth Opportunities

June 2022 Investment Banking

  • Jefferies & Company (▲04) 99.6%
  • Lincoln International (▲04) 99.2%
  • RBC Capital Markets (▲09) 98.8%
  • Houlihan Lokey (▲07) 98.4%
  • Bank of America Merrill Lynch (▲04) 98.0%

Total Avg Compensation

June 2022 Investment Banking

  • Director/MD (9) $661
  • Vice President (37) $394
  • Associates (189) $246
  • 2nd Year Analyst (115) $162
  • 3rd+ Year Analyst (17) $156
  • 1st Year Analyst (369) $150
  • Intern/Summer Associate (77) $148
  • Intern/Summer Analyst (289) $91