My name is Pontus and I'm a final year MSc-student in Financial Mathematics at KTH - Royal Institute of Technology including exchange studies at National University of Singapore (NUS), summer studies at Copenhagen Business School (CBS) and a completed BSc in Industrial Engineering & Management from KTH. Selected coursework include Portfolio Theory & Risk Management, Quantitative Finance, Machine Learning, Language Engineering, Probability Theory, Applied Computer Science, Regression Analysis, Game Theory and Markov Processes.
Relevant professional experience includes Junior Quantitative Analyst @ Söderberg & Partners building and maintaining quantitative models for money market, fixed income and equity funds using Python (pandas, numpy, scikit-learn), SQL and VBA. I've also worked as Visiting Associate @ BCG Platinion (tech/IT-consulting internship) and Intern/Business Developer @ If P&C Insurance in commerical pricing where I analyzed claims data to assess, model and price commerical property risk using SQL & SAS as well as building dashboards for portfolio follow-up in PowerBI using DAX and PowerQuery.
- Programming experience in Python, SQL, VBA and R with some experience in MATLAB, JavaScript and C/C++.
- Main areas of interest are 📊Quantitative Finance, 🤖Machine Learning & AI, ⚙️Algorithms and 🧮Statistics
💡 Click the links to explore my previous projects within different areas and coding languages!
Momentum coefficient over time for singlefactor model
In this bachelor thesis, me and my thesis partner Hugo Brunlid explored the kurtosis of momentum, and 'momentum crashes' both from 2008 as discussed in previous research but also in the light of recent covid-19 stock crash. This is done both using a singlefactor model split by Morningstar Category (based on style and size orienation) and also a multifactor model that in addition to momentum (excess past returns) incorporates size orientation, style orientation and management fee as independent variables used to predict excess future returns.
Portfolios of mutual funds sorted on lagged one-year return, bachelor thesis to the left (data from 2020-2023), Carhart 1997 to the right (data from 1962-1987)
We could conclude that findings of predictive power and longevity of momentum by Carhart are valid still today although impact of size & style factors have significantly changed since Carhart Four-Factor model was first presented in 1997.
- 💻 Languages: Python (pandas, numpy, scikit-learn, jupyter notebook)
- 🔑 Keywords: Momentum, Carhart Four-Factor Model, Multifactor Model, Momentum Crashes
In this project Binomial Model, Black Scholes and Longstaff Schwart's are implemented to calculate prices of both European and American options. For European options, a number of trading strategies are implemented, showcasing their respective payoff functions:
Bear Put Spread (left) and Long Call Butterfly Spread (right)
Unlike European options, American options have no well-known pricing models with closed-form solutions and instead Brownian Motion is used to simulate a sample of outcomes for which Longstaff Schwart's method can be used to calculate current price of American options.
Example of GBM (Geometric Brownian Motion) outcomes
- 💻 Languages: Python (pandas, numpy, scipy, matplotlib, jupyter notebook)
- 🔑 Keywords: European Options, American Options, Binomial Model, Black-Scholes, Longstaff Schwartz
Left: Backtracking Algorithm. Right: Crook's Algorithm
In this project I have implemented different algorithms (bruteforce, backtracking, candidate checking, placefinding, and Crook's algorithm) for solving sudokus to test both their speed, accuracy, and solving ability. This is done both in Python and C to build the most efficient and quickest algorithms. While backtracking algorithm is fast and reliable to solve all sudokus, it has lower accuracy (a lot of wrong tries before reaching the correct solution). Instead, more human-like algorithms such as the pen-and-paper based Crook's Algorithm can compete on similar level in terms of speed and solving ability but with perfect accuracy (only inputting a number if it is correct).'
- 💻 Languages: Python, C
- 🔑 Keywords: Bruteforce, backtracking, candidate checking, placefinding, and Crook's algorithm
- 📈 Stock Retrieving and processing historic stock data in Python (yfinance), which can then be used for other projects. Model future stock prices and possible outcomes with Brownian Motion
- ♻️ ESG/SBTi The effect of ESG-score and SBTi on financial performance for US stocks, coded in R
- 🐶 CNN Convolutional neural network (CNN) implemented in PyTorch for image classification on the CIFAR-10 dataset, and compared to pre-trained AlexNet model
- 🌻 Image classification Image classification on Iris Flower dataset using 5 different machine learning methods in Scikit-learn (Decision Tree, Support Vector Machine, Random Forest, Naive Bayes and K-nearest neighbour). Implementing Guassian Mixture Model and K-means Algorithm from scratch
- 2️⃣ SVM Support Vector Machine (SVM) both with soft margins and kernel (linear, poly and gaussian) for classifying handwritten numbers in MINST dataset.
- 🗂️ Sorting algorithms 8 of the most common sorting algorithms implemented in C, and compared based on time complexity
- 🎲 Risk game Estimate winning probabilities for board game Risk using Markov Chains and Monte-Carlo simulations
- 🌡️ Global temperatures Studying increasing global temperatures with regression analysis of emission-based variables in R.
- 🔍 Logistic regression Logistic regression with gradient descent and stochastic gradient descent implemented from scratch using PyTorch.
Other
- 🖼️ Image processing Image processing tools built from scratch in JavaScript for blurring, mirroring, zooming and greyscaling images
- 📝 CV template CV template in LaTeX to create well-formatted and modular CV (add and order experiences without need for reformatting)