348 lines
42 KiB
Plaintext
348 lines
42 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"id": "initial_id",
|
|
"metadata": {
|
|
"collapsed": true,
|
|
"ExecuteTime": {
|
|
"end_time": "2025-02-15T23:03:06.288017Z",
|
|
"start_time": "2025-02-15T23:03:00.795664Z"
|
|
}
|
|
},
|
|
"source": [
|
|
"import pandas as pd\n",
|
|
"import numpy as np\n",
|
|
"from openbb import obb\n",
|
|
"import datetime as dt\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"\n",
|
|
"# Create our portfolio of equities\n",
|
|
"tickers = ['AAPL','META', 'C', 'DIS']\n",
|
|
"\n",
|
|
"# Set the investment weights (I arbitrarily picked for example)\n",
|
|
"weights = np.array([.25, .3, .15, .3])\n",
|
|
"\n",
|
|
"# Set an initial investment level\n",
|
|
"initial_investment = 1000000\n",
|
|
"\n",
|
|
"# Download closing prices\n",
|
|
"data = (obb.equity.price.historical(symbol=tickers, provider='yfinance')\n",
|
|
" .to_df()\n",
|
|
" .drop(columns=['open', 'high', 'low', 'volume', 'dividend'])\n",
|
|
" .pivot(columns='symbol'))\n",
|
|
"\n",
|
|
"#From the closing prices, calculate periodic returns\n",
|
|
"returns = data.pct_change()\n",
|
|
"\n",
|
|
"# returns.tail()"
|
|
],
|
|
"outputs": [],
|
|
"execution_count": 1
|
|
},
|
|
{
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2025-02-15T22:25:07.699602Z",
|
|
"start_time": "2025-02-15T22:25:07.694945Z"
|
|
}
|
|
},
|
|
"cell_type": "code",
|
|
"source": [
|
|
"# Generate Var-Cov matrix\n",
|
|
"cov_matrix = returns.cov()\n",
|
|
"cov_matrix"
|
|
],
|
|
"id": "146c7f1b5a34b41a",
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
" close \n",
|
|
"symbol AAPL C DIS META\n",
|
|
" symbol \n",
|
|
"close AAPL 0.000227 0.000039 0.000015 0.000080\n",
|
|
" C 0.000039 0.000291 0.000079 0.000063\n",
|
|
" DIS 0.000015 0.000079 0.000202 0.000023\n",
|
|
" META 0.000080 0.000063 0.000023 0.000363"
|
|
],
|
|
"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 tr th {\n",
|
|
" text-align: left;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead tr:last-of-type th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th colspan=\"4\" halign=\"left\">close</th>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th></th>\n",
|
|
" <th>symbol</th>\n",
|
|
" <th>AAPL</th>\n",
|
|
" <th>C</th>\n",
|
|
" <th>DIS</th>\n",
|
|
" <th>META</th>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th></th>\n",
|
|
" <th>symbol</th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th rowspan=\"4\" valign=\"top\">close</th>\n",
|
|
" <th>AAPL</th>\n",
|
|
" <td>0.000227</td>\n",
|
|
" <td>0.000039</td>\n",
|
|
" <td>0.000015</td>\n",
|
|
" <td>0.000080</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>C</th>\n",
|
|
" <td>0.000039</td>\n",
|
|
" <td>0.000291</td>\n",
|
|
" <td>0.000079</td>\n",
|
|
" <td>0.000063</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>DIS</th>\n",
|
|
" <td>0.000015</td>\n",
|
|
" <td>0.000079</td>\n",
|
|
" <td>0.000202</td>\n",
|
|
" <td>0.000023</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>META</th>\n",
|
|
" <td>0.000080</td>\n",
|
|
" <td>0.000063</td>\n",
|
|
" <td>0.000023</td>\n",
|
|
" <td>0.000363</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
]
|
|
},
|
|
"execution_count": 31,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"execution_count": 31
|
|
},
|
|
{
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2025-02-15T22:25:07.744917Z",
|
|
"start_time": "2025-02-15T22:25:07.741519Z"
|
|
}
|
|
},
|
|
"cell_type": "code",
|
|
"source": [
|
|
"# Calculate mean returns for each stock\n",
|
|
"avg_rets = returns.mean()\n",
|
|
"\n",
|
|
"# Calculate mean returns for portfolio overall,\n",
|
|
"# using dot product to\n",
|
|
"# normalize individual means against investment weights\n",
|
|
"# https://en.wikipedia.org/wiki/Dot_product#:~:targetText=In%20mathematics%2C%20the%20dot%20product,and%20returns%20a%20single%20number.\n",
|
|
"port_mean = avg_rets.dot(weights)\n",
|
|
"\n",
|
|
"# Calculate portfolio standard deviation\n",
|
|
"port_stdev = np.sqrt(weights.T.dot(cov_matrix).dot(weights))\n",
|
|
"\n",
|
|
"# Calculate mean of investment\n",
|
|
"mean_investment = (1+port_mean) * initial_investment\n",
|
|
"\n",
|
|
"# Calculate standard deviation of investmnet\n",
|
|
"stdev_investment = initial_investment * port_stdev"
|
|
],
|
|
"id": "a157b600c98f83fd",
|
|
"outputs": [],
|
|
"execution_count": 32
|
|
},
|
|
{
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2025-02-15T22:28:35.064271Z",
|
|
"start_time": "2025-02-15T22:28:35.046813Z"
|
|
}
|
|
},
|
|
"cell_type": "code",
|
|
"source": [
|
|
"# Select our confidence interval (I'll choose 95% here)\n",
|
|
"conf_level1 = 0.05\n",
|
|
"\n",
|
|
"# Using SciPy ppf method to generate values for the\n",
|
|
"# inverse cumulative distribution function to a normal distribution\n",
|
|
"# Plugging in the mean, standard deviation of our portfolio\n",
|
|
"# as calculated above\n",
|
|
"# https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.norm.html\n",
|
|
"from scipy.stats import norm\n",
|
|
"cutoff1 = norm.ppf(conf_level1, mean_investment, stdev_investment)\n",
|
|
"cutoff1"
|
|
],
|
|
"id": "7cf30fad1b4a37f7",
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"np.float64(983640.6453882146)"
|
|
]
|
|
},
|
|
"execution_count": 36,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"execution_count": 36
|
|
},
|
|
{
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2025-02-15T22:28:39.289345Z",
|
|
"start_time": "2025-02-15T22:28:39.287143Z"
|
|
}
|
|
},
|
|
"cell_type": "code",
|
|
"source": [
|
|
"#Finally, we can calculate the VaR at our confidence interval\n",
|
|
"var_1d1 = initial_investment - cutoff1\n",
|
|
"var_1d1"
|
|
],
|
|
"id": "5c5c2a6f22e44002",
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"np.float64(16359.354611785384)"
|
|
]
|
|
},
|
|
"execution_count": 37,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"execution_count": 37
|
|
},
|
|
{
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2025-02-15T22:25:09.199604Z",
|
|
"start_time": "2025-02-15T22:25:09.093065Z"
|
|
}
|
|
},
|
|
"cell_type": "code",
|
|
"source": [
|
|
"# Calculate n Day VaR\n",
|
|
"var_array = []\n",
|
|
"num_days = int(15)\n",
|
|
"for x in range(1, num_days+1):\n",
|
|
" var_array.append(np.round(var_1d1 * np.sqrt(x),2))\n",
|
|
" print(str(x) + \" day VaR @ 95% confidence: \" + str(np.round(var_1d1 * np.sqrt(x),2)))\n",
|
|
"\n",
|
|
"# Build plot\n",
|
|
"plt.xlabel(\"Day #\")\n",
|
|
"plt.ylabel(\"Max portfolio loss (USD)\")\n",
|
|
"plt.title(\"Max portfolio loss (VaR) over 15-day period\")\n",
|
|
"plt.plot(var_array, \"r\")"
|
|
],
|
|
"id": "641bda40d9fa37f",
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"1 day VaR @ 95% confidence: 16359.35\n",
|
|
"2 day VaR @ 95% confidence: 23135.62\n",
|
|
"3 day VaR @ 95% confidence: 28335.23\n",
|
|
"4 day VaR @ 95% confidence: 32718.71\n",
|
|
"5 day VaR @ 95% confidence: 36580.63\n",
|
|
"6 day VaR @ 95% confidence: 40072.07\n",
|
|
"7 day VaR @ 95% confidence: 43282.78\n",
|
|
"8 day VaR @ 95% confidence: 46271.24\n",
|
|
"9 day VaR @ 95% confidence: 49078.06\n",
|
|
"10 day VaR @ 95% confidence: 51732.82\n",
|
|
"11 day VaR @ 95% confidence: 54257.84\n",
|
|
"12 day VaR @ 95% confidence: 56670.47\n",
|
|
"13 day VaR @ 95% confidence: 58984.49\n",
|
|
"14 day VaR @ 95% confidence: 61211.1\n",
|
|
"15 day VaR @ 95% confidence: 63359.51\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[<matplotlib.lines.Line2D at 0x15cf1e630>]"
|
|
]
|
|
},
|
|
"execution_count": 35,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
],
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAHHCAYAAACiOWx7AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAYblJREFUeJzt3Qd4U9UbBvAXSil7L9kgS/aSrYggQxwIKrJEkSkb/kwR3AUUZYoDFZwMlb1ElorsJUsEQZZsKCCjQLn/5z3XG9NSIIW2N23e3/OE9t7cJichuflyzne+k8SyLAsiIiIiclNJb361iIiIiJCCJhEREREfKGgSERER8YGCJhEREREfKGgSERER8YGCJhEREREfKGgSERER8YGCJhEREREfKGgSERER8YGCJhE/8fbbb6NgwYIICgpC2bJlY/S3DzzwgLk4/vrrLyRJkgQTJ06MlbbF9u3Ftocffhjt2rWDv/jggw+QN29ehIeHu92URIevQb4W+ZpMzPLnz4/nnnsu1m5v2bJl5nnjT7l9CpokXk5wvPzyyy/XXc9VfPLkyWOuf+SRR5CYbd++Ha+88kq0J/sffvgBffv2RfXq1fHZZ5/hrbfecqWNCdGKFSvM89evXz+z3a1bN/N62r179w3/5qWXXjLH/Pbbbz7fj/M6di7p0qVDzZo1MXfu3OuO5Yfd5cuX8eGHHyKxefPNN/HYY48he/bs5nngazo63B/1OeMlRYoU8d5mkdiSLNZuSeQmeKL8+uuvUaNGjUj7ly9fjoMHDyIkJASJHYOmV1991fQI8VuktyVLliBp0qT45JNPkDx58ju+r3z58uHixYsIDg5GIPTQ1a5dG4UKFTLbLVq0wJgxY8zrbfDgwdH+zTfffINSpUqhdOnSMbqvhx56CM8++6wJ9vft24fx48fj0Ucfxfz581GvXr1Ir/fWrVvj3XffRdeuXU2wkFgMGjQIOXLkQLly5bBw4cJbHs/nKE2aNJ5t9qTKre3cudOcE8S/KGiSeBs+mTZtGkaPHo1kyf572fGDrUKFCjhx4gQSq0uXLt0yEDp27BhSpkwZKwETBco3ej5v7OnhcJijcuXKJoBiYBRd0LRy5Urs3bsXQ4cOjfH9FSlSBC1btvRsN2nSBMWLF8eoUaMiBU309NNPY/jw4Vi6dCkefPBBJBTnz59H6tSpb3g9nzsG/XzPZs2a9Za39+STTyJLliyx3MrEicE4zxc8FwTCF8mESGGsxItmzZrh5MmTWLRokWcfhy++/fZbNG/ePNq/eeedd1CtWjVkzpzZnEQYXPF4bxzKYoDw6aefRtrP4S3unzdv3k3bxZM/hwU5vMM8IgYa/BD8/vvvrzt2z549eOqpp5ApUyakSpUKVapUuW5oxskbmDx5svlGnitXLnMsg0X+LdWqVcszVOEcz8fBDytnv5M7dPXqVbz++uu4++67zUmU7R04cOAtc2VulIPEHq377rvPfChmyJABjz/+OHbs2IHb5cvtnTt3Dj169DBt52PIli2b6bHZsGGD55hdu3aZAIQ9GPw/yJ07N5555hmcOXPmpvfP55/PUZ06dSLtZ2/T77//Huk+vAN1Pjd8TfI1yMCKr6306dObx8HHw0DHF/fcc48JCP7888/rruNt8rUyc+ZMn26LXyr4N3yt8zYZnB06dCjS+4HtZg9XVAMGDDAB9+nTpz37Vq9ejfr165vHxdcghxI5lBndEBp7Qfk+zJgx43W9wVFF7SX1JRA4e/as+RlT27ZtMwEnnxO+Jt544w1cu3btuuP4HDds2BA5c+Y0rzG+X/i+iYiI8BwzZMgQ0/N6/Pjx6/6+ffv25vXLgOVGOOTKHjOeBxgg87XC+3vttdeue2xs48iRI1GiRAnzeuZQZocOHSL9/3iff9hjV7FiRfM4nSHd6HKafDkHEXvvGzVqZNrI91vPnj2VXxdbLJE49Nlnn/FsYq1du9aqVq2a1apVK891M2bMsJImTWodOnTIypcvn9WwYcNIf5s7d27rxRdftMaOHWu9++67VqVKlcxtzZkzJ9JxjzzyiJU+fXpr//79Zvu3336zkidPbr3wwgu3bB/vt0iRIlaGDBms/v37m/spVaqUadcPP/zgOe7IkSNW9uzZrbRp01ovvfSSOa5MmTLmuO+//95z3NKlS00bixcvbpUtW9YcFxoaam3bts3q1q2buW7gwIHWF198YS68Xf687777rJCQEM/+P//809xe69atzd88+eST1rhx46xnn33WbDdq1CjS46hZs6a5OPbu3WuO4/PvWLRokZUsWTLzeIcPH269+uqrVpYsWayMGTOa42/mTm6vefPm5v+jV69e1oQJE6xhw4ZZjz76qPXll1+a68PDw60CBQpYOXPmtN544w1zDG/r3nvvtf7666+btqtt27ZW5syZr9v/xx9/mPb27t070v6rV69a2bJls+6//36zffz4ceuuu+4ybRs/frx5HEWLFrWCg4OtjRs3Rvpb3l7nzp0j7QsLC7OCgoKsypUrR9u+OnXqWBUqVLB8fZ/wMb/33nvmtZgyZUorf/781unTp80x+/bts5IkSWLaGFXBggUjvX8WL15snvOqVataI0aMMLdZunRps2/16tWe44YMGeJ5vT7++OPW+++/b15nvuBzx7/lbUTHue00adKYn6lTp7ZatGhhXvO+OHz4sJU1a1bzenrllVest99+2ypcuLB5HLw979cY3w9PP/20OYb/j0899ZQ55n//+5/nmF27dpl9Y8aMiXQ/fP3xPtq0aXPT9vC9mCJFCtMGnsd4XuK5h7f58ssvX/e65HujXbt21gcffGD169fPPH7+/16+fDnS+adQoULm/vl/zmN5DnGu433G9Bx04cIF855kW/v27WuNHDnSvAad5825fbk9Cpok3oImnmT4huebmnhiq1Wrlvk9uqDJOc7Bk03JkiWtBx988LqTa6ZMmayHHnrInADLlStn5c2b1zpz5swt28f7Zfu+++47zz7+HT9IeTuOHj16mON+/vlnz75z586ZD3t+sEVEREQKmvghFrX906ZNu+FJiydHnlS9bdq0yRzPE7A3fhBw/5IlS2IUNDGIY8Bw8uRJz77Nmzebky6DsZu5k9tjQBs12PDG4IS3zecnpmrUqHHDoIQfUAy8nf8bWrBggbmvDz/80BNE8TXjjUEKP5yifojy7xiIM1g4duyYtW7dOqt+/fpmPz+so9O+fXsT/NwMX9d8Hvnavnjxomc/vxzwtgcPHuzZxyAo6uNds2aNOe7zzz8329euXTMf7PXq1TO/O/h65OuV75OogU2zZs2smLpV0MQP6y5dulhfffWV9e2331rdu3c3gQTb5st703nPeQd5fN75eooaNEV9r1GHDh2sVKlSWZcuXYr0/EUNcBlw+BJMOF9gunbt6tnH55fnLQajfD6I5wgex8ftzXntee93zj+8LqqoQZOv5yA+7zxu6tSpnuPOnz9vgjMFTXdOQZPEW9DEEx5Pmnwznz171nyYfPzxxzcMmrydOnXKnJQ6depkeoWi+uabb8z9sDeK38Z//PFHn9rH+2UPh/eHC/GbIW+PARnxmxtvOyr2IvG4LVu2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ixcvWi+++KKVMWNGE/g88cQTJrDy9tdff1kNGjSwUqZMaWXJksXq3bu3deXKlUjHLF261CpbtqyVPHlyq2DBgpHuwzFmzBgToPEYliBYtWqVz4/Fr4KmEycsK3t2O2jq39/t1oiIiPitmHx+J+E/t9NDJZFxJh5n0TEpnEODrmrZEvjqK3tYbsMGJX+LiIjEwue338yek1gyc6YdMCVNqtlyIiIisUhBU2Jy6hTQsaP9e58+QKVKbrdIREQk0VDQlJh0785KniybDrzyitutERERSVQUNCUWs2YBX35pD8tNnAikSOF2i0RERBIVBU2JZViuQwf79//9D6hc2e0WiYiIJDoKmhKDnj3/G5Z79VW3WyMiIpIoKWhK6GbPBj7//L/ZchqWExERiRMKmhKy06f/G5br1QuoUsXtFomIiCRaCpoS+rDc4cNA0aLAa6+53RoREZFETUFTQjV3LjBpEpAkiT0slzKl2y0SERFJ1BQ0JURhYUD79v8Ny1Wt6naLREREEj0FTQl1WO7vv4EiRYDXX3e7NSIiIgFBQVNCM2+eXbySw3KffqphORERkXiioCmhDsuxt6l6dbdbJCIiEjAUNCUkvXsDhw4BhQtrWE5ERCSeKWhKKBYssIfjnGG5VKncbpGIiEhAUdCUEJw5A7RrZ//evTtQo4bbLRIREQk4CpoSyrDcwYNAoULAm2+63RoREZGApKDJ3y1cCHzyiYblREREXJbM7QbILZw9C6RPDzz3HHDffW63RkREJGApaPJ3Tz1lV/zOmNHtloiIiAQ0BU0JQe7cbrdAREQk4CmnSURERMQHCppEREREfKCgSURERMQHCppEREREfKCgSURERMQHCppEREREfKCgSURERMQHCppEREREfKCgSURERMQHCppEREREfKCgSURERMQHCppEREREfKCgSURERMQHyXw5SG7Nsizz8+zZs243RURERHzkfG47n+M3o6Aplpw7d878zJMnj9tNERERkdv4HE+fPv1Nj0li+RJayS1du3YNf//9N9KmTYskSZLEehTMYOzAgQNIly4dAk2gP34K9OdAjz+wHz8F+nMQ6I8/Lp8DhkEMmHLmzImkSW+etaSepljCJzp37txxeh98kQTqm4UC/fFToD8HevyB/fgp0J+DQH/8cfUc3KqHyaFEcBEREREfKGgSERER8YGCpgQgJCQE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fPFFs2gosXcoXbp0+PbbbyPd9owZM8zx586du2U7fv31V1SvXt38/ssvv3h+F5GER2vPiUiiHJ4LCwszwU1UZcuWRc6cOTFv3jyzPXLkSNMTVKBAAezZs8cETQ8++CDef/99c3379u1x6NAhzJ0713Mbjz/+ODJkyIBJkyZFe/8cfitdurT5/cKFCwgKCjJB3MWLF82QYYoUKdC8eXPPfYhIwqCgSUQCKmh65pln8Ntvv2H79u3R/i17lTp27IgTJ06Y7TVr1qBatWo4cOAA7rrrLhw7dsz0Xv3444+oWbNmtLfB4b+DBw/i7NmzqFixItatW2d6phiwMfji8FyaNGmQJUuWWH7kIhKXNDwnIgGF3xPZ2+Ng8FO7dm0TCKVNmxatWrXCyZMnTQ8RVapUCSVKlPD0Kn355ZfIly8f7r///hveR7JkyZA/f378/vvvuPfee02v05EjR0xCOv+O1ylgEkl4FDSJSEDZsWOHGYojJokzMZxBzXfffYf169dj3Lhx5rrLly97/qZt27aePKjPPvsMzz//fKTAKyoGWexJYgDGnir+zsCM98ffeb2IJDwKmkQkYCxZsgRbtmxBkyZNzDaDJJYgGDFiBKpUqYIiRYrg77//vu7vWrZsiX379mH06NFmWK9169Y3vR/mS23atMkkorNnir+XLFnS5E/xdyefSkQSlmRuN0BEJC6Eh4ebIbGIiAgcPXoUCxYsQGhoqOlZevbZZ80xhQoVMrWTxowZg0cffRQrVqzABx98cN1tZcyYEY0bN0afPn1Qt25d5M6d+6b3zeE73jfvl0nj7JXatm2bCdaYFyUiCZN6mkQkUWKQxACF+UOs2bR06VLTU8SyA5zNRpw1x5IDw4YNMz1BX331lQmsovPCCy+YIbs2bdr4dP/Lli0z+UycKcchOgZaCphEEjbNnhMR8cEXX3yBnj17muE7VvgWkcCj4TkRkZvgLDpWFh86dCg6dOiggEkkgGl4TkTkJoYPH45ixYqZpO4BAwa43RwRcZGG50RERER8oJ4mERERER8oaBIRERHxgYImERERER8oaBIRERHxgYImERERER8oaBIRERHxgYImERERER8oaBIRERHxgYImEREREdza/wEdBl6ijRqwEAAAAABJRU5ErkJggg=="
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"execution_count": 35
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": "",
|
|
"id": "16442df6e6372aa5"
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"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.6"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|