python-pour-finance/11-Quantopian-Avancé/02-Couverture-de-risque-Hed...

775 lines
724 KiB
Plaintext
Raw Permalink Normal View History

2023-08-21 15:12:19 +00:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Couverture de risque ou Hedging\n",
"\n",
"N'oubliez pas de vous référer à la vidéo pour des explications complètes !"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"from statsmodels import regression\n",
"import statsmodels.api as sm\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# Obtenir des données pour la période et les actions spécifiées\n",
"start = '2016-01-01'\n",
"end = '2017-01-01'\n",
"asset = get_pricing('AAPL', fields='price', start_date=start, end_date=end)\n",
"benchmark = get_pricing('SPY', fields='price', start_date=start, end_date=end)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"asset_ret = asset.pct_change()[1:]\n",
"bench_ret = benchmark.pct_change()[1:]"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f1062f42c50>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nKafAbrfj008/NX5v5cqVWL58Oa6++mrMmjUL5557LoD+JW3RVFdXo7GxMc49kThmeIiIiIho2Ln2\nkpmDZmMyQZ/D05eqqsbNv6IoALRgwByABIPBmK87bdo0uFwu7Nu3D6eeeirsdrvxGrqmpib827/9\nG+677z5Mnz4dAPDBBx9AVVX8+c9/xvHjx7Fv3z48+OCDmDp1ar/38Pv9eOedd7B//36sXbsWwWAQ\n3d3duO2227B+/XooioIf/vCHUFUVnZ2deO211zBjxgwAwD333BP1NfMBAx4iIiIiojSJlUGZMmUK\nPvroI8yfP9/olFZcXIy2tjYAQGtrK+rq6iJ+RxRF+P1+4/8vuugirF69GjfffDMAoKqqCvv37zce\nv+2227Bq1SojCAGAv/71r8a/V65cie9///sxA5N//vOfOOuss/DQQw8ZP7v66quxbds2vP7667jv\nvvswf/58AFpHuquuugq//OUvB/zcg2WUAK1z27x58wZ9XrIY8BARERERpcmxY8ewfPlyAOGszi23\n3IIbbrgBK1euxNNPP42TTjoJgNYd7eyzz8Zll12GGTNmYObMyIzUlClTcOjQIdxzzz349a9/jW9/\n+9t48sknjVbPZ555ppFNOnbsGHbv3o2HHnrIeN9rrrkG3/jGN+Ledr2ttdn3v/99vP766/jss8/w\n9a9/3fj5hAkTMGnSJOzevXvAsrXe3l4sX7683zaZA6F9+/bhzjvvjHs7E8WAh4iIiIgoDSZMmICa\nmpqYj7/88ssAgE2bNuGtt94CoLVz7sv8s40bNxr/3rx5M5YsWWIEGOPHj8fEiRONxgIffvjhgNsX\n7b2AcBZmzZo1/R77zne+g+985ztRf+/JJ58EgKglfLqPP/54wG3asGED5s2bZ3SXywQ2LSAiIiIi\nynO33347Xn31VVx77bURP7/tttvw0EMPQZKkpF9bz8JksjW0Tl94VBRFeDwePPvss7jpppsy+p7M\n8BARERERZdGCBQuwYMGChH4nVslXdXU1Hn/88ZS2Z7AsTDqZFx4FgKeffjrj78kMDxERERERDVsM\neIiIiIiIaNhiwENERERERMMWAx4iIiIiIhq22LSAiIiIiCgN6uvrcckll+D0008HEF6HZ82aNSgt\nLY37dR577DHMnTsXs2bNwvr163HBBRfEfG5zczNuvfVW/Pd//zf++Mc/YseOHVBVFeeffz6uu+46\nPPnkk3jhhRdQXl4OAPjud7+LSy+9FN/73vdQUlJibOPvf/97VFVVAQD8fj8uvvhirFixAosXL454\nv29+85sYP3487r77bjQ2NuLBBx80Oq5dcskluPrqq7Fjxw787Gc/w6mnngpVVSHLMn75y19i1qxZ\nWLx4MR588EFMmTIFALBnzx78x3/8B77xjW/gueeew3XXXWf8zlVXXZXQ/o+FAQ8RERERUZpMmTJl\nwHVp4nH99dcDAE6cOIHXXnttwIDnrrvuwo033oijR49i+/btWLduHVRVxcUXX4zFixfD7Xbj5z//\nOc4777yI3xMEIeZ2PvL
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1062f42b38>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"asset_ret.plot()\n",
"bench_ret.plot()\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Régression pour les valeurs de Alpha et Beta"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f1065e0c2b0>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA1QAAAHsCAYAAADVZ+xsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xt8VPd95//XOXNmNKNBQreRuIiLQQhhMBW2LINN7Djr\nNpeH84j9aJuN8SMhfbBx4zStWz+ybd1mk83j0T6yyR+b3Tb72LaOs6tm7aRpffnV6aa2NzF2MchY\nEBljA8KAuAlGIyEJaebM5cw5vz+EhCR0HXRB4v38x2au33PmMHw/8/l8P1/D8zwPERERERERmTJz\nrgcgIiIiIiIyXymgEhERERERyZECKhERERERkRwpoBIREREREcmRAioREREREZEcWXM9gJl04MCB\nuR6CiIiIiIjc4O64446cn7ugAyq4vpMjYztw4IDOrcwrumZlPtJ1K/ONrlmZj643CaOSPxERERER\nkRwpoBIREREREcmRAioREREREZEcKaASERERERHJkQIqERERERGRHCmgEhERERERyZECKhERERER\nkRwpoBIREREREcmRAioREREREZEcKaASERERERHJkQIqERERERGRHCmgEhERERERyZECKhERERER\nkRwpoBIREREREcmRAioREREREZEcKaASERERERHJkQIqERERERGRHCmgEhERERERyZECKhERERER\nkRwpoBIREREREcmRAioREREREZEcKaASERERERHJkQIqERERERGRHCmgEhERERERyZECKhERERER\nkRwpoBIREREREcmRAioREREREZEcKaASERERERHJkQIqERERERGRHCmgEhERERERyZECKhERERER\nkRwpoBIREREREcmRAioREZE5YNs2Z8+2Ydv2XA9FRESugzXXAxAREbmZOI5DQ0MzTU1hEokI+fmt\n1NXF2bmzFsvSP8siIvONvrlFRERmUUNDM42NtZimRTAIrltGY6MDNLNrV91cD09ERKZIJX8iIiKz\nxLZtmprCmObw3zNN06KpKazyPxGReUgBlYiIyCzp6OgikYiMel8iEaGzs2uWRyQiItdLAZWIiMgs\nKSsrJj8/Nup9+fkxSkuLZ3lEIiJyvRRQiYiIzJJQKERdXRzXdYbd7roOdXVxQqHQHI1MRERypaYU\nIiIis2jnzlpgaJe/GPX18Su3i4jIfKOASkREZBZZlsWuXXXs2GHT2dlFaelqZaZEROYxBVQiIiJz\nIBQKUVmpQEpEZL7TGioREREREZEcKaASERERERHJkQIqERERERGRHCmgEhERERERyZECKhERERER\nkRwpoBIREREREcmRAioREREREZEcKaASERERERHJkQIqERERERGRHCmgEhERERERyZECKhERERER\nkRwpoBIREREREcmRAioREREREZEcKaASERERERHJkQIqERERERGRHCmgEhERERERyZECKhERERER\nkRwpoBIREREREcmRAioREREREZEcKaASERERkWln2zZnz7Zh2/ZcD0VkRllzPQARERERWTgcx6Gh\noZmmpjCJRIT8/Fbq6uLs3FmLZWnqKQuPrmoRERERmTYNDc00NtZimhbBILhuGY2NDtDMrl11cz08\nkWmnkj8RERERmRbJZJKmpjCmOfw3e9O0aGoKq/xPFiQFVCIiIiIyLbq7e0kkIqPel0hE6OzsmuUR\nicw8BVQiIiIiMi2KigrIz4+Nel9+fozS0uJZHpHIzFNAJSIiIiLTIhgMUlcXx3WdYbe7rkNdXZxQ\nKDRHIxOZOWpKISIiIiLTZufOWmBol78Y9fXxK7eLLDxzElB9+9vf5t1338UwDP7sz/6M2267bfC+\nvXv38r3vfQ+fz8e9997LV77yFd5//32+8pWvsGrVKjzPY/369Xz961+fi6GLiIiIyDgsy2LXrjp2\n7LDp7OyitHS1MlOyoM16QPXOO+9w+vRpfvKTn3DixAmeeuopfvrTnw7e/5d/+Zf88Ic/pLy8nEce\neYSPf/zjJBIJPvGJT/DUU0/N9nBFREREJAehUIjKSgVSsvDN+hqqffv28cADDwCwdu1aLl++TDwe\nB+Ds2bMUFRVRUVGBYRh89KMfpbGxkXg8jud5sz1UERERERGRcc16QNXR0UFJScngn0tLS+no6Bj1\nvrKyMtrb20kkEhw4cIDHHnuMz3/+87z99tuzPWwREREREZFrzHrJ38hMk+d5GIYx7n01NTV89atf\n5f7776e1tZXf+Z3f4bXXXsOyJh7+gQMHpm/wMozOrcw3umZlPtJ1K/ONrlm52cx6QFVRUTGYkQJo\nb2+nrKxs8L5Y7OreBdFolEgkwpo1a1izZg0Aq1evpqysjGg0yvLlyyd8vzvuuGOaj0Cg/8tS51bm\nE12zMh/pupX5RteszEfX+yPArJf83XPPPbzyyisAfPDBB1RUVJCfnw/A8uXLicfjtLW14TgOu3fv\nZvv27Tz//PP86Ec/AiAWi9HZ2UlFRcVsD11ERERERGSYWc9QbdmyhY0bN/K5z30On8/HN77xDV58\n8UUKCgp44IEH+OY3v8mTTz4JwIMPPsiqVasoLi7ma1/7Gq+88gqZTIZvfetbkyr3ExERERERmUlz\nEpUMBEwD1q9fP/j/dXV1/OQnPxl2f2FhIX/3d383K2MTERERERGZrFkv+RMREREREVkoFFCJiIiI\niIjkSAGViIiIiIhIjhRQiYiIiIiI5EgBlYiIiIiISI4UUImIiIiIiORIAZWIiIiIiEiOFFCJiIiI\niIjkSAGViIiIiIhIjhRQiYiIiIiI5EgBlYiIiIiISI4UUImIiIiIiORIAZWIiIiIiEiOFFCJiIiI\niIjkSAGViIiIiIhIjhRQiYiIiMiCZNs2Z8+2Ydv2XA9FFjBrrgcgIiIiIjKdHMehoaGZpqYwiUSE\n/PxW6uri7NxZi2Vp+ivTS1eUiIiIiCwoDQ3NNDbWYpoWwSC4bhmNjQ7QzK5ddXM9PFlgVPInIiIi\nIguGbds0NYUxzeF5A9O0aGoKq/xPpp0CKhERERFZMDo6ukgkIqPel0hE6OzsmuURyUKngEpERERE\nFoyysmLy82Oj3pefH6O0tHiWRyQLnQIqEREREVkwQqEQdXVxXNcZdrvrOtTVxQmFQnM0Mlmo1JRC\nRERERBaUnTtrgaFd/mLU18ev3C4yvRRQiYiIyE3Dtm06OrooKytWpmIBsyyLXbvq2LHDprOzi9LS\n1fq8ZcYooBIREZEFT/sS3ZxCoRCVlQqkZGbpG0REREQWPO1LJCIzRU0pREREZEHTvkQiMpMUUImI\niMiCpn2JRGQmKaASERG5Adi2zdmzbcqWzADtSyQiM0lrqERERObQeM0SZHoM7EvU2OgMK/tzXYf6\neu1LJCLXRwGViIjIHBqvWUJtrTHXw1swhu5LdPnyIgzjJPfc42Pnzq1zPTQRmedU8iciIjJHJmqW\nkEwm52hkC49lWezcWcvmzV2YZhTPW8+hQ6U0NDTjOM5cD09E5jFlqERERObIQLOEYPDa+xKJCD09\np2d/UAtYQ0MzBw/Wk5/fP/1x3SVqnS4i100ZKhERkTkyUbOExYsLZnlEC5dap4vITFFAJSIiMkcG\nmiW47vCSM9d1qKuLExwtdSU5Uev0m5c6aMpMU8mfiIjIHBraLKG/y1+M+vr+Ln/vvvvuXA9vwejP\nBrbiumXX3NffOn317A9KZtR4HTQtS1NgmT66mkREROaQZVns2lXHjh02nZ1dlJauVhvvGaDW6Tef\n8Tpoas2cTCeV/ImIiNwAQqEQlZXLNLGfQTt31rJ1azOmeYRksgPTPMLWrc3a82sB0po5mU3KUImI\niMhNQdnAm8dEHTQ7O7uorNRnL9NDGSoRERG5qSgbuPBN1EGztLR4lkckC5kCKhERERFZUCbqoKlg\nWqaTSv5EREREZMEZr4OmyHRSQCUiIiIiC47WzMlsUUAlIiIiIgtW/5o5BVIyc7SGSkREREREJEcK\nqEREREQWCNu2OXu2Tfs
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1067c79ac8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(bench_ret,asset_ret,alpha=0.6,s=50)\n",
"plt.xlabel('Rendement SPY')\n",
"plt.ylabel('Rendement AAPL')"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"AAPL = asset_ret.values\n",
"spy = bench_ret.values"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"# Ajouter une constante (colonne de 1s pour l'interception)\n",
"spy_constant = sm.add_constant(spy)\n",
"\n",
"# Adapter la régression aux données\n",
"model = regression.linear_model.OLS(AAPL,spy_constant).fit()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1.67990248e-05, 1.02981370e+00])"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.params"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"alpha , beta = model.params"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.6799024809993564e-05"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"alpha"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.0298136979465768"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"beta"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Tracer Alpha et Beta"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f1063b259e8>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA1QAAAHsCAYAAADVZ+xsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl0XGed5/933bpVqipZ1lqSdyte5DXGiRXHdpyEBJPV\nGZKhOyTOD5xus3RoaHoyTU+H4dCnu+HHwJmZDANzBhpCt5sfkKFJyJCYbE02HFuxZUde48ibvFsq\nrZZqv3Xv74+yZEnWWtbikj+vczjEtT5VdV2+n/o+z/dxOY7jICIiIiIiIsNmjPcAREREREREspUC\nlYiIiIiISIYUqERERERERDKkQCUiIiIiIpIhBSoREREREZEMmeM9gNG0a9eu8R6CiIiIiIhc5Vas\nWJHxfSd0oIIre3Okf7t27dJ7K1lFx6xkIx23km10zEo2utIijKb8iYiIiIiIZEiBSkREREREJEMK\nVCIiIiIiIhlSoBIREREREcmQApWIiIiIiEiGFKhEREREREQypEAlIiIiIiKSIQUqERERERGRDClQ\niYiIiIiIZEiBSkREREREJEMKVCIiIiIiIhlSoBIREREREcmQApWIiIiIiEiGFKhEREREREQypEAl\nIiIiIiKSIQUqERERERGRDClQiYiIiIiIZEiBSkREREREJEMKVCIiIiIiIhlSoBIREREREcmQApWI\niIiIiEiGFKhEREREREQypEAlIiIiIiKSIQUqERERERGRDClQiYiIiIiIZEiBSkREREREJEMKVCIi\nIiIiIhlSoBIREREREcmQApWIiIiIiEiGFKhEREREREQypEAlIiIiIiKSIQUqERERERGRDClQiYiI\njINoNMqpU2eJRqPjPRQREbkC5ngPQERE5FpiWRabN9dQXZ1LJBIkEKijsjLMxo3LMU39sywikm30\nzS0iIjKGNm+uoapqOYZh4vOBbZdQVWUBNWzaVDnewxMRkWHSlD8REZExEo1Gqa7OxTB6/p5pGCbV\n1bma/icikoUUqERERMZIY2MLkUiwz+sikSBNTS1jPCIREblSClQiIiJjpKSkkEAg1Od1gUCI4uLC\nMR6RiIhcKQUqERGRMeL3+6msDGPbVo/LbduisjKM3+8fp5GJiEim1JRCRERkDG3cuBzo3uUvxMqV\n4YuXi4hItlGgEhERGUOmabJpUyUbNkRpamqhuLhclSkRkSymQCUiIjIO/H4/M2YoSImIZDutoRIR\n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\njCFN+RMRERHJcpZlsXl
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1065e0c0b8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Dispersion des rendements\n",
"plt.scatter(bench_ret,asset_ret,alpha=0.6,s=50)\n",
"\n",
"# Ligne d'ajustement\n",
"min_spy = bench_ret.values.min()\n",
"max_spy = bench_ret.values.max()\n",
"\n",
"spy_line = np.linspace(min_spy,max_spy,100)\n",
"y = spy_line * beta + alpha\n",
"\n",
"plt.plot(spy_line,y,'r')\n",
"\n",
"plt.xlabel('Rendement SPY')\n",
"plt.ylabel('Rendement AAPL')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Implémenter la courverture de risque"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"hedged = -1*beta*bench_ret + asset_ret"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f1065e36a58>"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nNDQ04NChQ1i+fDmklAgEAhg5ciTq6uowY8YMAMDXvvY153lVVVWYPn06AODcc8+FEAIffvghdu/e\njWXLljmZo9raWkyYMCHRzd8lBjxERERENOjccGlJr9mYZKuursbu3bvxi1/8AoCVrSksLMS1116L\nDRs2IBQK4bLLLoOUEqZp4q9//SuWLFkCIDqoiFVVVRWeeeYZvPzyy8jOzsall14KAPjmN7+JBx98\nEPv27cOkSZOQm5sLt9uNe++9F6Wlpc7zm5ubIYTocRmKonQqawMAt9uN4uJirFu3Lur2J598Epqm\nOb939fqqqkIIAY/HgyuuuAI33XRTXO87XuzSRkRERESUBK+88gquueYavPTSS3jppZfw17/+FS0t\nLaisrMRrr72GZ599Fi+++CJeeukl/OpXv8Jrr73mPLeroKKn2wGgqakJo0aNQnZ2Nj755BNUVVVB\n13V4PB5Mnz4dTz75JC688EIAQGlpKd566y0AwBdffIFnnnkGw4cPhxACtbW1kFLi5ptvRnt7e0zL\nLywshKIo2L9/PwDg97//Pfbt24cTTzwRe/bsAQDs3LkToVAIADBmzBgcPHgQpmli8+bNAKwM0MaN\nGyGlRDAYxP3339/rNk4EMzxEREREREnw2muv4cEHH4y6bcGCBU4G5qSTTnJuP+2001BXV4fq6uoe\nO5kdOnTIKflSFAV33XUXTj31VADAV77yFeTk5ODqq6/GzJkzsWjRIvzsZz/DU089hXnz5qGsrAz3\n3nsvAOB73/seysrKcM0110AIgf/4j/8AAKxcudJpM33xxRc7neNsPa3b/fffj7KyMng8HhQVFWHR\nokWYPHky/u///g9Lly7FtGnTMHbsWADA7bffjuXLl2PixImYMmUKXC4XZsyYgVmzZjmNHa6++uqY\ntnO8FNlT2JgBysvLMXPmzP5ejZQbKu+zK0P5vR+L28LC7dCB24LbIBK3RTRuD26DSOXl5SgpKYm7\nLIzSY/PmzTjxxBMxbtw4rFixAmeccQYuvvjiuF8nEAgAQKfPuae/BWZ4iIiIiIgopaSUuPXWW5GX\nl4fRo0dj3rx5aVs2Ax4iIiIiIkqps88+G2effXa/LJtNC4iIiIiIaNBiwENERERERIMWAx4iIiIi\nIhq0GPAQEREREdGgxaYFRERERERJcOTIEVx66aU45ZRTAMCZO2ft2rUoLCyM+XWeeOIJzJo1C6Wl\npXjzzTd77GhWU1ODu+++G//93/+NX/3qV9i+fTuklLjgggtw44034umnn8af//xnjBgxAgDw3e9+\nF1dccQUuu+wyFBQUOOv4y1/+EkVFRQCAYDCISy65BMuXL8eCBQuilnfeeedh3LhxWLNmDY4ePYpH\nH30UqqrC5/Ph0ksvxXXXXYft27fj9ttvx8knnwwpJUzTxI9+9COUlpZiwYIFePTRRzF58mQAwK5d\nu/Dzn/8c3/rWt/DCCy/gxhtvdJ5z7bXXxrX9u8OAh4iIiIgoSSZPnox169b16TVuuukmAMDhw4fx\nyiuv9BjwrF69Grfddhs
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1065e36c50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"hedged.plot(label='AAPL avec Hedge')\n",
"bench_ret.plot(alpha=0.5)\n",
"asset_ret.plot(alpha=0.5)\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Que se passe-t-il en cas de chute importante du marché ?"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f10667d4470>"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAzwAAAHRCAYAAACvs7ybAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl41NXd///nzCSTfQ9JSAiBIIsCRgRZBAEVcQFaFAXU\nAi7V2yp1t22wwE+U4lJvqkXr7dcN3KhtFRV3iriALIYdZAtbICH7OkkmmeX3x5ARJIQsk2SGvB7X\n1etKPsv5vOdQTF6c8znH4HQ6nYiIiIiIiJyFjO1dgIiIiIiISGtR4BERERERkbOWAo+IiIiIiJy1\nFHhEREREROSspcAjIiIiIiJnLQUeERERERE5a/m15OYFCxawZcsWDAYDs2bNon///u5za9asYeHC\nhZhMJkaOHMndd99NZWUlf/zjHykpKcFms3HPPfcwYsSIFn8IERERERGR+jQ78GzYsIFDhw6xdOlS\nMjMzSU9P57333nOfnz9/Pq+99hpxcXHcdNNNXHnllaxdu5bU1FQeeOAB8vLymDFjBp999plHPoiI\niIiIiMgvNXtK2w8//MCYMWMA6NGjB2VlZVgsFgCysrKIjIwkPj4eg8HAqFGjWLt2LVFRURQXFwNQ\nWlpKdHS0Bz6CiIiIiIhI/ZodeAoKCk4KLDExMRQUFNR7LjY2lry8PK655hqys7MZO3Ys06ZN449/\n/GMLShcREREREWlYs6e0OZ3OU743GAwNnvvoo49ITEzklVdeYdeuXfz5z3/m3//+d4PPycjIaG6J\nIiIiIiLSQQwcOLDe480OPPHx8e4RHYC8vDxiY2Pd5/Lz893ncnNz6dSpExs3buSSSy4BoE+fPuTm\n5uJwODAaGx5oOl3xnpKRkdHqzxD1c1tRP7c+9XHbUD+3DfVz61Mftw31c+vz5j5uaJCk2VPahg8f\nzhdffAHAzp07iY+PJzg4GICkpCQsFgvZ2dnYbDZWrVrFiBEjSElJYfPmzQAcPXqUkJCQM4YdERER\nERGR5mr2CM+AAQPo27cvU6dOxWQyMWfOHD744APCwsIYM2YMc+fO5cEHHwRg/PjxpKSkMGXKFGbN\nmsW0adOw2+3MmzfPYx9ERERERETkl1q0D09doKnTu3dv99eDBg1i6dKlJ50PDg7mb3/7W0seKSIi\nIiJSr+rq6vYu4aznDX0cEBDgXjugMTSfTERERETOClartb1LOKv17du3vUvAarU2+c+5RSM8IiIi\nIiLeIiAggMDAwPYuQ7yMRnhEREREROSspcAjIiIiIiJnLQUeERERERE5aynwiIiIiIh40Mcff0y/\nfv0oKSk55dxtt93GzJkzTzp22WWX8Zvf/IZp06YxdepUnn/+ecC1b+WkSZPapObTueyyy6iqqnJ/\nv379eu69995G3z906NDWKKtJtGiBiIiIiIgHffLJJ3Tt2pUvvviCKVOmuI8XFhZy4MABrFYrFRUV\nhIaGAmAwGHjllVcIDAzE6XRy6623snHjRuLj45u0/HJrqO/5TampvesHBR4REREREY8pLS1l27Zt\n/OUvf+GVV145KfB8+umnXHbZZZSVlbFixQomTpwIgNPpxOl0Aq6A0L9/fw4dOkR8fPwZn/f666/z\nxRdf4HQ6GTlyJL/73e8YM2YMn3/+OWazmfXr1/PWW2+xYMEC0tPTKS8vx2azMXv2bHr16sXq1atZ\nuHAhfn5+XH311cyYMeOk9uvqqu/7H3/8kYULF+Lv70/nzp15/PHHMRgMPPTQQxQWFp60jPWaNWtY\nsGABcXFx9O7dm+DgYGbOnMnChQvZuHEjdrudm2++mXHjxjW9089AgUdEREREzjqvfbyD1VuOerTN\n4WlJ3Dah4b1oPvvsMy677DIuueQSZs+eTV5eHnFxcQAsX76cP/zhD1RUVLBkyRJ34DlRdXU169at\n49e//nWjajIYDLz77rsYDAYuv/xybrnlFoYNG8YPP/zAqFGjWLlyJVdddRWLFy9m5MiRXH/99WRm\nZjJ//nxee+015s2bxz//+U/Cw8O5++67ufHGGzGbzSc944477sBoNOJ0OikvLyclJQWA+fPns3jx\nYsLDw3nmmWf47LPPCA8Px2638+abb7J161YWL14MwF//+leeeeYZevfuzY033siIESP48ccfyc7O\n5s0336SmpobrrruOK6644pTnt5QCj4iIiIiIhyxfvpx77rkHo9HI2LFj+eyzz5gxYwZZWVnk5eUx\ncOBAamtrefTRRykuLiYqKgpwhQqDwYDBYGDKlCmcc845HD165sAWEBDAzTffjMlkoqSkhNLSUq64\n4gq+/vprRo0axffff8+9997LfffdR3FxMR9++CEANTU1FBUVERAQQGRkJAAvvfRSvc+om24Hrnd4\n3n77bQoLCzl48CAzZ87E6XRSXV1NdHQ0+fn5DBgwAIDzzz/ffV92djZ9+vQBYOTIkTgcDjZt2sTW\nrVuZPn26e+QoLy+PLl26NLf766XAIyIiIiJnndsm9D3jaIynHTt2jK1bt/LUU08BrtGa8PBwZsyY\nwccff0xNTQ3XXnstTqcTu93O559/zo033gicHCoaKzs7mzfeeIMPP/yQwMBAJkyYAMDFF1/M008/\nzZ49e0hJSSE4OBh/f39mz55NWlqa+/6SkhIcDkeDzzAYDKdMawPw9/cnPj6eJUuWnHT81VdfxWQy\nub+vr32j0YjD4cBsNjNp0iTuvPPOJn3uptIqbSIiIiIiHrB8+XJuvvlmli1bxrJly/j8888pLS0l\nKyuLTz/9lMWLF/PBBx+wbNky/v73v/Ppp5+6760vVDR0HKC4uJiYmBgCAwPZsWMH2dnZ1NbWYjab\n6dOnD6+++ipXXnklAGlpaXz11VcA7Nu3jzfeeIPIyEgcDgd5eXk4nU7uuusuKioqGvX88PBwDAYD\nmZmZALz11lvs2bOH7t27s23bNgA2btxITU0NAJ06deLAgQPY7XZWr14NuEaAVq5cidPpxGq18sQT\nT5yxj5tDIzwiIiIiIh7w6aef8vTTT590bOLEie4RmHPOOcd9fNCgQeTn53Ps2LEGVzI7ePCge8qX\nwWDgkUceoX///gCce+65BAUFcdNNNzFw4ECmTJnCY489xmuvvcbYsWNJT09n9uzZAPzmN78hPT2d\nm2++GYfDwZ///GcA5s6d615m+pprrnGvHFenodqeeOIJ0tPTMZvNxMXFMWXKFFJTU/nPf/7DtGnT\n6N27NwkJCQDcd999zJw5k+TkZHr06IGfnx8DBgxgyJAh7oUdbrrppkb1c1MZnA3FRi+QkZHBwIED\nff4Zon5uK+rn1qc+bhvq57ahfm596uO2kZGRQd++fZs8LUzaxurVq+nevTuJiYnMmTOHoUOHcs01\n1zS5nerqaoBT/pwb+numER4REREREWlVTqeTe+65h5CQEGJjYxk7dmybPVuBR0REREREWtWIESMY\nMWJEuzxbixaIiIiIiMhZS4FHRERERETOWgo8IiIiIiJy1lLgERERERGRs5YWLRARERER8YCjR48y\nYcIE+vXrB+DeO2fRokWEh4c3up2XX36ZIUOGkJaWxpdfftngima5ubnMmjWL//u//+Pvf/8769ev\nx+l0csUVV3D77bfz+uuv8/777xMVFQXAr3/9ayZNmsS1115LWFiYu8a//vWvxMXFAWC1Whk3bhwz\nZ85k4sSJJz3vsssuIzExkQULFpCTk8Nzzz2H0WiksrKSCRMmcMstt7B+/Xruu+8+evbsidPpxG63\n8/DDD5OWlsbEiRN57rnnSE1NBWDLli385S9/4dJLL+W9997j9ttvd98zY8aMJvX/6SjwiIiIiIh4\nSGpqKkuWLGlRG3feeScAR44cYfny5Q0Gnvnz53Pvvfdy4MAB1q1bx9KlS3E6nYwbN46JEydisVi4\n//77ufzyy0+6z2AwnLbOF1980R2QfslgMPDKK68QGBjIb3/7W95++21iY2Opqanh1ltvZfz48QAM\nHjyY5557DoCsrCzuvPN
"text/plain": [
"<matplotlib.figure.Figure at 0x7f10667f9b70>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"hedged.plot(label='AAPL avec Hedge')\n",
"bench_ret.plot()\n",
"asset_ret.plot()\n",
"plt.xlim(['2016-06-01','2016-08-01'])\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Effets de la couverture du risque"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"def alpha_beta(benchmark_ret,stock):\n",
" \n",
" benchmark = sm.add_constant(benchmark_ret)\n",
" \n",
" model = regression.linear_model.OLS(stock,benchmark).fit()\n",
" \n",
" return model.params[0], model.params[1]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**2016-2017 Alpha et Beta**"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Résultats 2016\n",
"alpha: 1.679902481e-05\n",
"beta: 1.02981369795\n"
]
}
],
"source": [
"# Obtenez les estimations alpha et bêta de l'année dernière\n",
"start = '2016-01-01'\n",
"end = '2017-01-01'\n",
"\n",
"asset2016 = get_pricing('AAPL', fields='price', start_date=start, end_date=end)\n",
"benchmark2016 = get_pricing('SPY', fields='price', start_date=start, end_date=end)\n",
"\n",
"asset_ret2016 = asset2016.pct_change()[1:]\n",
"benchmark_ret2016 = benchmark2016.pct_change()[1:]\n",
"\n",
"aret_val = asset_ret2016.values\n",
"bret_val = benchmark_ret2016.values\n",
"\n",
"alpha2016, beta2016 = alpha_beta(bret_val,aret_val)\n",
"\n",
"print('Résultats 2016')\n",
"print('alpha: ' + str(alpha2016))\n",
"print('beta: ' + str(beta2016))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Création d'un portefeuille**"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Portefeuille avec Alpha et Beta:\n",
"alpha: 1.679902481e-05\n",
"beta: 1.36609473733e-16\n"
]
}
],
"source": [
"# Créer un portefeuille couvert et calculer alpha et beta\n",
"portfolio = -1*beta2016*benchmark_ret2016 + asset_ret2016\n",
"\n",
"alpha, beta = alpha_beta(benchmark_ret2016,portfolio)\n",
"print('Portefeuille avec Alpha et Beta:')\n",
"print('alpha: ' + str(alpha))\n",
"print('beta: ' + str(beta))"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA0sAAAHMCAYAAAAEbjM/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmUFOW5P/BvVXX37CPrDLKIAQXiqBMuXBUxQBTQCCa4\nsWjA7cbjT4lGE5OMRjhBCUbj9WqIyfXEDWNCzL1R474hV0URHBRQgiibszArs/ZaVe/7+6O6arqZ\nfaa7pmfm+znHIzPdXf12dU9XPfU87/MqUkoJIiIiIiIiiqP29QCIiIiIiIhSEYMlIiIiIiKiNjBY\nIiIiIiIiagODJSIiIiIiojYwWCIiIiIiImoDgyUiIiIiIqI2ePrqidetW4edO3dCURTccccdOO20\n05zbPvjgAzz44IPQNA2zZs3CjTfeiEAggJ///Oeor6+HYRi46aabcM455/TV8ImIiIiIaIDrk2Bp\n+/btOHz4MDZu3Ij9+/ejqKgIzz77rHP72rVr8fjjjyMvLw9XXHEFzj//fGzduhUTJkzArbfeiqqq\nKlx11VV49dVX+2L4REREREQ0CPRJGd6HH36IuXPnAgAmTpyIxsZG+P1+AEBJSQmGDBmC/Px8KIqC\n2bNnY+vWrRg6dCjq6uoAAA0NDRg2bFhfDJ2IiIiIiAaJPgmWampq4oKd4cOHo6amps3bRowYgaqq\nKlx44YUoLy/H/PnzsXz5cvz85z93fdxERERERDR49EmwJKVs9bOiKB3e9s9//hOjR4/GG2+8gSef\nfBJr1qxxbbxERERERDT49Mmcpfz8fCeTBABVVVUYMWKEc1t1dbVzW2VlJUaOHIkdO3bg29/+NgBg\nypQpqKyshBACqtp+vFdcXJykV0BERERERAPFtGnT2vx9nwRLM2fOxPr167F48WLs2bMH+fn5yMzM\nBACMGTMGfr8f5eXlyMvLw+bNm/HAAw8gEong008/xbx581BWVoasrKwOAyVbey98ICkuLh4Ur7Mt\ng/m1H4v7wsL90IL7gvsgFvdFPO4P7oNY3BeDex90lGDpk2Bp6tSpKCgowNKlS6FpGlatWoXnnnsO\nOTk5mDt3LlavXo3bbrsNALBw4UKMHz8eS5YswR133IHly5fDNE2W4RERERERUVL12TpLdjBkmzx5\nsvPv6dOnY+PGjXG3Z2Zm4r/+679cGRsREREREVGfBUtERERERKkiFAr19RD63GDYB2lpaU5jua7o\nk254RERERESpJBwO9/UQ+lRBQUFfDyHpwuFwt99nZpaIiIiIaNBLS0tDenp6Xw+DUgwzS0RERERE\nRG1gsERERERERNQGBktERERERCnixRdfxKmnnor6+vpWt1177bVYuXJl3O/OPfdc/OAHP8Dy5cux\ndOlSPPzwwwCAsrIyXHrppa6MuT3nnnsugsGg8/O2bdtw8803d/nxZ511VjKG1S2cs0RERERElCJe\nfvllnHDCCXj99dexZMkS5/e1tbU4ePAgwuEwmpubkZ2dDQBQFAV/+tOfkJ6eDiklrrnmGuzYsQP5\n+fnd6vqWDG09f3fG1NfjBxgsERERERGlhIaGBuzevRu//vWv8ac//SkuWHrllVdw7rnnorGxEW+9\n9RYWLVoEAJBSQkoJwAouTjvtNBw+fBj5+fmdPt8TTzyB119/HVJKzJo1C//v//0/zJ07F6+99hp8\nPh+2bduGP//5z1i3bh2KiorQ1NQEwzBw1113YdKkSdiyZQsefPBBeDwefPe738VVV10Vt317XG39\n/PHHH+PBBx+E1+vF8ccfj7vvvhuKouAnP/kJamtr47rzffDBB1i3bh3y8vIwefJkZGZmYuXKlXjw\nwQexY8cOmKaJK6+8EgsWLOj+Tu8EgyUiIiIiohgb3/wC2z6vSOg2zygYhaXzJnd4n1dffRXnnnsu\nvv3tb+Ouu+5CVVUV8vLyAAAvvfQSfvazn6G5uRkbNmxwgqVYoVAIH330Eb7//e93aUyKouCvf/0r\nFEXBeeedh6uvvhozZszAhx9+iNmzZ2PTpk244IIL8NRTT2HWrFm47LLLsH//fqxduxaPP/441qxZ\ng7/97W/Izc3FjTfeiGXLlsHn88U9xw9/+EOoqgopJZqamjB+/HgAwNq1a/HUU08hNzcX999/P159\n9VXk5ubCNE08/fTT2LVrF5566ikAwG9/+1vcf//9mDx5MpYtW4ZzzjkHH3/8McrLy/H0008jEong\nkksuwbx581o9f28xWCIiIiIiSgEvvfQSbrrpJqiqivnz5+PVV1/FVVddhZKSElRVVWHatGnQdR13\n3nkn6urqMHToUABWQKIoChRFwZIlS3DSSSehrKys0+dLS0vDlVdeCU3TUF9fj4aGBsybNw/vvPMO\nZs+ejffffx8333wzbrnlFtTV1eGFF14AAEQiERw9ehRpaWkYMmQIAOCPf/xjm89hlwgC1pylZ555\nBrW1tTh06BBWrlwJKSVCoRCGDRuG6upqTJ06FQBw+umnO48rLy/HlClTAACzZs2CEAKffPIJdu3a\nhRUrVjgZq6qqKowdO7anu79NDJaIiIiIiGIsnTe50yxQolVUVGDXrl34zW9+A8DKEuXm5uKqq67C\niy++iEgkgosvvhhSSpimiddeew3Lli0DEB+QdFV5eTmefPJJvPDCC0hPT8dFF10EADj77LNx3333\nYd++fRg/fjwyMzPh9Xpx1113obCw0Hl8fX09hBAdPoeiKK1K8QDA6/UiPz8fGzZsiPv9Y489Bk3T\nnJ/b2r6qqhBCwOfz4dJLL8X111/frdfdXeyGR0RERETUx1566SVceeWVeP755/H888/jtddeQ0ND\nA0pKSvDKK6/gqaeewnPPPYfnn38ev/vd7/DKK684j20rIOno9wBQV1eH4cOHIz09HZ9//jnKy8uh\n6zp8Ph+mTJmCxx57DOeffz4AoLCwEG+++SYA4KuvvsKTTz6JIUOGQAiBqqoqSClxww03oLm5uUvP\nn5ubC0VRsH//fgDAn//8Z+zbtw/f+MY3sHv3bgDAjh07EIlEAAAjR47EwYMHYZomtmzZAsDKPG3a\ntAlSSoTDYdxzzz2d7uOeYGaJiIiIiKiPvfLKK7jvvvvifrdo0SIn83PSSSc5v58+fTqqq6tRUVHR\nYce4Q4cOOWVqiqLg9ttvx2mnnQYA+OY3v4mMjAxcccUVmDZtGpYsWYJf/epXePzxxzF//nwUFRXh\nrrvuAgD84Ac/QFFREa688koIIfDLX/4SALB69WqnFfiFF17odOizdTS2e+65B0VFRfD5fMjLy8OS\nJUswYcIE/O///i+WL1+OyZMnY9SoUQCAW265BStXrsS4ceMwceJEeDweTJ06FWeeeabTBOOKK67o\n0n7uLkV2FHL2c8XFxZg2bVpfDyPpBsvrbMtgfu3H4r6wcD+04L7gPojFfRGP+4P7IFZxcTEKCgq6\nXcpG7tiyZQu+8Y1vYPTo0Vi1ahXOOussXHjhhd3eTigUAoBW73NHfwvMLBERERERUcqSUuKmm25C\nVlYWRowYgfnz57v23AyWiIiIiIgoZZ1zzjk455xz+uS52eCBiIiIiIioDQyWiIiIiIiI2sBgiYiI\niIiIqA0MloiIiIiIiNrAYImIiIiIqI+VlZXh3/7t37BixQqsWLECy5cvx4oVK9DY2Nit7Tz66KPY\nuXMnAOCNN97o8L6VlZW49tprYRgGXnnlFVx++eVYunQpHnzwwbj71dTU4IwzzsD27dtbbaOgoAAr\nVqxAMBgEYC0mO2XKFHzxxRet7nvXXXfh4osvjvvd8uXLcfnll2PFihW44oorsHr1amcx27POOqvV\neJcvX44ZM2bA7/djxYoVrRbCTTQGS0REREREKWDChAnYsGEDNmzYgKeffhobNmxAbm5ut7Zx/fXX\no7CwEKWlpXjppZc6vO/atWtxyy23wDAMPPDAA9iwYQM2btyIDz/8EPv373fud//992PcuHFtbiM3\nNxcbNmxARkYGAODll1/
"text/plain": [
"<matplotlib.figure.Figure at 0x7f106183cd68>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Tracez les rendements du portefeuille ainsi que l'actif en lui-même\n",
"portfolio.plot(alpha=0.9,label='AAPL avec Hedge')\n",
"asset_ret2016.plot(alpha=0.5);\n",
"benchmark_ret2016.plot(alpha=0.5)\n",
"plt.ylabel(\"Rendement quotidien\")\n",
"plt.legend();"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.6799024809993652e-05"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"portfolio.mean()"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.000574549568770769"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"asset_ret2016.mean()"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.012065447808277703"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"portfolio.std()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.014702747344261722"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"asset_ret2016.std()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_____"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**2017 Chiffres clés**"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Résultats 2017\n",
"alpha: 0.000968854542346\n",
"beta: 1.26769880296\n"
]
}
],
"source": [
"# Obtenir des données pour une période différente:\n",
"start = '2017-01-01'\n",
"end = '2017-08-01'\n",
"\n",
"asset2017 = get_pricing('AAPL', fields='price', start_date=start, end_date=end)\n",
"benchmark2017 = get_pricing('SPY', fields='price', start_date=start, end_date=end)\n",
"\n",
"asset_ret2017 = asset2017.pct_change()[1:]\n",
"benchmark_ret2017 = benchmark2017.pct_change()[1:]\n",
"\n",
"aret_val = asset_ret2017.values\n",
"bret_val = benchmark_ret2017.values\n",
"\n",
"alpha2017, beta2017 = alpha_beta(bret_val,aret_val)\n",
"\n",
"print('Résultats 2017')\n",
"print('alpha: ' + str(alpha2017))\n",
"print('beta: ' + str(beta2017))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Création d'un portefeuille basé sur l'estimation du bêta de 2016**"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Portefeuille avec Alpha et Beta hors échantillon:\n",
"alpha: 0.000968854542346\n",
"beta: 0.23788510501\n"
]
}
],
"source": [
"# Créer un portefeuille couvert et calculer alpha et beta\n",
"portfolio = -1*beta2016*benchmark_ret2017 + asset_ret2017\n",
"\n",
"alpha, beta = alpha_beta(benchmark_ret2017,portfolio)\n",
"print 'Portefeuille avec Alpha et Beta hors échantillon:'\n",
"print 'alpha: ' + str(alpha)\n",
"print 'beta: ' + str(beta)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA0sAAAHMCAYAAAAEbjM/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4lOW9//H3M5NM9rATZBEFFStqSuEUUStUcalgxQ1Q\nBLdTjz9FrLa2RSscWYqVejza1C6nblgrta0rrrVIcWEzuKAUUTZDAgmB7MvMPMvvj8k8JJCQBJOZ\nh8nndV1cZPY7eSaZ+cz3vr+34TiOg4iIiIiIiDThi/cAREREREREvEhhSUREREREpBkKSyIiIiIi\nIs1QWBIREREREWmGwpKIiIiIiEgzFJZERERERESakRSvB160aBEff/wxhmFw1113ccopp7iXvf/+\n+zz44IP4/X7OOussbr75Zmpra/npT39KeXk5pmlyyy23cOaZZ8Zr+CIiIiIikuDiEpbWrVvHjh07\nWLp0KVu2bGH27Nk8++yz7uULFy7kscceo2/fvlx11VWcf/75rF69miFDhnD77bdTUlLCNddcw2uv\nvRaP4YuIiIiISBcQl2l4q1atYvz48QAMHTqUyspKampqACgoKKB79+7k5ORgGAZjx45l9erV9OjR\ng7KyMgAqKiro2bNnPIYuIiIiIiJdRFzCUmlpaZOw06tXL0pLS5u9rHfv3pSUlHDhhRdSVFTEeeed\nx/Tp0/npT38a83GLiIiIiEjXEZew5DjOQacNwzjkZS+99BL9+/fnzTff5IknnmDevHkxG6+IiIiI\niHQ9cVmzlJOT41aSAEpKSujdu7d72Z49e9zLiouL6dOnD+vXr+c73/kOACeeeCLFxcXYto3P13Le\ny8/P76TvQEREREREEsXIkSObPT8uYemMM84gLy+PyZMns3HjRnJyckhPTwdgwIAB1NTUUFRURN++\nfVmxYgUPPPAAoVCIjz76iHPPPZfCwkIyMjIOGZSiWvrGJf7y8/N1fDxOxyix6Hge2XT8EouO55FN\nxy+xHKrAEpewNGLECIYPH87UqVPx+/3MmTOH559/nqysLMaPH8/cuXO54447AJg4cSKDBw9mypQp\n3HXXXUyfPh3LsjQNT0REREREOlXc9lmKhqGoYcOGuV+PGjWKpUuXNrk8PT2d//3f/43J2ERERERE\nROIWlkREREREvMBxHILBYLtuU19f30mjkc6UkpLiNpZri7h0wxMRERER8YpgMNiusDR8+PBOHI10\nlvYeZ1BlSURERESElJQUUlNT4z0M8RhVlkRERERERJqhsCQiIiIiItIMhSUREREREY94+eWXOfnk\nkykvLz/osuuvv56ZM2c2Oe/ss8/m6quvZvr06UydOpWHH34YgMLCQi677LKYjLklZ599NnV1de7p\ntWvXMmvWrDbf/rTTTuuMYbWL1iyJiIiIiHjEK6+8wtFHH80bb7zBlClT3PP37t3Ltm3bCAaDVFdX\nk5mZCYBhGPzxj38kNTUVx3G47rrrWL9+PTk5Oe3q+tYZmnv89owp3uMHhSUREREREU+oqKhgw4YN\n/OIXv+CPf/xjk7D06quvcvbZZ1NZWclbb73FpEmTgEjbc8dxgEi4OOWUU9ixYwc5OTmtPt7jjz/O\nG2+8geM4nHXWWfy///f/GD9+PK+//jqBQIC1a9fypz/9iUWLFjF79myqqqowTZN77rmHE044gffe\ne48HH3yQpKQkvve973HNNdc0uf/ouJo7/cEHH/Dggw+SnJzMUUcdxfz58zEMgx/96Efs3bu3ScfB\n999/n0WLFtG3b1+GDRtGeno6M2fO5MEHH2T9+vVYlsW0adOYMGFC+3/orVBYEhERERFpZOk/Pmft\nZ7s79D6/PbwfU88ddsjrvPbaa5x99tl85zvf4Z577qGkpIS+ffsCsGzZMn7yk59QXV3NkiVL3LDU\nWH19PWvWrOHiiy9u05gMw+CZZ57BMAzOOeccrr32WsaMGcOqVasYO3Ysy5cv54ILLuDJJ5/krLPO\n4vLLL2fLli0sXLiQxx57jHnz5vGXv/yF7Oxsbr75Zq688koCgUCTx/jBD36Az+fDcRyqqqoYPHgw\nAAsXLuTJJ58kOzubxYsX89prr5GdnY1lWTz11FN88sknPPnkkwD86le/YvHixQwbNowrr7ySM888\nkw8++ICioiKeeuopQqEQl156Keeee+5Bj/91KSyJiIiIiHjAsmXLuOWWW/D5fJx33nm89tprXHPN\nNRQUFFBSUsLIkSMJh8PcfffdlJWV0aNHDyASSAzDwDAMpkyZwnHHHUdhYWGrj5eSksK0adPw+/2U\nl5dTUVHBueeey9tvv83YsWN59913mTVrFrfddhtlZWW8+OKLAIRCIfbt20dKSgrdu3cH4He/+12z\njxGdIgiRNUtPP/00e/fuZfv27cycORPHcaivr6dnz57s2bOHESNGAHDqqae6tysqKuLEE08E4Kyz\nzsK2bT788EM++eQTZsyY4VasSkpKGDhw4OH++JulsCQiIiIi0sjUc4e1WgXqaLt37+aTTz7hl7/8\nJRCpEmVnZ3PNNdfw8ssvEwqFuOSSS3AcB8uyeP3117nyyiuBpoGkrYqKinjiiSd48cUXSU1N5aKL\nLgLg9NNP5/7772fz5s0MHjyY9PR0kpOTueeee8jNzXVvX15ejm3bh3wMwzAOmooHkJycTE5ODkuW\nLGly/qOPPorf73dPN3f/Pp8P27YJBAJcdtll3Hjjje36vttL3fBEREREROJs2bJlTJs2jRdeeIEX\nXniB119/nYqKCgoKCnj11Vd58sknef7553nhhRf49a9/zauvvuretrlAcqjzAcrKyujVqxepqal8\n9tlnFBUVEQ6HCQQCnHjiiTz66KOcf/75AOTm5vKPf/wDgC+//JInnniC7t27Y9s2JSUlOI7DTTfd\nRHV1dZsePzs7G8Mw2LJlCwB/+tOf2Lx5M8ceeywbNmwAYP369YRCIQD69OnDtm3bsCyL9957D4hU\nnpYvX47jOASDQRYsWNDqz/hwqLIkIiIiIhJnr776Kvfff3+T8yZNmuRWfo477jj3/FGjRrFnzx52\n7959yI5x27dvd6epGYbBnXfeySmnnALAN77xDdLS0rjqqqsYOXIkU6ZM4d577+Wxxx7jvPPOY/bs\n2dxzzz0AXH311cyePZtp06Zh2zY///nPAZg7d67bCvzCCy90O/RFHWpsCxYsYPbs2QQCAfr27cuU\nKVMYMmQIf//735k+fTrDhg2jX79+ANx2223MnDmTQYMGMXToUJKSkhgxYgSjR492m2BcddVVbfo5\nt5fhHCpyHuHy8/MZOXJkvIchLdDx8T4do8Si43lk0/FLLDqe3lJfXw/Q7qlsEhvvvfcexx57LP37\n92fOnDmcdtppXHjhhe2+n5aO86F+H1VZEhERERERz3Ich1tuuYWMjAx69+7NeeedF7PHVlgSERER\nERHPOvPMMznzzDPj8thq8CAiIiIiItIMhSUREREREZFmKCyJiIiIiIg0Q2FJRERERESkGQpLIiIi\nIiJxVlhYyLe+9S1mzJjBjBkzmD59OjNmzKCysrJd9/OHP/yBjz/+GIA333zzkNctLi7m+uuvxzRN\nXn31Va644gqmTp3Kgw8+2OR6paWlfPvb32bdunUH3cfw4cOZMWMGdXV1QGQz2RNPPJHPP//8oOve\nc889XHLJJU3Omz59OldccQUzZszgqquuYu7cue5mtqeddtpB450+fTpjxoyhpqaGGTNmHLQRbkdT\nWBIRERER8YAhQ4awZMkSlixZwlNPPcWSJUvIzs5u133ceOON5ObmsnPnTpYtW3bI6y5cuJDbbrsN\n0zR54IEHWLJkCUuXLmXVqlVs2bLFvd7ixYsZNGhQs/eRnZ3NkiVLSEtLA+CVV15hyJAhvPLKK02u\nZ5omK1asoKqqim3btjW5bNGiRSxZsoQ///nPhEIhd9wHbmqbk5PDU089BUBGRgYzZsw4KNh1NIUl\nEREREREP+/zzz5k0aRL
"text/plain": [
"<matplotlib.figure.Figure at 0x7f106c7b2908>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Tracez les rendements du portefeuille ainsi que l'actif en lui-même\n",
"portfolio.plot(alpha=0.9,label='AAPL avec Hedge')\n",
"asset_ret2017.plot(alpha=0.5);\n",
"benchmark_ret2017.plot(alpha=0.5)\n",
"plt.ylabel(\"Rendement quotidien\")\n",
"plt.legend();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Quels sont les effets réels ? En général, on sacrifie les rendements moyens pour une moindre volatilité, mais cela dépend aussi beaucoup du titre :"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.0011399935632582228"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"portfolio.mean()"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.0018808609159293456"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"asset_ret2017.mean()"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.009066375411652783"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"portfolio.std()"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.010484461271996029"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"asset_ret2017.std()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Bon travail!"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.5",
"language": "python",
"name": "py35"
},
"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.5.9"
}
},
"nbformat": 4,
"nbformat_minor": 2
}