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. 

 

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

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!

 

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.

 

Omnis perspiciatis molestiae velit ipsa. Nobis quas molestiae rerum.

Qui quam laudantium velit. Enim provident dolorum qui. At ut saepe repudiandae laborum. Explicabo omnis voluptas sit consequatur.

Qui perspiciatis possimus rerum repellendus voluptate voluptas. Qui provident aspernatur accusantium et. Corrupti officia dolores odio dolorem. Minus quia ullam deleniti est illo. Ut dolores unde occaecati repudiandae rerum voluptas maxime rem. Consequatur aut suscipit iure.

Career Advancement Opportunities

March 2024 Investment Banking

  • Jefferies & Company 02 99.4%
  • Goldman Sachs 19 98.8%
  • Harris Williams & Co. (++) 98.3%
  • Lazard Freres 02 97.7%
  • JPMorgan Chase 03 97.1%

Overall Employee Satisfaction

March 2024 Investment Banking

  • Harris Williams & Co. 18 99.4%
  • JPMorgan Chase 10 98.8%
  • Lazard Freres 05 98.3%
  • Morgan Stanley 07 97.7%
  • William Blair 03 97.1%

Professional Growth Opportunities

March 2024 Investment Banking

  • Lazard Freres 01 99.4%
  • Jefferies & Company 02 98.8%
  • Goldman Sachs 17 98.3%
  • Moelis & Company 07 97.7%
  • JPMorgan Chase 05 97.1%

Total Avg Compensation

March 2024 Investment Banking

  • Director/MD (5) $648
  • Vice President (19) $385
  • Associates (86) $261
  • 3rd+ Year Analyst (13) $181
  • Intern/Summer Associate (33) $170
  • 2nd Year Analyst (66) $168
  • 1st Year Analyst (202) $159
  • Intern/Summer Analyst (144) $101
notes
16 IB Interviews Notes

“... there’s no excuse to not take advantage of the resources out there available to you. Best value for your $ are the...”

Leaderboard

1
redever's picture
redever
99.2
2
Secyh62's picture
Secyh62
99.0
3
Betsy Massar's picture
Betsy Massar
99.0
4
BankonBanking's picture
BankonBanking
99.0
5
dosk17's picture
dosk17
98.9
6
DrApeman's picture
DrApeman
98.9
7
kanon's picture
kanon
98.9
8
CompBanker's picture
CompBanker
98.9
9
GameTheory's picture
GameTheory
98.9
10
Jamoldo's picture
Jamoldo
98.8
success
From 10 rejections to 1 dream investment banking internship

“... I believe it was the single biggest reason why I ended up with an offer...”