{ "cells": [ { "cell_type": "raw", "metadata": {}, "source": [ "\n", "
\n", "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# How (Not) to Invest II - The RSI and Stochastic Oscillator\n", "Momentum trading is an interesting approach to short-term trading. It involves a *\"strategy to capitalize on the continuance of an existing market trend...(by)...going long stocks, futures, or market ETFs showing upward-trending prices and short the respective assets with downward-trending prices\"* ([Investopedia](https://www.investopedia.com/terms/m/momentum_investing.asp)). Two classic indicators of momentum are the Relative Strength Index (RSI) and the Stochastic Oscillator (STO). In this post, I evaluate the effectiveness of simple RSI and STO trading strategies. \n", " \n", "# Meet the Indicators\n", " \n", "## Relative Strength Index (RSI)\n", "The RSI is a momentum oscillator that measures the speed and magnitude of price movements ([StockCharts](https://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:relative_strength_index_rsi)). A nice feature about the RSI is that it is bound between 0 and 100. This enables us to set fixed thresholds to indicate when to buy a stock (because it's oversold) and when to sell a stock (because it's overbought). The RSI has three parameters: \n", " \n", "1. **Lookback Period:** This the number of days in the past to calculate gains and losses. The traditional setting is 14 periods. \n", "2. **Oversold Threshold:** This indicates the level at which a stock is considered too low, possibly due to overreaction. In theory, oversold stocks are poised for an upward rebound. The traditional setting is 30.\n", "3. **Overbought Threshold:** This indicates the level at which a stock is considered excessively high. The traditional setting is 70. \n", " \n", "## Stochastic Oscillator (STO)\n", "The STO is also a momentum oscillator, and it measures the relative position of the current closing price within the trading range of the past *n* days. For example, if the trading range in the past 14 days was \\$10 to \\$1000 and the current price is \\$700, then the STO would give a reading of about 70 (out of 100). The parameters are the same as the RSI, except that the traditional oversold threshold is 20 and the traditional overbought threshold is 80. Refer to [StockCharts](https://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:stochastic_oscillator_fast_slow_and_full) for a more detailed description of the STO. \n", " \n", "# Trading Simulation\n", "Next, we run trading simulations to evaluate the effectiveness of the RSI and STO in delivering positive excess returns. \n", " \n", "## Evaluation Metrics\n", "I use two metrics to evaluate the strategies: \n", " \n", "1. **Annualised Returns:** In my [first post](https://chrischow.github.io/dataandstuff/2018-10-28-how-not-to-invest-macd/), I computed the overall returns from MACD-based trading strategies, which resulted in huge variance due to the different time periods used for the various stocks. Thus, in this post, I annualise returns from the RSI/STO trading strategies and the buy-and-hold benchmark. \n", "2. **Percentage of Profitable Trades:** This is simply the Precision metric from my first post, but in simpler terms. It measures the proportion of all trades executed by the RSI/STO strategies that were profitable. \n", " \n", "## Parameters\n", "I tested the following parameters for both the RSI and STO: \n", " \n", "1. **Lookback Period:** 5, 10, 15, and 20\n", "2. **Oversold Threshold:** 10, 20, and 30\n", "3. **Overbought Threshold:** 70, 80, and 90 \n", " \n", "This amounted to 30 configurations per indicator (RSI/STO). \n", " \n", "## Data\n", "We used 493 stocks from the S&P 500 to test the trading strategies. In total, approximately 35,500 simulations were run." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Import required modules\n", "import fix_yahoo_finance as yf\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "from pandas_datareader import data as pdr\n", "from sklearn.linear_model import LinearRegression\n", "import warnings\n", "from yahoo_finance import Share\n", "\n", "# Settings\n", "warnings.filterwarnings('ignore')\n", "\n", "# Override pdr\n", "yf.pdr_override()\n", "\n", "# Import stocklist\n", "sp500 = pd.read_csv('sp500.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Helper Functions" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Function for simple moving average\n", "def sma(x, n = 200):\n", " \n", " # Copy data\n", " df = x.copy()\n", " \n", " # Calculate rolling mean\n", " temp_sma = pd.rolling_mean(df.Close, n)\n", " \n", " # Output\n", " return temp_sma\n", " \n", "# Function for RSI\n", "def rsi(x, n = 14):\n", " \n", " # Copy data\n", " df = x.copy()\n", " \n", " # Calculate difference\n", " df['delta'] = df.Close.diff()\n", " \n", " # Calculate gains and losses\n", " gains = df.delta.copy()\n", " gains[gains < 0] = 0\n", " \n", " losses = df.delta.copy()\n", " losses[losses > 0] = 0\n", " \n", " # Calculate rolling n-day average of gains and losses\n", " avg_gains = pd.rolling_mean(gains, n)\n", " avg_losses = pd.rolling_mean(losses, n).abs()\n", " \n", " # Calculate relative strength\n", " rs = avg_gains / avg_losses\n", " \n", " # Calculate RSI\n", " rsi = 100.0 - (100.0 / (1.0 + rs))\n", " \n", " # Output\n", " return(rsi)\n", "\n", "# Function for Stochastic Oscillator\n", "def stoch(x, n = 14):\n", " \n", " # Copy data\n", " df = x.copy()\n", " \n", " # Calculate %K\n", " stoch_k = ((df.Close - pd.rolling_min(df.Low, n)) / (pd.rolling_max(df.High, n) - pd.rolling_min(df.Low, n))) * 100\n", " \n", " # Output\n", " return stoch_k\n", "\n", "# Function for trading simulations\n", "def sim_trade(close, buy_signal, sell_signal, sma_filter, indicator, bah, verbose = False):\n", " \n", " # Initialise variables\n", " BUY_STATE = 0\n", " BUY_PRICE = 0\n", " PORTFOLIO_VALUE = 100\n", " TRADES = 0\n", " PROFITABLE_TRADES = 0\n", " RETURNS = []\n", " \n", " # Loop through\n", " for i in np.arange(len(close)):\n", " \n", " # Check if stock is trading above SMA-200\n", " if sma_filter.iloc[i]:\n", " \n", " # Check buy state\n", " if BUY_STATE == 0:\n", "\n", " # If buy signal triggered\n", " if buy_signal.iloc[i] == 1:\n", "\n", " # Update buy state\n", " BUY_STATE = 1\n", "\n", " # Save price\n", " BUY_PRICE = close.iloc[i].copy()\n", "\n", " else:\n", "\n", " # If sell signal triggered\n", " if sell_signal.iloc[i] == 1:\n", "\n", " # Update buy state\n", " BUY_STATE = 0\n", " \n", " # Calculate returns\n", " temp_returns = close.iloc[i].copy() / BUY_PRICE\n", " \n", " # Update portfolio value\n", " PORTFOLIO_VALUE = PORTFOLIO_VALUE * temp_returns\n", " \n", " # Append returns\n", " RETURNS.append(temp_returns - 1)\n", "\n", " # Count trades\n", " TRADES += 1\n", "\n", " # Count profitable trades\n", " if close.iloc[i].copy() / BUY_PRICE > 1:\n", "\n", " PROFITABLE_TRADES += 1\n", " \n", " # Compute days\n", " DAYS = len(close)\n", " \n", " # Compute annualised returns\n", " ANN_BAH = (1 + bah / 100) ** (250 / DAYS) - 1\n", " ANN_IND = (PORTFOLIO_VALUE / 100) ** (250 / DAYS) - 1\n", " \n", " \n", " # Print\n", " if verbose:\n", " print(indicator + ' Returns (Total): ' + '{0:.2f}%'.format(PORTFOLIO_VALUE - 100))\n", " print(indicator + ' Excess Returns (Total): ' + '{0:.2f}%'.format(PORTFOLIO_VALUE - 100 - bah))\n", " print(indicator + ' Returns (Annualised): ' + '{0:.2f}%'.format(ANN_IND * 100))\n", " print(indicator + ' Excess Returns (Annualised): ' + '{0:.2f}%'.format(ANN_IND * 100 - ANN_BAH * 100))\n", " print(indicator + ' Mean Returns: ' + '{0:.2f}%'.format(np.mean(RETURNS) * 100))\n", " print(indicator + ' SD Returns: ' + '{0:.2f}%'.format(np.std(RETURNS) * 100))\n", " print(indicator + ' Trades: ' + str(TRADES))\n", " print(indicator + ' % Profitable: ' + '{0:.2f}%'.format(PROFITABLE_TRADES / TRADES * 100))\n", " print()\n", " \n", " # Output\n", " return [PORTFOLIO_VALUE - 100, PORTFOLIO_VALUE - 100 - bah, np.mean(RETURNS) * 100, np.std(RETURNS) * 100,\n", " TRADES, PROFITABLE_TRADES, DAYS, ANN_IND * 100, ANN_BAH * 100, bah]\n", "\n", "# Function to test configurations\n", "def sim_config(stock, all_n = [5, 10, 15, 20], lower = [10, 20, 30], upper = [70, 80, 90]):\n", " \n", " # Initialise list\n", " output = []\n", " \n", " # Fix start date and end date\n", " start_date = '1979-01-01'\n", " end_date = '2018-06-01'\n", " \n", " # Pull data\n", " orig_df = pdr.get_data_yahoo(stock, start_date, end_date, progress=False)\n", " \n", " # Compute SMA-200\n", " orig_df['sma200'] = sma(orig_df)\n", " \n", " # FILTER 1: STOCK IS TRADING ABOVE SMA-200\n", " orig_df['f1'] = orig_df.Close > orig_df.sma200\n", " \n", " # ---- RSI SIMULATIONS ---- #\n", " # print('Simulating RSI...')\n", " for rn in all_n:\n", " for rl in lower:\n", " for ru in upper:\n", " \n", " # Copy data\n", " temp_df = orig_df.copy()\n", " \n", " # Compute RSI\n", " temp_df['rsi'] = rsi(temp_df, n = rn)\n", " \n", " # Trading signals\n", " temp_df['rsi_buy'] = ((temp_df.rsi.shift(1) < rl) & (temp_df.rsi > rl)).astype(int)\n", " temp_df['rsi_sell'] = ((temp_df.rsi.shift(1) < ru) & (temp_df.rsi > ru)).astype(int)\n", " \n", " # Drop missing values\n", " temp_df.dropna(axis = 0, inplace = True)\n", " \n", " # Compute buy and hold returns\n", " bah_returns = (temp_df.Close.iloc[-1] / temp_df.Close.iloc[0] - 1) * 100\n", " \n", " # Simulate trade\n", " temp_results = sim_trade(temp_df.Close, temp_df.rsi_buy, temp_df.rsi_sell, temp_df.f1, 'RSI', bah_returns)\n", " \n", " # Append stock, settings, and simulation results\n", " output.append(\n", " tuple(\n", " [stock, 'rsi', rn, rl, ru] + temp_results\n", " )\n", " )\n", " \n", " # ---- STO SIMULATIONS ---- #\n", " # print('Simulating STO...')\n", " for sn in all_n:\n", " for sl in lower:\n", " for su in upper:\n", " \n", " # Copy data\n", " temp_df = orig_df.copy()\n", " \n", " # Compute RSI\n", " temp_df['sto'] = stoch(temp_df, n = sn)\n", " \n", " # Trading signals\n", " temp_df['sto_buy'] = ((temp_df.sto.shift(1) < sl) & (temp_df.sto > sl)).astype(int)\n", " temp_df['sto_sell'] = ((temp_df.sto.shift(1) < su) & (temp_df.sto > su)).astype(int)\n", " \n", " # Drop missing values\n", " temp_df.dropna(axis = 0, inplace = True)\n", " \n", " # Compute buy and hold returns\n", " bah_returns = (temp_df.Close.iloc[-1] / temp_df.Close.iloc[0] - 1) * 100\n", " \n", " # Simulate trade\n", " temp_results = sim_trade(temp_df.Close, temp_df.sto_buy, temp_df.sto_sell, temp_df.f1, 'STO', bah_returns)\n", " \n", " # Append stock, settings, and simulation results\n", " output.append(\n", " tuple(\n", " [stock, 'sto', sn, sl, su] + temp_results\n", " )\n", " )\n", " \n", " # Output\n", " # print('Done!')\n", " return output" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Run Trade Simulations" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": true }, "outputs": [], "source": [ "# Initialise data frame for storage\n", "rsi_stoch_df = pd.DataFrame()\n", "# rsi_stoch_df = pd.read_csv('rsi_stoch_results.csv')\n", "\n", "# Collect data on all S&P 500 companies\n", "for i in np.arange(495, len(sp500.Symbol)):\n", " \n", " # Get symbol\n", " stk = sp500.Symbol.iloc[i]\n", " \n", " # Update\n", " print('Processing [' + str(i) + '] ' + stk + '...', end = '', flush = True)\n", " \n", " # Simulate trades and append results\n", " temp_res = sim_config(stk)\n", " \n", " # Convert to df\n", " temp_res_df = pd.DataFrame(temp_res, columns = ['stock', 'indicator', 'n', 'lower', 'upper', 'returns', 'exc_returns',\n", " 'mean_returns', 'sd_returns', 'trades', 'prof_trades', 'days', 'ann_returns', 'ann_bah',\n", " 'bah'])\n", " \n", " # Append to data frame\n", " rsi_stoch_df = pd.concat([rsi_stoch_df, temp_res_df], axis = 0)\n", " \n", " # Save data\n", " rsi_stoch_df.to_csv('rsi_stoch_results.csv', index = False)\n", " \n", " # Calculate excess returns\n", " temp_print_df = temp_res_df[['stock', 'indicator', 'ann_returns', 'ann_bah']].copy()\n", " temp_print_df['ann_exc'] = temp_print_df.ann_returns - temp_print_df.ann_bah\n", " \n", " # Print\n", " print('RSI | STO Excess Returns: ' + '{0:.2f}%'.format(temp_print_df.ann_exc[temp_print_df.indicator == 'rsi'].mean()) + \\\n", " ' | ' + '{0:.2f}%'.format(temp_print_df.ann_exc[temp_print_df.indicator == 'sto'].mean()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Analysis of Results \n", "In this section, we review the excess returns and percentage of profitable trades from the simulations." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Load data\n", "rsi_stoch_df = pd.read_csv('rsi_stoch_results.csv')\n", "\n", "# Compute annualised excess returns\n", "rsi_stoch_df['ann_exc'] = rsi_stoch_df.ann_returns - rsi_stoch_df.ann_bah\n", "\n", "# Compute profitable trades\n", "rsi_stoch_df['profitable_pct'] = rsi_stoch_df.prof_trades / rsi_stoch_df.trades * 100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Which Performed Better: The RSI or the STO?\n", "The STO exhibited slightly better performance than the RSI. Approximately 11.4% of all STO strategies delivered positive excess returns, compared to 8.6% for RSI strategies. However, **both indicators failed to deliver positive excess returns on average**. An interesting thing to note is that although the STO generated more buy signals, the proportion of trades that were actually profitable as predicted by the STO was comparable to that of the RSI." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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/Ho+hd9ToNuZewuapEVERERkCGmChoiIiMgQU9gTERERGWIKeyIiIiJDTGFPREREZIgp7ImIiIgMMYW9kHe9611N1xiamZlZae2hTX3TedF50XnRedF50XkZhNsmPi8tUdgLmZuba7q9Xq/3uCZnBp2X5nRemtN5aU7npTmdl+Z0XprTeVmdwp6IiIjIEFPYExERERliCnsiIiIiQyzW7wqIiIiIdEKlUuHw4cMUi8V+V6WjUqkUe/fuJR6Pr+vxCnsiIiIyFA4fPszo6Cj79u3DGNPv6nSEtZapqSkOHz7Meeedt67nUDeuiIiIDIViscjExMTQBD0AYwwTExMbaq1U2BMREZGhMUxBL7DR16RuXBEREZEOufnmmzl+/Dj1ep1arcZll13GvffeSy6X43vf+x6XXXYZAO9973uJxWK8+93v5uTJkywuLnLhhRfyzne+k2g02tE6KeyJiIiIdMBXv/pVduzYwbvf/W4AcrkcxhiuueYaDh48yK233sqtt966VP7qq6/mxhtv5KlPfSoAX/7yl7npppt43/ve19F6KeyJiIjI0PmX4w9xorTQ0efcmRzhyl1PWHF/IpHgvvvuI5/Pk8lkGB0dXbHsvffey969e5eCHsALX/hCPvnJTzI5OcmOHTs6Vm+FPREREZEOuPzyy5menua6666jUCjw3Oc+l+uuu45kMnla2YcffnhZ0AtceOGFPPTQQwp7IiIiIqtZrQWum6666iquuuoq6vU6n/nMZ7jpppv40Ic+dFq5Cy64gDvvvPO07Q888ACve93rOlonzcYVERER6YBvf/vbzMzMABCJRHjJS17CiRMnmpa96KKLePjhh3nggQeWtt19991MTEywe/fujtZLLXsiIiIiHbBnzx72799PJBKhVCqxsLDAzTffvGL52267jXe9612cPHmSRCLB2Wefzfvf//6O10thT0RERKQDzj33XD784Q833bdv375lM3EBstksH/zgB7teL3XjioiIiAwxhT0RkQ6pW9vvKoiInEZhT0SkA7524id87CffYrZc6HdVRESWUdgTEdmgQq3Cd6YPka+WuW/msX5XR0RkGYU9EZENOrjoLbWQjMb5aX6mz7UREVlOYU9EZINOFHNEIxEuHt/DVDlPtV7rd5VERJZo6RURkQ06UVpgeyLLjmQWrGW6XGBnaqTf1RKRHjt48CAv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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "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", "
ann_excdaystradesprofitable_pct
indicator
sto-6.0171216830.234280136.76036775.054938
rsi-7.6092396826.81845847.95486878.381752
\n", "
" ], "text/plain": [ " ann_exc days trades profitable_pct\n", "indicator \n", "sto -6.017121 6830.234280 136.760367 75.054938\n", "rsi -7.609239 6826.818458 47.954868 78.381752" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# CODE FOR CUSTOM GRAPHICS NOT INCLUDED\n", "\n", "# Summarise and rank by annualised excess returns\n", "rsi_stoch_df[['indicator', 'ann_exc', 'days', 'trades', 'profitable_pct']].groupby(['indicator']).mean().sort_values(by = 'ann_exc', ascending = False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Which Setting Performed Best?\n", " \n", "### Lookback Period (*n*)\n", "In general, there were minor advantages from using a shorter lookback period. However, once again, **all lookback period settings failed to generate positive excess returns on average**." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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48eP73ob9uqX7o3uj+6N7o/uzd762kf3Z1MU9kYsLi6e+qR9qizL3W7CnqV7szHdn/Xp3mxM92d9ujcb0/05mcKeiIiIyFlMYU9ERETkLKawJyIiInIWC3a7ASIiIiKTMBgMuPvuu0mSZLebsiWNRoMLLriAMAxP6/UKeyIiIrIv3H333UxPT3PhhRdijNnt5myKtZb5+XnuvvtuLrrootN6D3XjioiIyL6QJAmHDh06Y4IegDGGQ4cObasaqbAnIiIi+8aZFPSGtttmhT0RERGRs5jCnoiIiMhZTBM0REREZN/5q/u/zgPp8o6+57n1KS478tgNz3n1q1+90i375Cc/mde+9rU72oa1KOyJiIiITEC328XzPK6//vqJXldhT0RERPadU1XgxuGzn/0s9913H6973eswxvDmN7+ZRz7ykWO/rsKeiIiIyAQURcFVV13FD/zAD3D//fdzxRVX8LGPfWzs11XYExEREZmA5z//+SuPjxw5QqPRIM9zgmC8cUyzcUVEREQm4Hd/93e59dZbAbjrrrsAxh70QJU9ERERkYl46UtfyjXXXMNNN91Eu93muuuum8h1FfZERHZIaS0A3hm4Qr+IjF+z2eSd73znxK+rsCcisgMWsj5//J1/Yjqo85OPepoCn4jsGRqzJyKyA/7h2F308oz7kw53dud3uzkiIisU9kREtslayzeW53nM1GFCL+Cby8d2u0kiIivUjSsisk2Lg4RunnLR1KMobMm9ydJuN0lEZIUqeyIi23S02l/z3PoUh+tt5tMehS13uVUiIo7CnojINh1Nu2AMh+ptzqlPUdqS41l/t5slInvQHXfcwQ033ADAvffey9VXX81rXvMa/vAP/3Bs11Q3rojINh1NuxwIm9Q8nwO1JuC6dg/X27vcMhFZz2/d9Gd8/dv37uh7PvZR5/OzL/+RdZ//8Ic/zG233catt97KFVdcwc/+7M9y/fXXc+TIEa655ho+/vGP84IXvGBH2wSq7ImIbNvRdJlzqmA3GzYAWByosiciJ3vRi17E29/+doIg4I477uDiiy/myJEjALzxjW/k5ptvHst1VdkTEdmGvCxZHCRcPOM+sJt+SOgFLGTJLrdMRDayUQVuEpIkodForHxfq9XIsmws11JlT0RkGzp5AtYyV1X0jDFMh3WW83SXWyYie9nFF1/M5z//efI8B+Cj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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "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", "
ann_excdaystradesprofitable_pct
n
5-5.316825.26181.1373.17
10-6.556829.0488.4376.15
15-7.296829.7557.4078.45
20-8.116830.0542.4779.26
\n", "
" ], "text/plain": [ " ann_exc days trades profitable_pct\n", "n \n", "5 -5.31 6825.26 181.13 73.17\n", "10 -6.55 6829.04 88.43 76.15\n", "15 -7.29 6829.75 57.40 78.45\n", "20 -8.11 6830.05 42.47 79.26" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# CODE FOR CUSTOM GRAPHICS NOT INCLUDED\n", "\n", "# Summarise and rank by annualised excess returns\n", "round(rsi_stoch_df[['n', 'indicator', 'ann_exc', 'days', 'trades', 'profitable_pct']].groupby(['n']).mean().sort_values(by = 'ann_exc', ascending = False), 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Thresholds\n", "Like the lookback periods and indicators, average excess returns were negative for all combinations of thresholds (for oversold or overbought signals)." ] }, { "cell_type": "code", "execution_count": 8, "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", " \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", "
ann_excdaystradesprofitable_pct
threshindicator
30-90rsi-3.006826.8247.0380.96
20-90sto-4.966830.23127.8775.29
30-90sto-5.016830.23146.0675.77
30-80rsi-5.216826.8273.1777.64
10-90sto-5.446830.2399.9375.63
20-90rsi-5.896826.8237.8380.51
20-80sto-5.996830.23142.6975.19
30-80sto-6.146830.23165.6275.38
10-80sto-6.316830.23108.2975.49
20-70sto-6.676830.23151.0574.08
\n", "
" ], "text/plain": [ " ann_exc days trades profitable_pct\n", "thresh indicator \n", "30-90 rsi -3.00 6826.82 47.03 80.96\n", "20-90 sto -4.96 6830.23 127.87 75.29\n", "30-90 sto -5.01 6830.23 146.06 75.77\n", "30-80 rsi -5.21 6826.82 73.17 77.64\n", "10-90 sto -5.44 6830.23 99.93 75.63\n", "20-90 rsi -5.89 6826.82 37.83 80.51\n", "20-80 sto -5.99 6830.23 142.69 75.19\n", "30-80 sto -6.14 6830.23 165.62 75.38\n", "10-80 sto -6.31 6830.23 108.29 75.49\n", "20-70 sto -6.67 6830.23 151.05 74.08" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Create ID for thresholds\n", "rsi_stoch_df['thresh'] = rsi_stoch_df.lower.astype(str) + '-' + rsi_stoch_df.upper.astype(str)\n", "\n", "# Summarise and rank by annualised excess returns\n", "round(rsi_stoch_df[['thresh', 'indicator', 'ann_exc', 'days', 'trades', 'profitable_pct']].groupby(['thresh', 'indicator']).mean().sort_values(by = 'ann_exc', ascending = False).head(10), 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Combined Settings\n", "When split by the combined settings (lookback period + oversold and overbought thresholds), there was no difference: no configuration could deliver positive excess returns on average. The increase in the percentage of profitable trades was inversely proportionate to the number of trades. This is what we expect: the fewer signals there are, the more spread out they are likely to be; and the longer you hold a stock, the higher the probability that that trade will be profitable." ] }, { "cell_type": "code", "execution_count": 9, "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", " \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", "
ann_excdaystradesprofitable_pct
full_settingindicator
15-30-90rsi-1.986829.069.7083.13
10-30-90rsi-2.766827.7334.7078.13
5-30-90sto-3.156829.67233.5873.64
5-20-90sto-3.236829.67207.2273.34
5-30-90rsi-3.346820.85140.8473.55
20-30-90rsi-3.926829.642.8790.08
5-10-90sto-3.976829.67160.3473.38
5-20-90rsi-4.246820.85118.0273.93
5-20-80sto-4.636829.67237.9873.20
5-30-80sto-4.736829.67272.3472.92
\n", "
" ], "text/plain": [ " ann_exc days trades profitable_pct\n", "full_setting indicator \n", "15-30-90 rsi -1.98 6829.06 9.70 83.13\n", "10-30-90 rsi -2.76 6827.73 34.70 78.13\n", "5-30-90 sto -3.15 6829.67 233.58 73.64\n", "5-20-90 sto -3.23 6829.67 207.22 73.34\n", "5-30-90 rsi -3.34 6820.85 140.84 73.55\n", "20-30-90 rsi -3.92 6829.64 2.87 90.08\n", "5-10-90 sto -3.97 6829.67 160.34 73.38\n", "5-20-90 rsi -4.24 6820.85 118.02 73.93\n", "5-20-80 sto -4.63 6829.67 237.98 73.20\n", "5-30-80 sto -4.73 6829.67 272.34 72.92" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Create ID for combined setting\n", "rsi_stoch_df['full_setting'] = rsi_stoch_df.n.astype(str) + '-' \\\n", " + rsi_stoch_df.lower.astype(str) + '-' + rsi_stoch_df.upper.astype(str)\n", "\n", "# Summarise and rank by annualised excess returns\n", "round(rsi_stoch_df[['full_setting', 'indicator', 'ann_exc', 'days', 'trades', 'profitable_pct']].groupby(['full_setting', 'indicator']).mean().sort_values(by = 'ann_exc', ascending = False).head(10), 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Which Stocks Performed Best?\n", "The stocks given in the table below were stocks on which the trading strategies beat the market. This does not mean that you can simply apply RSI and STO trading strategies to these stocks and expect a profit in the future, because (1) past relationships between the technical indicators and *these* stocks' prices may not persist, and (2) there was something fundamentally wrong with all of these stocks. \n", " \n", "First, note how **all** of these stocks had negative buy-and-hold returns. Second, note how there were so few trades across the simulation window for both the RSI and the STO. When we put these pieces of information together, we realise that, chances are, the RSI and STO trading strategies recommended buying these stocks when they were still climbing, selling these stocks at a profit, and making no further buy or sell recommendations. Consequently, these trading strategies achieved a small profit or loss that were larger (in absolute terms) than the buy-and-hold benchmark returns. That explains why the RSI and STO strategies looked good on these stocks. \n", " \n", "Using this new information by considering only stocks that had *positive buy-and-hold returns*, we can revise our previous statistics on the percentage of RSI and STO trading strategies that delivered positive excess returns from 8.6% and 11.4% to **6.2%** and **9.1%** respectively." ] }, { "cell_type": "code", "execution_count": 10, "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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ann_excann_returnsann_bahtradesdays
stockindicator
UAsto36.222.90-33.320.83531.0
rsi34.280.96-33.320.31531.0
KHCsto17.393.92-13.478.92534.0
EVHCrsi17.31-2.25-19.563.391009.0
sto15.99-3.57-19.5610.361009.0
KHCrsi14.791.32-13.472.50534.0
NAVIsto11.110.59-10.5110.83839.0
rsi10.970.46-10.514.61839.0
COTYrsi8.335.44-2.896.581052.0
JNPRrsi8.18-0.31-8.4924.004565.0
\n", "
" ], "text/plain": [ " ann_exc ann_returns ann_bah trades days\n", "stock indicator \n", "UA sto 36.22 2.90 -33.32 0.83 531.0\n", " rsi 34.28 0.96 -33.32 0.31 531.0\n", "KHC sto 17.39 3.92 -13.47 8.92 534.0\n", "EVHC rsi 17.31 -2.25 -19.56 3.39 1009.0\n", " sto 15.99 -3.57 -19.56 10.36 1009.0\n", "KHC rsi 14.79 1.32 -13.47 2.50 534.0\n", "NAVI sto 11.11 0.59 -10.51 10.83 839.0\n", " rsi 10.97 0.46 -10.51 4.61 839.0\n", "COTY rsi 8.33 5.44 -2.89 6.58 1052.0\n", "JNPR rsi 8.18 -0.31 -8.49 24.00 4565.0" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Summarise and rank by annualised excess returns\n", "round(rsi_stoch_df[['stock', 'indicator', 'ann_exc', 'ann_returns', 'ann_bah', 'trades', 'days']].groupby(['stock', 'indicator']).mean().sort_values(by = 'ann_exc', ascending = False).head(10), 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Conclusion [TLDR]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In conclusion, we found no evidence that the RSI and STO trading strategies could beat the buy-and-hold benchmark. The STO generated more buy/sell signals and performed slightly better than the RSI. However, both performed poorly on absolute terms: only 6.2% of RSI trading strategies and 9.1% of STO trading strategies for **stocks with a positive buy-and-hold return** generated positive excess returns." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.6" } }, "nbformat": 4, "nbformat_minor": 2 }