If you’re interviewing for an investment banking analyst or junior trading job at JPMorgan, and you don’t know how to code in Python, you should probably fix that as soon as possible. As with most banks, JPMorgan wants to hire bankers and traders who can code, and, when necessary, it will train those who can’t.
But even if you’re not interested in financial services as a career path, you can still rely on JPMorgan’s generosity to learn Python, which is one of the most ubiquitous and fastest-growing programming languages in business. That’s because the Python training modules JPMorgan uses for its existing analysts and traders are freely accessible on Github, where they were placed by Tim Paine, a developer in the company’s New York office who’s been working on products such as an artificial intelligence engine for the fashion industry in his spare time.
There are a few downsides. The Github pages aren’t new (Paine last added to them in mid-2019) but they’re still relevant, particularly if you’re applying for JPMorgan’s graduate roles in 2021 (or you just want to learn some Python). The material on those pages is also meant to be used in conjunction with an instructor; as a result, you might struggle if you know nothing about Python. But at least you’ll have an idea of what JPMorgan wants its analysts and traders to know in terms of the language?
Paine starts out with a post on the rules of writing effective and simple code that’s easy to read. Titled the ‘Zen of Python,’ it states (among other things) that:
- Simple is better than complex.
- Complex is better than complicated.
- Flat is better than nested.
- Sparse is better than dense.
Those are some great, generalized rules for coding. If you can’t explain your code implementation, Paine suggests you have an issue. His training documents are peppered with examples of the right and wrong ways of doing things (e.g., don’t sacrifice readability for performance reasons; make sure you add comments to explain the code; and so on), and he emphasizes the need to store changes to your files and folders in a version control system (probably Github itself) that allows you to see previous iterations.
Other bits of Paine’s Python wisdom:
- How to write unit tests (tests that check whether a unit in your program is behaving as expected).
- Basic use of Jupyter notebooks.
- How to write a function that will price an at-the-money forward (ATMF) straddle.
- How to compute the Mandelbrot set.
- How to use Pandas and Plotly to create a yield curve chart.
- How to use Plotly to create a three-dimensional chart showing volatility and high yield bond ETF prices.
If you work your way through Paine’s pages, you won’t be an expert developer quite yet. But then again, that isn’t the intention. Paine describes the course as “an introduction to numerical computing and data visualization in Python,” and “a motivational demonstration of how relatively complex topics can be accessible even to those without formal programming backgrounds.” If you want to learn Python, by all means give it a look.
A modified version of this article originally appeared in eFinancialCareers.