Synthetic ETF Data Generation (Part-2) - Gaussian Mixture Models

Synthetic ETF Data Generation (Part-2) - Gaussian Mixture Models

This post is a summary of a more detailed Jupyter (IPython) notebook where I demonstrate a method of using Python, Scikit-Learn and Gaussian Mixture Models to generate realistic looking return series. In this post we will compare real ETF returns versus synthetic realizations.

Read More

A Dead Simple 2-Asset Portfolio that Crushes the S&P500 (Part 4)

A Dead Simple 2-Asset Portfolio that Crushes the S&P500 (Part 4)

Introduction

In this blog post we will review the simulated performances of a few UPRO/TMF strategy implementations using the Quantconnect platform. If you’re not familiar with the platform, it is an algorithmic trading platform that provides backtesting and live trading across of variety of asset classes including: equities, futures, forex, options, and cryptocurrencies. I like using the platform because of the access to a large number of asset classes, the development team is responsive and you can code strategies in Python (even though the underlying platform is built in C). The strategies’ performances are evaluated using pyfolio and ffn. Note that in some cases their calculations are slightly different.

Read More

A Dead Simple 2-Asset Portfolio that Crushes the S&P500 (Part 3)

A Dead Simple 2-Asset Portfolio that Crushes the S&P500 (Part 3)

Recap

This is an update to the original blog series that explored a simple strategy of being long UPRO and TMF in equal weight, inverse volatility and inverse-inverse volatility. This strategy crushed the cumulative and risk-adjusted returns of the benchmark SPY etf. However through our research we determined that this strategy is heavily dependent on the correlation between the two assets. This strategy works best when correlations are positive and prices are trending positively, however, theoretically it is most stable when correlations are negative. Previously we determined the strategy is most exposed when correlations are positive or rising and prices are declining. The problem is that we don’t know ex-ante if, during periods of increasing correlations, prices will trend up or down, which exposes our capital to large risks. In the past I eluded to a potential workable solution to this issue. In this blog post and associated materials we will explore some potential solutions to this problem.

Read More

Synthetic Data Generation (Part-1) - Block Bootstrapping

Synthetic Data Generation (Part-1) - Block Bootstrapping

Introduction

Data is at the core of quantitative research. The problem is history only has one path. Thus we are limited in our studies by the single historical path that a particular asset has taken. In order to gather more data, more asset data is collected and at higher and higher resolutions, however the main problem still exists; one historical path for each asset.

Read More