Skip to content

Instantly share code, notes, and snippets.

@sicongzhao
Created January 16, 2020 18:59
Show Gist options
  • Save sicongzhao/ab8ba4e48ed938eadee184b3dff6213c to your computer and use it in GitHub Desktop.
Save sicongzhao/ab8ba4e48ed938eadee184b3dff6213c to your computer and use it in GitHub Desktop.
Calculate-Intrinsic-Value.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"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.7.5"
},
"colab": {
"name": "Calculate-Intrinsic-Value.ipynb",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/RyC37/ab8ba4e48ed938eadee184b3dff6213c/calculate-intrinsic-value.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "vKmWaIZht5MF",
"colab_type": "code",
"colab": {}
},
"source": [
"import pandas as pd"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "o9cWlM8ft5MP",
"colab_type": "text"
},
"source": [
"### Import Data"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Y1q7r9qJt5MS",
"colab_type": "code",
"colab": {}
},
"source": [
"# Load Data\n",
"aapl = pd.read_csv('https://raw.githubusercontent.com/RyC37/Value-Investing-In-Python/master/data/aapl_concise.csv', index_col='Unnamed: 0')"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "TkicZvIjt5MY",
"colab_type": "code",
"colab": {},
"outputId": "74fc251f-4569-42d3-f84d-7135f7999c81"
},
"source": [
"aapl.head()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>shares_outstanding</th>\n",
" <th>earning_per_share</th>\n",
" <th>dividend_rate</th>\n",
" <th>dividend_yield</th>\n",
" <th>debt_to_equity</th>\n",
" <th>book_value_per_share</th>\n",
" <th>return_on_equity</th>\n",
" <th>current_ratio</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2010-09</th>\n",
" <td>6,473</td>\n",
" <td>2.16</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>7.45</td>\n",
" <td>35.28</td>\n",
" <td>2.01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2011-09</th>\n",
" <td>6,557</td>\n",
" <td>3.95</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>11.78</td>\n",
" <td>41.67</td>\n",
" <td>1.61</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2012-09</th>\n",
" <td>6,617</td>\n",
" <td>6.31</td>\n",
" <td>0.38</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>16.99</td>\n",
" <td>42.84</td>\n",
" <td>1.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2013-09</th>\n",
" <td>6,522</td>\n",
" <td>5.68</td>\n",
" <td>1.63</td>\n",
" <td>27.4</td>\n",
" <td>0.14</td>\n",
" <td>19.60</td>\n",
" <td>30.64</td>\n",
" <td>1.68</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2014-09</th>\n",
" <td>6,123</td>\n",
" <td>6.45</td>\n",
" <td>1.81</td>\n",
" <td>28.5</td>\n",
" <td>0.26</td>\n",
" <td>20.62</td>\n",
" <td>33.61</td>\n",
" <td>1.08</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" shares_outstanding earning_per_share dividend_rate dividend_yield \\\n",
"2010-09 6,473 2.16 NaN NaN \n",
"2011-09 6,557 3.95 NaN NaN \n",
"2012-09 6,617 6.31 0.38 NaN \n",
"2013-09 6,522 5.68 1.63 27.4 \n",
"2014-09 6,123 6.45 1.81 28.5 \n",
"\n",
" debt_to_equity book_value_per_share return_on_equity current_ratio \n",
"2010-09 NaN 7.45 35.28 2.01 \n",
"2011-09 NaN 11.78 41.67 1.61 \n",
"2012-09 NaN 16.99 42.84 1.50 \n",
"2013-09 0.14 19.60 30.64 1.68 \n",
"2014-09 0.26 20.62 33.61 1.08 "
]
},
"metadata": {
"tags": []
},
"execution_count": 7
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "KUnVi0fzt5Mg",
"colab_type": "text"
},
"source": [
"### Calculate Intrinsic Value (Simple way)\n",
"\n",
"##### (1) Estimate future dividends"
]
},
{
"cell_type": "code",
"metadata": {
"id": "JJzRV2RCt5Mi",
"colab_type": "code",
"colab": {},
"outputId": "6bd9717b-d02e-453f-dcb8-aa6d0f827bc7"
},
"source": [
"# Last 10-year's average dividends\n",
"dvd_avg = aapl['dividend_rate'].mean()\n",
"print(dvd_avg)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"2.1222222222222222\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "J3gkQqyht5Mm",
"colab_type": "code",
"colab": {},
"outputId": "2f5a9031-bc56-465b-d322-1740969d5eae"
},
"source": [
"risk_free_rate = 0.0179\n",
"# The discounted capital for the dividend of 3-year later\n",
"dvd_avg/(1+risk_free_rate)**3\n",
"# The discounted capital for the dividend of 10-year later\n",
"# dvd_avg/(1+risk_free_rate)**10"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2.0122202476874578"
]
},
"metadata": {
"tags": []
},
"execution_count": 31
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "OwiDxfWgt5Mr",
"colab_type": "code",
"colab": {},
"outputId": "af6fd92a-04f8-4ebf-c75d-6968c801fd76"
},
"source": [
"dvd_total = 0\n",
"for i in range(1,11):\n",
" dvd_total = dvd_total + dvd_avg/(1+risk_free_rate)**i\n",
"print(dvd_total)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"19.27420500514451\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "HdPRblpSt5My",
"colab_type": "text"
},
"source": [
"##### (2) Estimate future book value"
]
},
{
"cell_type": "code",
"metadata": {
"id": "3_gnH46zt5Mz",
"colab_type": "code",
"colab": {}
},
"source": [
"# Average growth rate\n",
"book_value = aapl['book_value_per_share']"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "2NY9FN6Vt5M3",
"colab_type": "code",
"colab": {},
"outputId": "6f48dd0e-df08-4ed2-ae83-a86a58af6119"
},
"source": [
"# 9th root\n",
"book_value = aapl['book_value_per_share']\n",
"growth_rate_of_9y= book_value['2019-09']/book_value['2010-09']\n",
"avg_growth_rate = growth_rate_of_9y**(1/9)\n",
"print(avg_growth_rate)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"1.1261895823169403\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "RRj0EFept5M5",
"colab_type": "code",
"colab": {},
"outputId": "7c356ff7-aca7-4253-cd9f-8c91f0fa07ae"
},
"source": [
"# Book value per share in next 10 years\n",
"bvps_pred = book_value['2019-09']*(growth_rate**10)\n",
"print(bvps_pred)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"63.26497986577179\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "5_6dXpsft5M-",
"colab_type": "text"
},
"source": [
"##### (3) Combine 2 parts"
]
},
{
"cell_type": "code",
"metadata": {
"id": "9h0wN_6Nt5NB",
"colab_type": "code",
"colab": {},
"outputId": "2e0c48ab-b147-4aa3-f349-567cbd132cb3"
},
"source": [
"aapl_intrinsic = bvps_pred + dvd_total\n",
"print(aapl_intrinsic)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"82.5391848709163\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "3ISxO0nZt5NG",
"colab_type": "code",
"colab": {}
},
"source": [
"# ignore TTM for now\n",
"aapl = aapl.drop(aapl.tail(1).index)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "m-KJxMd3t5NN",
"colab_type": "code",
"colab": {},
"outputId": "9aedf36c-e247-4745-8087-b4385fd24723"
},
"source": [
"aapl['dividend_rate'].plot(figsize=(10,6), title=\"Apple's Dividends in Last 10 Years\")"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x12042ee90>"
]
},
"metadata": {
"tags": []
},
"execution_count": 56
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x432 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "yE50TSvyt5NP",
"colab_type": "code",
"colab": {},
"outputId": "0a382879-45fd-49d2-bb18-a14f420c2c21"
},
"source": [
"aapl['book_value_per_share'].plot(figsize=(10,6), title=\"Apple's Book Value in Last 10 Years\")"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1202d86d0>"
]
},
"metadata": {
"tags": []
},
"execution_count": 55
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x432 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "RPNtcnRft5NR",
"colab_type": "text"
},
"source": [
"### Calculate Intrinsic Value using Linear Regression"
]
},
{
"cell_type": "code",
"metadata": {
"id": "j2kQv859t5NR",
"colab_type": "code",
"colab": {}
},
"source": [
"import statsmodels.api as sm"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "UN2eyIMkt5NT",
"colab_type": "text"
},
"source": [
"##### (1) House Keeping"
]
},
{
"cell_type": "code",
"metadata": {
"id": "uCALdjI3t5NT",
"colab_type": "code",
"colab": {}
},
"source": [
"# 'year_index' as the order of the year\n",
"aapl['year_index'] = range(1, len(aapl) + 1)\n",
"# add intercept\n",
"aapl['intercept'] = 1"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "HMA6aLT6t5NV",
"colab_type": "text"
},
"source": [
"##### (2) Book Value per Share"
]
},
{
"cell_type": "code",
"metadata": {
"id": "_YCywohOt5NX",
"colab_type": "code",
"colab": {}
},
"source": [
"# modeling\n",
"bvps_model = sm.OLS(aapl['book_value_per_share'], aapl[['year_index','intercept']]).fit()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "34rFjajCt5NY",
"colab_type": "code",
"colab": {},
"outputId": "49bdc281-e004-49c9-f156-187e6f5a8e56"
},
"source": [
"bvps_pred_lr = bvps_model.predict([19,1])[0]\n",
"print(bvps_pred_lr)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"41.81709090909092\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "lmJBNOSgt5Na",
"colab_type": "text"
},
"source": [
"##### (3) Dividends"
]
},
{
"cell_type": "code",
"metadata": {
"id": "XBMbK5KDt5Nb",
"colab_type": "code",
"colab": {}
},
"source": [
"aapl_new = aapl.dropna(subset = ['dividend_rate'])"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "gvyaQMKKt5Nd",
"colab_type": "code",
"colab": {}
},
"source": [
"# modeling\n",
"dvd_model = sm.OLS(aapl_new['dividend_rate'], aapl_new[['year_index','intercept']]).fit()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Fs8FMODet5Nf",
"colab_type": "code",
"colab": {},
"outputId": "6fadb7c8-dfbf-4b27-bb2c-a9d002daa4da"
},
"source": [
"# predict future dvd\n",
"dvd_model.predict([19,1])[0]"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"5.845833333333332"
]
},
"metadata": {
"tags": []
},
"execution_count": 91
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "CjhxWJ5ft5Nh",
"colab_type": "code",
"colab": {},
"outputId": "0ec5e216-bba2-4d89-8299-daaab5facb26"
},
"source": [
"dvd_total_lr = 0\n",
"current_year_order = 9\n",
"for i in range(1,11):\n",
" dvd_new = dvd_model.predict([current_year_order + i,1])[0]\n",
" dvd_total_lr = dvd_total_lr + dvd_new/(1+risk_free_rate)**i\n",
"print(dvd_total_lr)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"40.15163616617433\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "cZRoLNzft5Nj",
"colab_type": "code",
"colab": {},
"outputId": "b41762ef-c7f4-4c23-ea93-30491f982f52"
},
"source": [
"aapl_intrinsic_lr = dvd_total_lr + bvps_pred_lr\n",
"print(aapl_intrinsic_lr)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"81.96872707526525\n"
],
"name": "stdout"
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment