Author: Tom Starke

AI, Quantitative Analysis and Data Science Solutions for Finance and Manufacturing.

AI For Trading: What Could Possibly Go Wrong?

Note: the following post is purely to illustrate how to avoid pitfalls in trading. My motivation for this post was to give an example of mistakes that I have made myself all too often and I can fully appreciate how one would come to those conclusions. I’m sure that the authors are excellent in machine…
Read more


March 23, 2018 0

Quant Basics 10: Performance Prediction With Machine Learning

In the previous post we plotted a response surface of our strategy parameters and their PnL in order to assess if our choice of parameters is rational and not just a local maxima, which rapidly drops off as we move away from it. In this section we investigate how we can use machine learning to…
Read more


October 1, 2017 11

Quant Basics 9: Plotting A Response Surface

In the last section we looked at bootstrapping by random sampling one of our best strategy PnL curves in order to determine how stable and reliable the returns are. In this section we will look at the response surface of the returns, that is the PnL with respect to the underlying parameters. In our case…
Read more


September 21, 2017 0

Quant Basics 8: Bootstrapping and Response Surface

In the last section we investigated how the strategies we’ve selected from our train-test cluster were distributed in the parameter plot. We saw that they form a dense cluster in that plot which indicates that the PnL’s we see are not a result of overfitting since we would expect them to be more randomly distributed.…
Read more


September 20, 2017 0

Monte Carlo Options Pricing in Two Lines of Python

This is an old video that I produced sitting on my bed in the morning in order to learn how to make basic Youtube videos. Nevertheless, I became quite popular. I apologise for looking a bit rough. Hope you enjoy it regardless. Here is the code: If that seems a bit complex, check out the…
Read more


September 1, 2017 0

Quant Basics 7: Identify Best Parameters

In the previous post we used unsupervised machine learning to identify the best cluster of train-test results. The question is: is that cluster meaningful? If the parameters of the moving averages for the cluster are scattered evenly over the parameter space, this cluster may not be very meaningful. On the other hand, if the parameters…
Read more


August 31, 2017 0

Quant Basics 6: Start With Machine Learning

In the previous section we ran a parameter sweep over the train and the test set of our strategy and looked at the average PnL. In this post we will start with system parameter permutation (SPP) in order to improve the performance of our system without falling prey to data mining bias. Remember that we…
Read more


August 28, 2017 0

Quant Basics 5: Parameter Sweep

Introduction In the last section we ran a single backtest. However, for our strategy to work we should optimise our strategy parameters. If we blindly run through a large set of parameters and then pick the best one we are very likely to fall for an issue called Data Mining Bias. This means that if…
Read more


August 25, 2017 0

Quant Basics 4: Analysing A Single Backtest

In the previous posts we have downloaded market data, developed a vectorised backtest and calculated PnL, Sharpe ratio and drawdown. In this post we will set up, run and analyse a single backtest. This is the basis for running parameter sweeps and optimisations with hundreds or thousands of backtests. So, let’s set some important parameters…
Read more


August 24, 2017 5

Quant Basics 3: Sharpe and Drawdown

Sharpe Ratio In the previous sections of Quant Basics we looked at producing data sources and how to write a vectorised backtest. We also calculated our first metric – PnL and tested its functionality. In this section we will add two more metrics that are very important for strategy evaluation: Sharpe ratio and drawdown. Let’s…
Read more


August 19, 2017 0