Skip to content

Instantly share code, notes, and snippets.

@bicubic
Created May 9, 2016 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bicubic/9a653df35cca66efc6fab92df92d77af to your computer and use it in GitHub Desktop.
Save bicubic/9a653df35cca66efc6fab92df92d77af to your computer and use it in GitHub Desktop.
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In Australia, we have interest-free loans for higher education. These are indexed against CPI to match inflation and have a mandatory repayment which is a bracketed percentage of your income. They also come with the option to make a voluntary contribution which enjoys a 10% discount. \n",
"\n",
"The following is my attempt to work out whether its better to make a full voluntary repayment or to keep the cash in a savings account. \n",
"\n",
"Some assumptions:\n",
"* Debt is at 50k\n",
"* The person in this scenario already has enough cash in a savings account to repay the loan in full\n",
"* The mandatory repayment is 1k/month\n",
"* The income of the person is facored out, so we'll assume its exactly equal to the mandatory repayment for this\n",
"* CPI growth and inflation are both IGNORED. I am not sure this is a valid assumption\n",
"* Interest on savings accounts is 2% annual, compounding monthly\n",
"* A 10% discount is offered on a voluntary repayment"
]
},
{
"cell_type": "code",
"execution_count": 129,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n"
]
}
],
"source": [
"%pylab inline"
]
},
{
"cell_type": "code",
"execution_count": 130,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import pandas as pd\n",
"plt.style.use('ggplot')"
]
},
{
"cell_type": "code",
"execution_count": 160,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"monthly_repayment = 1000.0 #mandatory monthly repayment, and amount of funds available to invest\n",
"debt = 50000 #debt outstanding\n",
"mean_cpi_growth = 0.22 #mean CPI growth for indexing. This is presently IGNORED\n",
"voluntary_discount = 0.1 #10% discount on voluntary repayments\n",
"\n",
"cash_on_hand = debt #The savings acount has exactly enough cash to repay the loan in full \n",
"savings_interest = 0.02 #Assume a 2% interest on the savings account where the cash is parked\n",
"monthly_income = monthly_repayment #We make exactly enough money to do the monthly repayment"
]
},
{
"cell_type": "code",
"execution_count": 161,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x140fd080>"
]
},
"execution_count": 161,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\ngYiIAP8fLe4TzmB47sUAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x13e77208>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#first of all, lets figure out how long it'll take to pay down the debt\n",
"outstanding = debt\n",
"points = []\n",
"i=0\n",
"while(outstanding>0):\n",
" repayment = monthly_repayment #assume no inflation - (monthly_repayment*mean_cpi_growth)\n",
" outstanding-=repayment\n",
" i+=1\n",
" points.append({'month': i, 'outstanding': outstanding})\n",
" \n",
"df_base = pd.DataFrame(points[:-1]).set_index('month')\n",
"df_base.plot()"
]
},
{
"cell_type": "code",
"execution_count": 162,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"49"
]
},
"execution_count": 162,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"months_to_pay = max(df_base.index)\n",
"months_to_pay"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"----"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Simulate the 'minimum repayment' scenario:\n",
"* Start at <b>cash</b>=<b>debt</b>\n",
"* Calculate monthly compouinding interest on <b>cash</b>\n",
"* After month <b>months_to_pay</b>, start adding <b>monthly_income</b> to <b>cash</b>"
]
},
{
"cell_type": "code",
"execution_count": 163,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x14634208>"
]
},
"execution_count": 163,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nISFEL1BQUMDChQub3eer1woSvYuEhBC9lHzPVfQG8o1rIc5i8eLFXHfddWzfvp2SkhImTpzIrbfe\nytq1a/n666+x2Wzcd999BAcHk5+fz2uvvYbD4WD48OHccccdREVFedbzs5/9jE8++YRjx44RFxfH\n4sWLqa+v5/bbb6euro7+/fujaRrPPPMMH330EcXFxfTr14+8vDwGDRrE4sWLueCCCwzuiPAlsich\nxDnYtWsXjz76KKmpqezevZuVK1cye/ZsNmzYgFKKDz74gCNHjpCamkpSUhLPP/888fHxPPXUU9TX\n13vWs3PnTh555BHWrFnDoUOH2LZtGwMGDOCRRx7BYrHwyiuv8PLLLxMWFoZSivz8fK688kpeeukl\nxo0bx/PPP29gF4QvkpAQ4hz87Gc/IyQkBIvFwsUXX8zIkSMZPnw4/fr149JLL6WoqIjPPvuMcePG\nERMTg67rzJgxg9raWr7++mvPeq6//nrMZjMDBw5k3LhxHDx4EGj90NIll1xCXFwcmqYxadIkDh06\n1BObK4SHhIQQ56BxdjKAgICAFrdrampwOBwMGjTIc7+maVitVux2e6vrqampafN1m85fEBAQgNPp\nxOVydWpbhGgPCQkhOuBMn/zDwsI4duxYs+ec6wRYZxrJJKObRG8gISFEJzUGxuWXX87nn3/OF198\nQV1dHe+++y79+vXjoosuOus6QkNDqayspLq6usV6hTCSV0xfKkRPa/opX9M0NE1j8ODB3HPPPbzw\nwgvY7XZGjBjBgw8+iJ+fX6vraFxPVFQUEydO5J577sHlcpGcnNzscSGMIkNghRBCtEoONwkhhGiV\nhIQQQohWSUgIIYRolYSEEEKIVklICCGEaJWEhBBCiFZJSAghhGiVhIQQQohWSUgIIYRo1f8H0SgI\n2XXs5ZAAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x143ec3c8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"points = []\n",
"v = cash_on_hand\n",
"for month in range(0, months_to_pay*2):\n",
" if (month > months_to_pay):\n",
" v = v + monthly_income\n",
" v = v + savings_interest * v / 12.0 #this is a NAIIVE interest compounding. Not strictly correct!\n",
" points.append({'month': month, 'value_minimum': v})\n",
"df_slow = pd.DataFrame(points)\n",
"df_slow.set_index('month').plot()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Simulate the 'early voluntary repayment' scenario:\n",
"<br/>\n",
"To sanity-check, we will assume a <b>voluntary_discount</b> of 0, in which case both scenarios should be roughly equal\n",
"* Start at <b>cash</b>=<b>debt</b> * <b>voluntary_discount</b>\n",
"* Calculate monthly compouinding interest on <b>cash</b>\n",
"* After month <b>0</b>, start adding <b>monthly_income</b> to <b>cash</b>"
]
},
{
"cell_type": "code",
"execution_count": 164,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x14816a20>"
]
},
"execution_count": 164,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEWCAYAAACT7WsrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1clfX9x/HXdUEk4JHTQcjEXDa0Fd6RmDaaN7TWjbUs\nk7VqC1y1tJza2mq2WrWttfVT8wazaTeW1rQSum9lIpnmBNM0SqOJLTMyOEgiAgfO9/fHmWcSooLA\nOXDez8ejR3Cdc118rk8n3lzX9b2+l2WMMYiIiByGHegCREQkeCkkRESkSQoJERFpkkJCRESapJAQ\nEZEmKSRERKRJ4Ud6cf78+WzatIlu3boxY8YMAJ5++mnef/99wsPDOfnkk5k0aRJRUVEAZGdnk5ub\ni23bZGZmMmjQIAB27NhBVlYWHo+H5ORkMjMzAfB4PMybN4/i4mIcDgdTp04lLi4OgNWrV5OdnQ3A\nlVdeyciRI9umAyIi0jRzBB999JHZsWOHue222/zLPvjgA1NfX2+MMWbJkiVmyZIlxhhjPv/8c3P7\n7bcbj8djvvrqK3Prrbcar9drjDHmzjvvNEVFRcYYYx544AGzadMmY4wxb7zxhlm4cKExxpi1a9ea\nWbNmGWOM2bdvn7n11ltNZWWlqays9H99LD788MNjel8oUU8aU08aU08aU0+MOeLppjPPPJPo6OgG\nywYOHIht+1br27cvZWVlAOTn55Oamkp4eDjx8fH06NGDoqIiysvLqa6uJjExEYARI0awYcMGAAoK\nCvxHCMOGDWPr1q0AbN68mYEDBxIdHU10dDQDBgxg8+bNxxR6hYWFx5qPIUM9aUw9aUw9aUw9Oc5r\nEqtWreLss88GoLy8nNjYWP9rsbGxuN1uysvLcblc/uUulwu32w2A2+32rxMWFkZUVBT79u1rclsi\nItK+WhwSK1asIDw8nPPOO6816xERkSByxAvXTVm9ejWbNm3i7rvv9i9zuVz+U08AZWVlxMbGNjhy\nOHT5wXVKS0txuVzU19dTVVWFw+HA5XI1OMwrKyujf//+h62lsLCwwXvT09NbskudmnrSmHrSmHrS\nWCj1ZPny5f6vk5KSSEpKAloQEps3b+all17i3nvvJSIiwr88JSWF2bNnc+mll+J2uykpKSExMRHL\nsoiMjKSoqIjExETWrFnDxRdf7F8nLy+Pfv36sX79egYMGADAoEGDePbZZ9m/fz/GGLZs2cK11157\n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\n6urqOPHEE7Esi4cffpiVK1eya9cuTjjhBPLz8+nevTu33HILp59+eoA7IqFERxIix2DDhg3cfffd\nzJ49m40bN/KXv/yFa665hkWLFmGM4fXXX2f37t3Mnj2bzMxMHnvsMZKTk/nrX/9KfX29fzvr16/n\nrrvuYt68eXz22WesXr2aLl26cNddd+FyuXjqqadYvHgxJ510EsYYCgoKOO+883jyyScZMmQIjz32\nWAC7IKFIISFyDC666CK6deuGy+Xie9/7Hn379uW0007jhBNO4JxzzqG4uJj33nuPIUOGMGDAAGzb\n5rLLLqO2tpbt27f7t3PxxRfjdDrp2rUrQ4YMYefOnUDTp5bOPPNMBg8ejGVZjBgxgs8++6w9dlfE\nTyEhcgwOPp0MICIiotH31dXVlJeX0717d/9yy7KIjY3F7XY3uZ3q6uoj/txDn18QERGBx+PB6/Ue\n176INIdCQqQFDveX/0knncTXX3/d4D3H+gCsw41k0ugmCQYKCZHjdDAwzj33XN5//30+/PBD6urq\nePnllznhhBM444wzjrqNmJgY9u3bR1VVVaPtigRSp3h8qUh7O/SvfMuysCyLnj17MnnyZB5//HHc\nbjd9+vThjjvuICwsrMltHNxOQkICqampTJ48Ga/Xy8yZMxu8LhIoGgIrIiJN0ukmERFpkkJCRESa\npJAQEZEmKSRERKRJCgkREWmSQkJERJqkkBARkSYpJEREpEkKCRERadL/AyHG+YsiGmAYAAAAAElF\nTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x145303c8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"points = []\n",
"v = cash_on_hand * voluntary_discount * 0 #we just lost eaxctly 90% of our cash on hand\n",
"for month in range(0, months_to_pay*2):\n",
" v = v + monthly_income \n",
" v = v + savings_interest * v / 12.0 #this is a NAIIVE interest compounding. Not correct!\n",
" points.append({'month': month, 'value_voluntary': v})\n",
"df_fast = pd.DataFrame(points)\n",
"df_fast.set_index('month').plot()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lets check how the two scenarios compare "
]
},
{
"cell_type": "code",
"execution_count": 165,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>value_voluntary</th>\n",
" <th>value_minimum</th>\n",
" </tr>\n",
" <tr>\n",
" <th>month</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1001.666667</td>\n",
" <td>50083.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2005.002778</td>\n",
" <td>50166.805556</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3010.011116</td>\n",
" <td>50250.416898</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4016.694468</td>\n",
" <td>50334.167593</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5025.055625</td>\n",
" <td>50418.057872</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" value_voluntary value_minimum\n",
"month \n",
"0 1001.666667 50083.333333\n",
"1 2005.002778 50166.805556\n",
"2 3010.011116 50250.416898\n",
"3 4016.694468 50334.167593\n",
"4 5025.055625 50418.057872"
]
},
"execution_count": 165,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_combined = df_fast.set_index('month').join(df_slow.set_index('month'))\n",
"df_combined.head(5)"
]
},
{
"cell_type": "code",
"execution_count": 166,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x14b9ac18>"
]
},
"execution_count": 166,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x140ee240>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#plot the two scenarios on the same axis\n",
"df_combined.plot()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The two scenarios should have become identical at month=<b>months_to_pay</b>, however there's some minor difference here. I'm assuming due to the fact that I'm working with integer months. The fact that the scenarios become parallel is good enough.\n",
"\n",
"---\n",
"\n",
"Now lets factor in a 10% voluntary payment discount rate, meaning we start at cash=<b>deb</b>*0.1 and immediately begin compounding interest with monthly deposits of <b>monthly_income</b>"
]
},
{
"cell_type": "code",
"execution_count": 173,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x154cc048>"
]
},
"execution_count": 173,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nCCGq9P/mgxlfywazVQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x14e8b9b0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"points = []\n",
"v = cash_on_hand * voluntary_discount * 1.0\n",
"for month in range(0, months_to_pay*2):\n",
" v = v + monthly_income \n",
" v = v + savings_interest * v / 12.0 #this is a NAIIVE interest compounding. Not correct!\n",
" points.append({'month': month, 'value_voluntary': v})\n",
"df_fast = pd.DataFrame(points)\n",
"df_combined = df_fast.set_index('month').join(df_slow.set_index('month'))\n",
"df_combined.plot()"
]
},
{
"cell_type": "code",
"execution_count": 174,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x159036a0>"
]
},
"execution_count": 174,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x14e8b748>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#plot the value difference of the two scenarios\n",
"df_combined['voluntary_difference'] = df_combined.value_voluntary - df_combined.value_minimum\n",
"df_combined.voluntary_difference.plot()"
]
},
{
"cell_type": "code",
"execution_count": 175,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>value_voluntary</th>\n",
" <th>value_minimum</th>\n",
" <th>voluntary_difference</th>\n",
" </tr>\n",
" <tr>\n",
" <th>month</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>93</th>\n",
" <td>107688.615708</td>\n",
" <td>104162.774053</td>\n",
" <td>3525.841655</td>\n",
" </tr>\n",
" <tr>\n",
" <th>94</th>\n",
" <td>108869.763401</td>\n",
" <td>105338.045343</td>\n",
" <td>3531.718058</td>\n",
" </tr>\n",
" <tr>\n",
" <th>95</th>\n",
" <td>110052.879673</td>\n",
" <td>106515.275419</td>\n",
" <td>3537.604255</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96</th>\n",
" <td>111237.967806</td>\n",
" <td>107694.467544</td>\n",
" <td>3543.500262</td>\n",
" </tr>\n",
" <tr>\n",
" <th>97</th>\n",
" <td>112425.031086</td>\n",
" <td>108875.624990</td>\n",
" <td>3549.406096</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" value_voluntary value_minimum voluntary_difference\n",
"month \n",
"93 107688.615708 104162.774053 3525.841655\n",
"94 108869.763401 105338.045343 3531.718058\n",
"95 110052.879673 106515.275419 3537.604255\n",
"96 111237.967806 107694.467544 3543.500262\n",
"97 112425.031086 108875.624990 3549.406096"
]
},
"execution_count": 175,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_combined.tail()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So the difference between the two scenarios seems to be a more or less flat 3.5k in favour of the voluntary repayment scenario. Now how to derrive this number?!"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.11"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment