Skip to content

Instantly share code, notes, and snippets.

@JannesKlaas
Created December 2, 2018 15:36
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 JannesKlaas/eed0b3c8ddb94632b15701de95ceaaf6 to your computer and use it in GitHub Desktop.
Save JannesKlaas/eed0b3c8ddb94632b15701de95ceaaf6 to your computer and use it in GitHub Desktop.
Corporate Finance Assignment Monte Carlo Simulation
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"import seaborn as sns; sns.set()\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"df = pd.read_csv('Book1.csv')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"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>NetInflows</th>\n",
" <th>NegativeCosts</th>\n",
" <th>Return</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>76.8</td>\n",
" <td>28.2</td>\n",
" <td>1.72</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>56.8</td>\n",
" <td>25.4</td>\n",
" <td>1.24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>47.3</td>\n",
" <td>22.6</td>\n",
" <td>1.10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>47.0</td>\n",
" <td>21.2</td>\n",
" <td>1.22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>44.4</td>\n",
" <td>35.3</td>\n",
" <td>0.26</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" NetInflows NegativeCosts Return\n",
"0 76.8 28.2 1.72\n",
"1 56.8 25.4 1.24\n",
"2 47.3 22.6 1.10\n",
"3 47.0 21.2 1.22\n",
"4 44.4 35.3 0.26"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1a226f1ac8>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df.Return.plot.hist(bins=30)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"x = df.Return.values"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-0.08242424242424241"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.mean(x)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.206635769660599"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.std(x)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"x_d = np.linspace(np.min(x)-1, np.max(x)+1, 1000)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.neighbors import KernelDensity"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"KernelDensity(algorithm='auto', atol=0, bandwidth=0.5, breadth_first=True,\n",
" kernel='gaussian', leaf_size=40, metric='euclidean',\n",
" metric_params=None, rtol=0)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"kde = KernelDensity(bandwidth=0.5, kernel='gaussian')\n",
"kde.fit(x[:, None])"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# score_samples returns the log of the probability density\n",
"logprob = kde.score_samples(x_d[:, None])\n",
"plt.fill_between(x_d, np.exp(logprob), alpha=0.5)\n",
"plt.plot(x, np.full_like(x, 0), '|k', markeredgewidth=1)\n",
"plt.xlabel('Return')\n",
"plt.ylabel('Probability');"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"returns = kde.sample(10000000)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"returns[returns > 1.5] = -1"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"#returns = returns[(returns >= -1)]"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"r_cash = (returns+1) * 22.6/1.0532 - 22.6"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2.6092907657051607"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.mean(r_cash.clip(min=0))/1.0532**3"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([2050020., 1310934., 1209468., 972388., 715374., 520643.,\n",
" 406135., 348829., 311597., 267591.]),\n",
" array([-1.00000000e+00, -7.50000085e-01, -5.00000169e-01, -2.50000254e-01,\n",
" -3.38036657e-07, 2.49999577e-01, 4.99999493e-01, 7.49999408e-01,\n",
" 9.99999324e-01, 1.24999924e+00, 1.49999915e+00]),\n",
" <a list of 10 Patch objects>)"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.hist(returns)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [default]",
"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
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment