Spring Week is a chance for students to gain an insight into what it’s like for a technologist to work in a world-leading financial services firm. A job at J.P. Morgan is challenging, so each day you’ll stretch your abilities and develop new skills. With this in mind, after three days the students were asked to prove themselves in a financial coding challenge.
After a short brief on stock options the task at hand was to write an option price calculator and later extend it to calculate the implied volatility, an important metric for traders around the world that changes with the stock price, which can be several times per second!
In the final challenge, speed became an important factor when the applications had to subscribe to the same type of data an exchange might publish, with a range of stock and option prices being quoted every second. The teams had to use that data and their previous solution to calculate and publish the implied volatility for a range of options in real-time.
Given the choice of using various programming language, the teams quickly split in to two camps: Java and Python. Java has always been a popular programming language among computer science students, but it was refreshing to see Python being used as well. Python is a scripting language that has become very popular in recent years not only in the scientific community, but also within finance.
Approaches varied; teams made use of thread pools, experimented with numerical techniques, and implemented different languages. While we were impressed with the breadth of knowledge demonstrated by all the teams; the teams that did the best were using Python and made good use of the powerful technique for solving equations, the Newton-Raphson formula. They even had plans for re-writing the calculation in C++ for a speed-up. A good realisation, considering that is what we actually do here at the bank.
Although in the end, it is not just about having the fastest solution or submitting first.
Communication is key. Being able to share your ideas and reasoning in a clear and precise manner adds a lot of value to any project. That meant the final presentation in the coding challenge played a big part, and throughout we were looking at how students divided the work and how people with different backgrounds were able to utilise their strengths to complement each other. That is what makes a winning team.
Jamie and Niklas
Spring Week in Technology Mentors
Are you interested in a career with JP Morgan? Click here to apply for vacancies.