{ "cells": [ { "cell_type": "markdown", "id": "f9a03aeb", "metadata": {}, "source": [ "## Introduction\n", "\n", "We saw some monthly auto-correlation in volatility [here](/posts/autocorrelation-volatility). Let us try to create a strategy out of it and see if it holds an edge. Our strategy is to hold the stock when the volatility is low.\n", "\n", "## Strategy\n", "\n", "1. Calculate the monthly volatility of the stock\n", "2. Calculate the 12-period rolling monthly volatility\n", "3. If the present month volatility is less than the rolling volatilty, hold the stock\n", "\n", "Volatility is simply the standard deviation of the daily returns\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "b96352c9-c673-4527-90a0-830809902fd4", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "sns.set()\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "d2bba534-d0f7-4a74-9ebf-8d216c9e6b58", "metadata": {}, "outputs": [], "source": [ "df = pd.read_csv('/home/pi/data/sp500.csv', parse_dates=['Date']).rename(\n", "columns = lambda x:x.lower()).sort_values(by='date').set_index('date')\n", "df['ret'] = df.close.pct_change()" ] }, { "cell_type": "markdown", "id": "72a61f3f-740b-42f9-a9ef-ce3d0fa12aa1", "metadata": {}, "source": [ "The following two functions \n", " * generate the returns and then \n", " * plots the cumulative returns based on each signal\n", " \n", "signal 1 means that last month volatility is more than the moving average of the 12 month volatility while signal 0 indicates the volatility is less than the average. All denotes holding the stock all the period. So,\n", " * 1 denotes more volatility\n", " * 0 denotes less volatility" ] }, { "cell_type": "code", "execution_count": 3, "id": "c19293d9-d964-4906-a958-90bc81b6d1a1", "metadata": {}, "outputs": [], "source": [ "def generate_returns_table(data, freq='M'):\n", " \"\"\"\n", " Generate the returns dataframe\n", " data\n", " Daily data\n", " freq\n", " frequency as pandas string\n", " \"\"\"\n", " monthly_returns = data.resample(freq).close.ohlc().close.pct_change()\n", " monthly_volatility = data.resample(freq).ret.std()\n", " df2 = pd.DataFrame({\n", " 'returns': monthly_returns,\n", " 'volatility': monthly_volatility\n", " }).dropna()\n", " df2['rolling_vol'] = df2.volatility.rolling(12).median()\n", " df2['signal'] = df2.eval('(volatility>rolling_vol)+0').shift(1)\n", " return df2\n", "\n", "def plot_strategy(data, column='signal'):\n", " \"\"\"\n", " Plot the returns based on signal\n", " data\n", " dataframe with returns\n", " column\n", " column containing the signal\n", " \"\"\"\n", " collect = []\n", " d = data.copy()\n", " d['name'] = 'all'\n", " d['cum_returns'] = d.eval('1+returns').cumprod() \n", " collect.append(d)\n", " grouped = d.groupby(column)\n", " for name, group in grouped:\n", " group['name'] = name\n", " group['cum_returns'] = group.eval('1+returns').cumprod()\n", " collect.append(group)\n", " tmp = pd.concat(collect).reset_index()\n", " return sns.lineplot(x='date', y='cum_returns', hue='name', data=tmp)" ] }, { "cell_type": "code", "execution_count": 4, "id": "9bb4ca82-868f-4dee-bc04-44a98f5744e6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
countmeanstdmin25%50%75%max
signal
0.0148.00.0074050.035204-0.085962-0.0151880.0114490.0286900.107546
1.0114.00.0029980.052159-0.169425-0.0252010.0092280.0355040.126844
\n", "
" ], "text/plain": [ " count mean std min 25% 50% 75% \\\n", "signal \n", "0.0 148.0 0.007405 0.035204 -0.085962 -0.015188 0.011449 0.028690 \n", "1.0 114.0 0.002998 0.052159 -0.169425 -0.025201 0.009228 0.035504 \n", "\n", " max \n", "signal \n", "0.0 0.107546 \n", "1.0 0.126844 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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UFhYiKIovP/++8ycOdNT4QiCIAgX4dEawuOPP87dd9/NjTfeyHXXXceQIUN46KGHOHLkCEFBQTz77LM8+uijXHvttSiKwn333eepcARBEISLkJS2Gvv7CPEM4VyifH3X5Vw2EOXrDXrsGYIgCILQt4iEIAiCIAAiIQiCIAin9Ol+nipV56Z76Ox5fYUoX991OZcNRPl62sXi69MPlQVBEISuI5qMBEEQBEAkBEEQBOEUkRAEQRAEQCQEQRAE4RSREARBEARAJARBEAThFJEQBEEQBEAkBEEQBOEUkRAEQRAE4DJJCEuXLmXu3LnMnTuXl156CYDt27dz/fXXc8011/Daa6+1HJuRkcHNN9/MrFmzePrpp3E6nYB7Bbc777yTa6+9lkcffRSLxdIjZWlLV5TvtGPHjjFo0KBujf9iuqJ8RUVF3HnnncybN48f//jHFBcX90hZ2tKR8p22aNEiPv3005bX+/bt4+abb2bevHncc889vaZ8XVG2iooKfvKTn3DjjTeyYMECioqKui3+i+lI+datW8e8efO44YYbeOyxx6ivrwd692fLOZQ+btu2bcptt92m2Gw2xW63K3fffbeyevVqZcqUKUpBQYHicDiU+++/X9m0aZOiKIoyd+5c5cCBA4qiKMpvf/tb5f3331cURVF+8pOfKF9++aWiKIqydOlS5aWXXuqR8vxQV5VPURSlqalJue2225Tk5OSeKEqbuqp8v/nNb1q+fu+995Rf//rXPVKeH+po+crKypSHH35YGTJkiLJy5cqW60ydOlXJyMhQFEVRPv74Y+WRRx7pkfKcravKds899yjLly9XFEVRli9frvziF7/oieKcoyPla2xsVCZMmKCUlZUpiqIof/3rX5U//elPiqL03s+WtvT5GoLJZGLx4sXodDq0Wi0JCQnk5+cTFxdHTEwMGo2G66+/njVr1lBcXIzVamXYsGEAzJ8/nzVr1uBwONizZw+zZs1qtb036IrynfbCCy9w77339kxBzqOryifLMmazGYDm5mYMBkNPFamVjpQPYPXq1UyfPp3Zs2e3XMNut/OLX/yC1NRUAFJSUigtLe2R8pytK8pWU1PD8ePHWbBgAQA333wzv/zlL3uiOOfoSPkcDgd/+MMfCAsLA878jHrzZ0tb+nxCSEpKavmAyM/P5+uvv0aSJEwmU8sxoaGhlJeXU1FR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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "strategy = generate_returns_table(df)\n", "plot_strategy(strategy)\n", "strategy.groupby('signal').returns.describe()" ] }, { "cell_type": "markdown", "id": "22f896f4-e7d1-4dd9-939f-6403d6c78127", "metadata": {}, "source": [ "There seems to be an edge here. A signal of 0, lower volatility, generates better returns at a lesser risk. But the optimal thing to do, by looking at the cumulative returns chart, is to stay invested all the time as it gives the maximum total returns. \n", "\n", "Let us try doing this on a quarterly basis. Instead of calculating the monthly volatility, calculate the quarterly volatility and apply the same algorithm" ] }, { "cell_type": "code", "execution_count": 5, "id": "2e25f5bd-6cd7-46f3-9a25-bffa0181e35e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
countmeanstdmin25%50%75%max
signal
0.053.00.0010430.076472-0.200011-0.0230180.0129900.0542210.116419
1.034.00.0399760.087841-0.2255820.0052070.0492720.1017340.199529
\n", "
" ], "text/plain": [ " count mean std min 25% 50% 75% \\\n", "signal \n", "0.0 53.0 0.001043 0.076472 -0.200011 -0.023018 0.012990 0.054221 \n", "1.0 34.0 0.039976 0.087841 -0.225582 0.005207 0.049272 0.101734 \n", "\n", " max \n", "signal \n", "0.0 0.116419 \n", "1.0 0.199529 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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ly9fLr/88steKc+F2qp8sizLdXV18m233Sb37NnTG0VpUluV73e/+5379XvvvSf/9re/9Up5LtTa8hUVFckPPPCA3L9/f3n16tXu80ycOFFOT0+XZVmWP/nkE/nBBx/0Snku1Fblu+uuu+SVK1fKsizLK1eulB999FFvFKeR1pSvtrZWHj16tFxUVCTLsiz/7W9/k5999llZljvu9aU5PvuEYDAYeOqpp9BoNKjVarp3705WVhaJiYl06dIFlUrFzJkzWbduHfn5+VgsFgYOHAjA3LlzWbduHXa7nb179zJt2rQG2zuCtijfOS+++CJ33323dwrSjLYqn8vlwmg0AmA2m9HpdN4qUgOtKR/A2rVrmTx5Mtddd537HDabjUcffZSUlBQAevXqRWFhoVfKc6G2KF9FRQUZGRnMmzcPgJtuuonf/OY33ihOI60pn91u589//jNRUVHA+X+njnx9aY7PJoQePXq4LxBZWVl88803SJLUaB3n4uLiRus7GwwGiouLqaysJCAgwL1S27ntHUFblA9g06ZNWCwWpk+f3q7xX0pble/RRx/l3XffZezYsbzzzjvcf//97VqO5rSmfAALFy7klltuaXAOjUbDrFmzgPrEt3z5cqZMmdI+BbiEtihfbm4usbGx/L//9/+48cYbWbRoEWq1ut3KcDGtKV9oaKj738VisfDWW28xZcqUDn19aY7PJoRzTp48yb333svixYtJSEhotF+SpGbXd25ue0dyJeUrLS3lH//4B08//XR7hHpZrqR8UF8nvWzZMrZv384zzzzDr371qyaP95aWlO9SbDYbv/vd73A4HDzwwAOeCPOyXUn5HA4Hx44dY9SoUXz55ZdMnjyZp556ypPhtlpryldbW8v9999PSkoKc+bM8Ynry4V8OiHs37+fu+++m9/+9rfMmTOn2XWcL9xeWlpKZGQkYWFhGI1GnE5ng+0dxZWWb+vWrVRVVbkbXQFmzZrlrmLxtistX0VFBZmZme67s2nTplFaWkplZWW7l6UpLS3fxZhMJhYuXIjD4eAf//hHh7mDhisvn8FgwN/fn4kTJwJwww03cPjwYY/H3VKtKV9JSQl33HEHKSkpPP/88wAd/vrSFJ9NCIWFhTzyyCO88sorzJgxA4ABAwZw5swZsrOzcTqdfPXVV4wbN464uDi0Wi379+8HYM2aNYwbNw61Ws3QoUP55ptvGmzvCNqifLfccgsbN27kiy++4IsvvgDgiy++ICCg+RWT2ktblC80NBStVsu+ffuA+l9gf39/wsLCvFauc1pTvot54oknSExM5PXXX0ej0bRH6C3SFuVLSEggKiqKbdu2AbBlyxZSU1PbJf5LaU35nE4nDz74INdddx1/+MMf3E8BHfn60hyfXSDnueeeY/Xq1Q0e4+bNm0dSUhIvvPACVquV8ePH8/vf/x5JksjIyGDp0qWYTCb69OnDCy+8gEajIT8/n6eeeory8nJiYmJ49dVXCQ4O9mLJ6rVV+X6uV69eHD9+vL2L0qS2Kt/hw4d59tlnsVgs+Pv788c//pE+ffp4sWT1Wlu+c5566imGDRvG3LlzOXbsGHPmzCE5OdldDx0ZGcmKFSvavTwXaovyAWRmZvKnP/3JXd/+4osvkpSU1N7FaaQ15du4cSO//vWv6dWrl/vYvn378vzzz3fY60tzfDYhCIIgCG3LZ6uMBEEQhLYlEoIgCIIAiIQgCIIgnCUSgiAIggCIhCAIgiCcJRKCIFyGdevW8Ytf/OKixyxfvpyNGze2U0SCcOVEQhAED/nxxx8bTUMuCB2ZytsBCIKveP3111m7di0hISEkJiYCcObMGZYtW0ZdXR0lJSWkpKTwt7/9jU8//ZS0tDRefvlllEol48eP55VXXmHv3r04nU769OnD0qVLO8SocUE4RzwhCEILbNy4kfXr17NmzRo++ugj93xQq1atYvbs2Xz88cesX7+evLw8tm7dyvz58+nbty9PPvkkU6dO5a233kKpVPLZZ5/x5ZdfEhkZySuvvOLlUglCQ+IJQRBaYPfu3UydOtV9R3/TTTfx/vvv88QTT7Bz505WrFhBVlYWJSUl1NXVNfr81q1bqa2tZdeuXQDY7XbCw8PbtQyCcCkiIQhCC1w4DbdSqQTg8ccfx+l0ct111zFhwgQKCwubnPbY5XKxZMkSxo8fD9TPYmq1WtsneEFoIVFlJAgtMHbsWNatW0dNTQ0ul8s9e+yOHTt45JFHuP7665EkiUOHDrmnO1Yqle5G5TFjxvDBBx9gs9lwuVw8/fTTvPrqq14rjyA0RTwhCEILjB8/nuPHj3PTTTcRFBRESkoKlZWVPPbYYzzyyCMEBwej1+u55ppryMnJAWDixIm89NJL2O12Hn74YV566SXmzJmD0+mkd+/eHW4xGEEQs50KgiAIgKgyEgRBEM4SCUEQBEEAREIQBEEQzhIJQRAEQQBEQhAEQRDOEglBEARBAERCEARBEM4SCUEQBEEA4P8DxDuhKVcUMLAAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "strategy = generate_returns_table(df, freq='Q')\n", "plot_strategy(strategy)\n", "strategy.groupby('signal').returns.describe()" ] }, { "cell_type": "markdown", "id": "12e9cbe7-93ab-4ca0-8d7d-b9913e75bec4", "metadata": {}, "source": [ "From the cumulative returns chart, it looks that investing when the signal is 1, during higher volatility, looks better than staying invested all the time. This is in contrast with what is observed when we used monthly frequency, which needs to be investigated further.\n", "\n", "You can try different frequencies and different instruments by cloning this notebook\n", "\n", "
\n", " Transaction costs and slippage not included. Also the result doesn't resemble an exact portfolio.\n", "
\n", "\n", "
\n", " I have not tested for statistical significance for these results, which is important.\n", " These are only raw results\n", "
" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.2" }, "nikola": { "category": "volatility", "date": "2021-12-06 09:21:50 UTC", "description": "", "link": "", "slug": "a-simple-strategy-based-on-autocorrelation-in-volatility", "tags": "volatility,strategy,correlation", "title": "A simple strategy based on autocorrelation in volatility", "type": "text" } }, "nbformat": 4, "nbformat_minor": 5 }