{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"# Performance portfolio management\n",
"**Camilo A. Garcia Trillos 2020**"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"## In this notebook \n",
"\n",
"We retrieve the same database available to us when choosing efficient portfolios, but now focus on how to manage an existing portfolio to improve its performance using the ideas of risk allocation and Sharpe ratio.\n"
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"%matplotlib inline\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import scipy.stats as stats\n",
"from math import ceil"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"## Reading data"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"We read again the database we used on the exercise on efficient frontiers. If in doubt of any on the commands below, go back to that notebook."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" ticker \n",
" BAC \n",
" C \n",
" GE \n",
" JNJ \n",
" MSFT \n",
" PG \n",
" T \n",
" WMT \n",
" XOM \n",
" \n",
" \n",
" date \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 2007-01-05 \n",
" 43.945748 \n",
" 480.577276 \n",
" 25.548264 \n",
" 47.770850 \n",
" 22.800626 \n",
" 45.714596 \n",
" 19.014008 \n",
" 36.640668 \n",
" 54.474224 \n",
" \n",
" \n",
" 2007-01-12 \n",
" 44.061308 \n",
" 477.155236 \n",
" 25.772730 \n",
" 47.785192 \n",
" 24.008351 \n",
" 46.794468 \n",
" 19.649297 \n",
" 37.096840 \n",
" 54.042834 \n",
" \n",
" \n",
" 2007-01-19 \n",
" 44.234647 \n",
" 478.208171 \n",
" 25.133343 \n",
" 48.588304 \n",
" 23.931426 \n",
" 47.804842 \n",
" 19.841660 \n",
" 37.351987 \n",
" 54.689920 \n",
" \n",
" \n",
" 2007-01-26 \n",
" 42.955235 \n",
" 479.699830 \n",
" 24.534768 \n",
" 47.376465 \n",
" 23.539108 \n",
" 46.915146 \n",
" 20.594138 \n",
" 36.857156 \n",
" 54.749422 \n",
" \n",
" \n",
" 2007-02-02 \n",
" 43.533034 \n",
" 484.344234 \n",
" 24.670808 \n",
" 47.742168 \n",
" 23.223714 \n",
" 47.262344 \n",
" 21.567268 \n",
" 37.174157 \n",
" 56.184911 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
"ticker BAC C GE JNJ MSFT PG \\\n",
"date \n",
"2007-01-05 43.945748 480.577276 25.548264 47.770850 22.800626 45.714596 \n",
"2007-01-12 44.061308 477.155236 25.772730 47.785192 24.008351 46.794468 \n",
"2007-01-19 44.234647 478.208171 25.133343 48.588304 23.931426 47.804842 \n",
"2007-01-26 42.955235 479.699830 24.534768 47.376465 23.539108 46.915146 \n",
"2007-02-02 43.533034 484.344234 24.670808 47.742168 23.223714 47.262344 \n",
"\n",
"ticker T WMT XOM \n",
"date \n",
"2007-01-05 19.014008 36.640668 54.474224 \n",
"2007-01-12 19.649297 37.096840 54.042834 \n",
"2007-01-19 19.841660 37.351987 54.689920 \n",
"2007-01-26 20.594138 36.857156 54.749422 \n",
"2007-02-02 21.567268 37.174157 56.184911 "
]
},
"execution_count": 2,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"data = pd.read_csv('~/Data/basket_20171201_10y.csv')\n",
"data['date']=pd.to_datetime(data['date'], yearfirst=True)\n",
"P = data.pivot(index='date', columns='ticker', values='adj_close')\n",
"P = P.resample('W-FRI').last()\n",
"P.head()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" ticker \n",
" BAC \n",
" C \n",
" GE \n",
" JNJ \n",
" MSFT \n",
" PG \n",
" T \n",
" WMT \n",
" XOM \n",
" \n",
" \n",
" date \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 2007-01-12 \n",
" 0.002626 \n",
" -0.007146 \n",
" 0.008748 \n",
" 0.000300 \n",
" 0.051614 \n",
" 0.023347 \n",
" 0.032866 \n",
" 0.012373 \n",
" -0.007951 \n",
" \n",
" \n",
" 2007-01-19 \n",
" 0.003926 \n",
" 0.002204 \n",
" -0.025122 \n",
" 0.016667 \n",
" -0.003209 \n",
" 0.021362 \n",
" 0.009742 \n",
" 0.006854 \n",
" 0.011902 \n",
" \n",
" \n",
" 2007-01-26 \n",
" -0.029350 \n",
" 0.003114 \n",
" -0.024104 \n",
" -0.025257 \n",
" -0.016529 \n",
" -0.018786 \n",
" 0.037223 \n",
" -0.013336 \n",
" 0.001087 \n",
" \n",
" \n",
" 2007-02-02 \n",
" 0.013362 \n",
" 0.009635 \n",
" 0.005529 \n",
" 0.007689 \n",
" -0.013489 \n",
" 0.007373 \n",
" 0.046170 \n",
" 0.008564 \n",
" 0.025881 \n",
" \n",
" \n",
" 2007-02-09 \n",
" 0.004729 \n",
" -0.023321 \n",
" -0.020614 \n",
" -0.014829 \n",
" -0.040905 \n",
" -0.014025 \n",
" -0.032528 \n",
" -0.002290 \n",
" 0.000024 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
"ticker BAC C GE JNJ MSFT PG \\\n",
"date \n",
"2007-01-12 0.002626 -0.007146 0.008748 0.000300 0.051614 0.023347 \n",
"2007-01-19 0.003926 0.002204 -0.025122 0.016667 -0.003209 0.021362 \n",
"2007-01-26 -0.029350 0.003114 -0.024104 -0.025257 -0.016529 -0.018786 \n",
"2007-02-02 0.013362 0.009635 0.005529 0.007689 -0.013489 0.007373 \n",
"2007-02-09 0.004729 -0.023321 -0.020614 -0.014829 -0.040905 -0.014025 \n",
"\n",
"ticker T WMT XOM \n",
"date \n",
"2007-01-12 0.032866 0.012373 -0.007951 \n",
"2007-01-19 0.009742 0.006854 0.011902 \n",
"2007-01-26 0.037223 -0.013336 0.001087 \n",
"2007-02-02 0.046170 0.008564 0.025881 \n",
"2007-02-09 -0.032528 -0.002290 0.000024 "
]
},
"execution_count": 3,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"logR=np.log(P).diff()\n",
"logR.drop(logR.index[0],inplace=True) # We drop the first line which produces NAN\n",
"logR.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"## Improving performance of a portfolio\n",
"\n",
"Assume that we have a **long only** portfolio. Assume for example that we have an equally weighted portfolio\n",
"\n",
"$$\\mathbf{\\pi} = [\\frac 1 9, \\frac 1 9 , \\ldots, \\frac 1 9].$$\n",
"\n",
"Assume, for the exercise, that we have this portfolio on 2011-12-31. We will use the risk allocation technique and Sharpe ratio to progressively improve the performance of the portfolio. \n",
"\n",
"\n",
"First, let us calculate the mean and variance of the portfolios using the 9 years prior to the date we have fixed.\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean: ticker\n",
"BAC -0.001473\n",
"C -0.004167\n",
"GE 0.000337\n",
"JNJ 0.001638\n",
"MSFT 0.001850\n",
"PG 0.001107\n",
"T 0.001307\n",
"WMT 0.001236\n",
"XOM 0.000838\n",
"dtype: float64\n",
"Variances [0.00622047 0.00899841 0.00185316 0.00045822 0.00133477 0.00052352\n",
" 0.00078705 0.00068348 0.00085506]\n",
"Var-cov: ticker BAC C GE JNJ MSFT PG T \\\n",
"ticker \n",
"BAC 0.006220 0.006109 0.002279 0.000734 0.000961 0.000650 0.000910 \n",
"C 0.006109 0.008998 0.002623 0.000790 0.001084 0.000612 0.001161 \n",
"GE 0.002279 0.002623 0.001853 0.000390 0.000583 0.000399 0.000500 \n",
"JNJ 0.000734 0.000790 0.000390 0.000458 0.000347 0.000286 0.000308 \n",
"MSFT 0.000961 0.001084 0.000583 0.000347 0.001335 0.000332 0.000386 \n",
"PG 0.000650 0.000612 0.000399 0.000286 0.000332 0.000524 0.000320 \n",
"T 0.000910 0.001161 0.000500 0.000308 0.000386 0.000320 0.000787 \n",
"WMT 0.000594 0.000557 0.000330 0.000255 0.000344 0.000307 0.000325 \n",
"XOM 0.000912 0.000951 0.000549 0.000341 0.000493 0.000331 0.000427 \n",
"\n",
"ticker WMT XOM \n",
"ticker \n",
"BAC 0.000594 0.000912 \n",
"C 0.000557 0.000951 \n",
"GE 0.000330 0.000549 \n",
"JNJ 0.000255 0.000341 \n",
"MSFT 0.000344 0.000493 \n",
"PG 0.000307 0.000331 \n",
"T 0.000325 0.000427 \n",
"WMT 0.000683 0.000298 \n",
"XOM 0.000298 0.000855 \n",
"Correlation ticker BAC C GE JNJ MSFT PG T \\\n",
"ticker \n",
"BAC 1.000000 0.816495 0.671209 0.434770 0.333541 0.360150 0.411355 \n",
"C 0.816495 1.000000 0.642261 0.389076 0.312820 0.281768 0.436317 \n",
"GE 0.671209 0.642261 1.000000 0.422911 0.370724 0.405148 0.414015 \n",
"JNJ 0.434770 0.389076 0.422911 1.000000 0.443119 0.584024 0.512466 \n",
"MSFT 0.333541 0.312820 0.370724 0.443119 1.000000 0.396635 0.376291 \n",
"PG 0.360150 0.281768 0.405148 0.584024 0.396635 1.000000 0.499200 \n",
"T 0.411355 0.436317 0.414015 0.512466 0.376291 0.499200 1.000000 \n",
"WMT 0.288191 0.224767 0.293084 0.455463 0.360466 0.513583 0.443629 \n",
"XOM 0.395248 0.342841 0.436346 0.545207 0.461577 0.494555 0.520472 \n",
"\n",
"ticker WMT XOM \n",
"ticker \n",
"BAC 0.288191 0.395248 \n",
"C 0.224767 0.342841 \n",
"GE 0.293084 0.436346 \n",
"JNJ 0.455463 0.545207 \n",
"MSFT 0.360466 0.461577 \n",
"PG 0.513583 0.494555 \n",
"T 0.443629 0.520472 \n",
"WMT 1.000000 0.389416 \n",
"XOM 0.389416 1.000000 \n"
]
}
],
"source": [
"logR_sub = logR[logR.index< '2016-12-01']\n",
"mu = logR_sub.mean()\n",
"Sigma = logR_sub.cov()\n",
"Rho = logR_sub.corr()\n",
"\n",
"print('Mean:', mu)\n",
"print('Variances', np.diag(Sigma))\n",
"print('Var-cov:', Sigma)\n",
"print('Correlation', Rho)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"We can now calculate the Sharpe ratio of each asset and the Sharpe ratio of the whole portfolio. For this exercise, we are going to assume that only risky assets are available. "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Sharpe ratio for each individual asset ticker\n",
"BAC -0.018674\n",
"C -0.043931\n",
"GE 0.007824\n",
"JNJ 0.076541\n",
"MSFT 0.050625\n",
"PG 0.048376\n",
"T 0.046578\n",
"WMT 0.047262\n",
"XOM 0.028652\n",
"dtype: float64\n"
]
}
],
"source": [
"sharpe_ea = mu/np.diag(Sigma)**0.5\n",
"print('Sharpe ratio for each individual asset',sharpe_ea)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"# Define a function that returns the Sharpe ratio of a portfolio on the given assets\n",
"\n",
"def sharpe_portfolio (pi, mmu=mu,msigma=Sigma ):\n",
" \n",
" mu_portfolio = pi @ mu\n",
" var_portfolio = (Sigma@pi)@pi # This is equivalent to pi^T Sigma pi\n",
" \n",
" return mu_portfolio/var_portfolio**0.5\n",
"\n",
"# Test\n",
"np.testing.assert_allclose(sharpe_portfolio(np.array([1,0,0,0,0,0,0,0,0])),sharpe_ea[0])"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The Sharpe ratio of the equally weighted portfolio is 0.00948921913278367\n"
]
}
],
"source": [
"\n",
"ref_pi = np.ones(9)/9\n",
"print('The Sharpe ratio of the equally weighted portfolio is ',sharpe_portfolio( ref_pi ))\n",
"\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"A naive way to try to improve the performance is to increment the investment in those assets whose Sharpe ratio are larger than the overall portfolio Sharpe ratio, while reducing it on the ones that fall below.\n",
"\n",
"\n",
"A better way is to make a risk allocation following the Euler per unit allocation, and calculate the relative performance of each asset. Recall that when we use standard deviation to estimate risk, we obtain\n",
"$$\\kappa_i = \\frac{\\mathrm{cov}(R^i,R^\\pi)}{ \\mathrm{sd}(R^\\pi)}$$\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"def risk_allocation(pi, mmu=mu,msigma=Sigma ):\n",
" \n",
" cov_ea = Sigma @ pi # The covariance of asset i would be e_i^T Sigma pi, where e_i is the vector with one only in the ith position. Here we calculate all simultaneously\n",
" var_portfolio = (Sigma@pi)@pi\n",
" \n",
" return cov_ea/var_portfolio**0.5\n",
" \n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"With the above function, we can calculate the relative Sharpe (also printing again the individual Sharpe for comparison)\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Absolute Sharpe\n",
"ticker\n",
"BAC -0.018674\n",
"C -0.043931\n",
"GE 0.007824\n",
"JNJ 0.076541\n",
"MSFT 0.050625\n",
"PG 0.048376\n",
"T 0.046578\n",
"WMT 0.047262\n",
"XOM 0.028652\n",
"dtype: float64\n",
"Relative Sharpe\n",
"ticker\n",
"BAC -0.021408\n",
"C -0.051269\n",
"GE 0.009976\n",
"JNJ 0.118024\n",
"MSFT 0.088798\n",
"PG 0.082878\n",
"T 0.071791\n",
"WMT 0.094162\n",
"XOM 0.045743\n",
"dtype: float64\n"
]
}
],
"source": [
"print('Absolute Sharpe')\n",
"print(sharpe_ea)\n",
"\n",
"print('Relative Sharpe')\n",
"print(mu/risk_allocation(ref_pi))"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"def update_portfolio(pi, step, epsilon , mmu=mu,msigma=Sigma ):\n",
" '''\n",
" The function returns an improvement on the long-only portfolio 'pi' such that changes are proportional \n",
" to how different are the overall Sharpe portfolio and the relative Sharpe portfolio calculated with the \n",
" per unit risk allocation. The function must satisfy that a minimum investment of epsilon must be kept on each \n",
" asset.\n",
" \n",
" '''\n",
" \n",
" # We calculate the difference between relative Sharpe and Sharpe of the portfolio\n",
" aux_positive = np.clip(mu/risk_allocation(pi) - sharpe_portfolio(pi),0,None)\n",
" aux_negative = np.clip(sharpe_portfolio(pi)-mu/risk_allocation(pi),0,None)\n",
"\n",
" \n",
" # Determine the entries in the portfolio above the threshold\n",
" \n",
" aux_negative[pi0 ].min()\n",
" \n",
" # Calculate effective change and return\n",
" \n",
" change = f_change*min(step, aux_step)\n",
" return pi+change\n",
" \n",
" \n",
" \n",
" \n",
" "
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"ticker\n",
"BAC 0.059693\n",
"C 0.010000\n",
"GE 0.111278\n",
"JNJ 0.148317\n",
"MSFT 0.138298\n",
"PG 0.136269\n",
"T 0.132468\n",
"WMT 0.140137\n",
"XOM 0.123539\n",
"dtype: float64\n",
"0.04343099977491054\n"
]
}
],
"source": [
"pi_new = update_portfolio(ref_pi,0.3,0.01)\n",
"print(pi_new)\n",
"\n",
"new_sharpe = sharpe_portfolio(pi_new)\n",
"print(new_sharpe)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"Note that there is already a big improvement: the performance increased by an order of magnitude. We can repeat the process to improve even further until we cannot improve any more without violating our constraints."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Iteration 1\n",
"ticker\n",
"BAC 0.010000\n",
"C 0.010000\n",
"GE 0.087606\n",
"JNJ 0.175204\n",
"MSFT 0.152373\n",
"PG 0.147521\n",
"T 0.142151\n",
"WMT 0.154487\n",
"XOM 0.120657\n",
"dtype: float64\n",
"0.05584163800337831\n",
"Iteration 2\n",
"ticker\n",
"BAC 0.010000\n",
"C 0.010000\n",
"GE 0.010000\n",
"JNJ 0.227240\n",
"MSFT 0.170425\n",
"PG 0.158960\n",
"T 0.150907\n",
"WMT 0.172125\n",
"XOM 0.090344\n",
"dtype: float64\n",
"0.06322960787509502\n",
"Iteration 3\n",
"ticker\n",
"BAC 0.010000\n",
"C 0.010000\n",
"GE 0.010000\n",
"JNJ 0.287353\n",
"MSFT 0.181435\n",
"PG 0.161034\n",
"T 0.149848\n",
"WMT 0.180329\n",
"XOM 0.010000\n",
"dtype: float64\n",
"0.06668083717555018\n",
"Iteration 4\n",
"ticker\n",
"BAC 0.010000\n",
"C 0.010000\n",
"GE 0.010000\n",
"JNJ 0.517049\n",
"MSFT 0.200847\n",
"PG 0.047951\n",
"T 0.010000\n",
"WMT 0.184152\n",
"XOM 0.010000\n",
"dtype: float64\n",
"0.07090709706485519\n",
"Iteration 5\n",
"ticker\n",
"BAC 0.010000\n",
"C 0.010000\n",
"GE 0.010000\n",
"JNJ 0.722536\n",
"MSFT 0.010000\n",
"PG 0.059241\n",
"T 0.010000\n",
"WMT 0.158223\n",
"XOM 0.010000\n",
"dtype: float64\n",
"0.07109427388931822\n",
"Iteration 6\n",
"ticker\n",
"BAC 0.010000\n",
"C 0.010000\n",
"GE 0.010000\n",
"JNJ 0.722536\n",
"MSFT 0.010000\n",
"PG 0.059241\n",
"T 0.010000\n",
"WMT 0.158223\n",
"XOM 0.010000\n",
"dtype: float64\n",
"0.07109427388931822"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"\n",
"k=1\n",
"while k<1000:\n",
" print('Iteration', k)\n",
" pi_new = update_portfolio(pi_new,0.3,0.01)\n",
" print(pi_new)\n",
" old_sharpe = new_sharpe\n",
" new_sharpe = sharpe_portfolio(pi_new)\n",
" print(new_sharpe)\n",
" if abs(old_sharpe-new_sharpe)<1e-12:\n",
" break;\n",
" \n",
" k+=1"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"After 6 iterations, we found a portfolio whose Sharpe portfolio cannot be improved: it invest the minimal allowed amount on all assets except JNJ, PG, and WMT. Note that it does not focus on *just the asset with the largest Sharpe ratio*, although, due to the constraints, the obtained Sharpe is slightly worse than investing in JNJ alone... but if this investment is put together with the constraints on minimal portfolio, we would produce a less performing portfolio.\n",
"\n",
"Indeed,"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1.0\n"
]
},
{
"data": {
"text/plain": [
"0.07087780201105662"
]
},
"execution_count": 13,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"another_pi = 0.01*np.ones(9) \n",
"another_pi[3] += 1-0.09\n",
"print(another_pi.sum())\n",
"\n",
"sharpe_portfolio(another_pi )"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"This is smaller. The interaction between the two assets helps to obtain a more performant portfolio within the constraints."
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"The above discussion is all 'static', that is, we are doing all changes as if we could go back and modify our portfolio several times. The idea of using such incremental steps is to slowly adjust the portfolio as *time passes by*. To do so, let us make evolve our portfolio and run again the improvement, but *updating the information*. \n",
"\n",
"A good tool for this purpose is the exponentially weighted moving average (EWMA). This is a way to smoothly decrease the influence of old observations: the idea is as follows: let $\\lambda>0$. We update a time average of asset $i$ by posing $mean^i_1=x_1$ and\n",
"\n",
"$$mean^i_{t+1} = \\lambda mean^i_t + (1-\\lambda) x^i_{t+1} $$\n",
"\n",
"This is a simple and common way of slowly 'forgetting' the information in the distant past. We use this to update our mean and standard deviation estimations. For one element in the variance-covariance matrix, we can use\n",
"\n",
"$$cov^{i,j}_{t+1} = \\lambda cov^{i,j}_t + (1-\\lambda) (x^i_{t+1}- mean^i_{t+1} )(x^j_{t+1}-mean^j_{t+1}) $$\n",
"\n",
"\n",
"Then, we can simultaneously update our estimation for these parameters *and* the best portfolio. This is the purpose of the following code\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"ticker\n",
"BAC 0.010000\n",
"C 0.010000\n",
"GE 0.010000\n",
"JNJ 0.799978\n",
"MSFT 0.010000\n",
"PG 0.010000\n",
"T 0.010000\n",
"WMT 0.130022\n",
"XOM 0.010000\n",
"dtype: float64\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"execution_count": 45,
"metadata": {
"image/png": {
"height": 263,
"width": 378
},
"needs_background": "light"
},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 45,
"metadata": {
},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvsAAAJACAYAAAATjKn4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAABYlAAAWJQFJUiTwAACiNElEQVR4nOzdd3jb1dn/8feRLG/Hju3s5QwyIKEZQAIBYhIIUGaB0lKgzHSwW2iftrQQKND1UKAtHYSRFn5QHsosM5DBSoCQsEnIdPa0YyfxlnR+f3wlWR6yZVu2bOvzui5d8ncd3RqJbx3f5xxjrUVERERERHoeV7wDEBERERGRjqFkX0RERESkh1KyLyIiIiLSQynZFxERERHpoZTsi4iIiIj0UEr2RURERER6KCX7IiIiIiI9lJJ9EREREZEeSsm+iIiIiEgPpWRfRERERKSHUrIvIiIiItJDKdkXEREREemhlOyLiIiIiPRQSvZFuiljzHxjjDXGzI3DY18aeOwlnf3Y8WAc1xhjPjbGVASeuzXGFMQ7ts5kjDnSGPNfY8xeY4w/Vp+/SK9non3OEll7/z8zxswNXD8/tpGJdH9J8Q5ApKsI/JK4JMrTf2StvbfjookfY8wNQA4w31pbFNdguo5fAHcEfq4CdgV+9sUnnNgxxpwNTASWWGuXNHPeIcASIB3wA3sD9wc7OkZJbGFfAO611pbGMRSRbknJvkhjtUBJC+eUd0YgcXIDMAwnsSuKcE4Z8BWwuVMiir/rA/c/xkk4bDyDibGzqfuSu6SZ876Hk+i/DZzZSUlXon3OEtkOnPd6bxPHbg3czwdKI1y/N3D9jlgHJtLdKdkXaWyptbYw3kF0ZdbaZ4Fn4x1HZzDG9AX6BDbn9bBEvzUOC9z/X2f1ribS5yzRWWt/Dvy8Hdf/BfhL7CIS6TlUsy8i0ry04A/W2kQuWQm+Don8GoiIdDtK9kXawRiTaozZHxgYdnoL564OnHd9E8dGGmP+YYzZYIypMsbsM8a8ZYy50hjjbmVMhYHHKWrmnEYDH4MD3HBKeAAWhw2cbHhuiwMnjTHnGGNeNcbsMcZUG2O2GmP+nzFmcoTzC4KPFdgeb4z5tzFmZ+A1WW2M+ZUxJrk1r0eDx+hnjLk70FaFMabMGPOBMeZGY0xKg3MLA7EUhe0Lfz3mRvmYoYGHgc/LbYHHrzTG7DbGPGGMGR2ruCM8boox5mZjzKfGmAOB/WcHnl+whOfWBs8v+D4UBX4uDJz3SNg5RU08bqve9xaed8w/Z6147AxjzE3GmKXGmJLAZ3CDMeYFY8yFxhhPE9f0CrzenxhjDgZunwbe8+wIjxMaWGocVxtjPgpcu8MY809jzOCw8w8J7NsaiOlzY8ycCG3X+7/AGHOGMWaxcf5/OWiMWWaM+U4Lr4PLGHOFMebNsNdhozHmAWPMqGauG26M+ZsxZk3gs15hjNlkjFlijPm5MSa/wfmNBugG94WdtrHBZ3R+U69jrJ5HE6/fdGPMi8YZoF4ZeJ+vMcaY5l5Dkbiz1uqmm27WglMPanEGKrbmun8Grnu8mXMmB87xAv0bHDsdqAwctzg1qTVh268DGc3EO7fB/sLA/qJm4rm04XMFbgJ24gw6tTjjFnaG3Z5p7vqwY66w1yT4nPeFbfuAHzZxXUHYObOBirDXwxd27Lk2vr9HAcVh7exv8Lp/DPQNO/+YwPPeE3ZO+OtxUys/V78BlgV+rsapRw+2Ww4cH4u4m3jc3wLvB36uCbyeNuz5Bds62OD57Qy0szywHfxMloWds7y973vg2uA5BS19TmPxeFG8Z4cCG8Paqg28B7XNxDoK54th+HtaHra9CTikiceaGzg+H/h32OfjYNi1G3BKyaaFPcdSnAHSwXN+0kTbhYFjRThjcWzgmn3U/zf1lwivQzrwWth54Z8fG/jsnBXh/7v9Da4Lf28scEpL/58B9wU+Z8Fr9lD/M3pfU69jDJ9H+Ot3Kc5nzN/gWoszjqfVnzPddOusW9wD0E23rnKj7cn+ydQlS+kRzvlD4JzXG+wfGfZLfQkwJrA/BWdAZFXg2IPNxDu3wf7QL6hmYr400nOlLmEpbOP1P6MuqfglkBXYPwj4P+oSseMbXFcQ9stzH/AkgYQKyAi0G0xuvt7K96g3sD1w7afAkYH9buA8nC82jd6fhnG183NVipP8XQx4AscmAiuo+yLRO4ZxBx/3QOD1/BaQHDg2LCyGJj9HTbS3JHDepRGOt+l9D5zTlmS/zY/XwvPMxRkQHEyyzwp73TzAdOBhYHDYNcnAJ4FrNgMnASZwm4WT6FvgcyClwePNDft8HAAuDLRngONwBpxa4O84/zb/C4wIXNsL+Bt1CWtehP8LynES3H8C/cI+W/8b9tp/p4nX4u+BY1XA94OxA6OBxWFtj25w3aLAsfeASWH704EjgHuAoyN8Xht9DiN9PiK8jvNj+DzCX79q4M9hr18O8CfqPoOHteX/B91064xb3APQTbeucgv7ZVNDgx7OJm69wq5z40zFaIELmmjXUJc8XNbg2EOB/eto4osCTsIf/GUyKkK8cxvsD/6CKmrmuV5KByT7QCZ1Pda/aeI6N85sLhZ4q8GxgrBf6gsA08T1/w0cf7iV7+2vqPsS0b+J47PDHntmpLja+bmywIVNHM/HmUnEAr+MYdzhjzs7ivjmtvA8lhAh2W/P+x443qpkv72P18Lz/D11vciDorzmYur+7xjfxPHDqPvLyOUNjs0Ne/6XNNO2xZltJqnBcRewNnD8uw2OFUbxbyr4/q8NPx743Ad7/7/fxHXpOP9vWeBfDY4F/yo3tQ3/Thp9DiN9PiK8jvMb7G/P8wh//eZFeNxPA8dvac3nTDfdOvOmmn2RxjxAvxZuoX871lofTk8iwAVNtHcsMASnV+mZ4M5Anee5gc17rLUVTVz7ILAN5wvDeW1+Rp3nJJzexhqcpKmewGv168DmccaY/hHa+a211jax/7nA/fhWxhV87R601u5sIq4FOCU2AOe3su1obQIeb+Kx9wL/CGw2fI9jEfengfM6Uqze967weN8N3P+vtXZblNcE36fnrbWfNxHPF8B/ApuR3qetwKNN7H8j7Of/tdZ6G7Ttx+mdhub/Xfwmwr+pOwP3o4Cvhe3/Bs7/cztx/h+qJ/D/VfC1P8fUH1u0P3A/oJl4Okt7nke430TY/3zgvrX/J4l0GiX7Io29aa01LdxKG1wTTOJONsbkNjgWHAD3srW2LGz/CCA78PNimhD4Rb4ksNmuAYedJBjjJ9bafRHOeYu6xagiPaflEfYHk6/e0QZknAG9wV/ETb7OAYtaiKm93oyQbAG8GbgfH4g3lnEvi7A/lmL1vsf18Yyzgm+/wObLbYinPe/Tl4F/7w3tDvu50ReJgOAib5H+XdQC7zZ1wFq7lrq56cNjC/78duDLU1OCzykDGBO2P/ja/csY81tjzLSmBjR3kvY8j6ASa+2GCNe2+v8kkc6mZF8kBqy1y3AG9CVT11uPMSaJul6/hr26fcJ+bq4HcWsT53dVwRgjPh9rbRV1C+c0+ZystQciXF4VuG9N4pBL3f918Xydm3vs4DE3dUlDrOLeE1V07ROT970LPF6/sJ9bs5BXi/FQ9z7lRZi9pcnFoBokqJEWjAqeE+nfxV5rbU0zsQXjDn+dWvOcGl77E2ApkAX8D84Xzv3GmEXGmB8aY9LoPO15HkGR/j+Ctv2fJNKplOyLxM4TgfvwqexOwqnJ3g+81My1qR0VVJx01efTVeNqSXvijtSb2RE6+/Xtau9nV4snFlr9nKy1xTjliyfhDGL9CKcj5ATgr8Dn4dOJdpKe+N6IREXJvkjsBHvujzfGDAz8HKzhfybQ0xguvMd1aDPtBn8pRttDG6zpbe6XW3Yzx9ojGGPE52OMSQXyGpzfkUpwBjhDbF/n1hoYxTEfzmBc6DpxR6Oz3/eOerxdYT8Pi2U81L1Pxc2Uc3WUfNP8+hTBz1/469Sa59TwWqzjDWvt9dbayTidHt/H+VyPwJmRpzO063mI9ARK9kViJDAI71Ocf1ffDiQbZwcONxqYiTOtX2ng5xOaatMY46JuMaOVUYYSbLNvM7/gj2zm+mCC2ZaFYoIxHmKMGRThnOOBpAbnd5hA+UKw1rnJ1zlgZuC+o2KaEcWxz4PlFp0Yd3ve76DOft875PGstUU4AzkBvt6GeOL5+WqOBzi6qQOBBaWCyX54bMGfpxpj0iO0G3xO5TgzBUVkrd1nrX0A+EVgV3P/HhpdHgy3FdcExfR5iHRHSvZFYiuY1F8AnIFTs7qTugFgIYHeveDsPNdH+EV0Jc684RZ4KsoY1uDMCW0CMdQT+OV+bsP9YYIzaeRE+XjhFgSu9+DU7TZ8bDfOdJLgDJhrNMNMBwnOhHKpMabRDCHGmNnUJUP/1/B4jBQYYxrN1hQY0P29wGbD97gz4m7P+x3U2e97Rz5ecEacG5v5ItFQ8H061RgzqYl4DqNu7E5Hfb5a8vMIYwV+Hrhfa639OGz/MzhfBPOo+3yGBP6/Cr72zwTHFgRWqk1qeH6YysB9kys/R9Cez2ibnodIT6JkXyS2nsBJzI+g7pfo/zXzC+QunN6kgcBLxpgxAMaYFGPMHJx6V4CHrLXrowkg0CMcnA7uHmPMsYFfwK5Acvg6db9wm/JF4P6CwF8nomatLQ88J4DrjDE3G2MyA89pEM7rcyx1CyF1lr/gDG5MA141xhwRiMltjDkXZ+VSgDestY2+mMVIGTDPGHNhMBkyxhyOs7JnH5xZV/4ah7iD7/cpTX2hiEZnv+8d/Hi/wxnMmQ+8bYw5M2yGJI8xZoYx5t8Nas6fxPmrHsBzxpgTg4m1MWYWzuw0HpzX+v+1Mp5YqMBZ3OshY0zfQFw5xpjfAZcHzpkbfoG1dhPwQGDzt8aY7xljUgLXjsYZgzQq0PYdYZf2AtYF3pMJwaksA///zKJuqs/XWhF/8DP63WamxmxSO56HSM8R74n+ddOtq9xo3aJa9zXTTnAxn+Ct2YVlcHrfK8PO30fdAjwWZ57tjGbindvEsRHULdRkcb5QBB/jI+A6Ii+qNTPsumpgC85CW/8OO+fSZq5346zUGWzDS139ucWpS7+qiesKgtc081oV0sKCYc1cexR1K85anN7C8Nf9E6BvW+KK8nP1G5wVRS3ODB5l1H9/mlzptR1xR/x8NDgvHygOe292BN7vogbnLSHColrted8D1za5aFJHfM6ifM8mBD73wbZrcP491TYT6yjqFqQLvqflYdubaLBCa+C6uTSxGFQ0r09LbRD27wW4IfCzP/A6+cLa/UuEdtNx/ooS/jrsC9uuAs5qcE1O2PHgNcWB9ye4bz1hKxC39HkFLgu7tjLwWhbhrDvQ4uvYlucR7f83zX1GddOtq9zUsy/SWDSLamU3c314ff56a+37zT2Ytfa/OMnFPJxfYOk4vUzv4PzZ+WTr9GRGzTpzQk/F6eHcg5MYbcXpVZtO3Z/Fm7p2Ec5CNG/i/GIdhDNYMaqFiay1PmvtJThlCwtwxhBk4iSRTwBHWWsb9mB3OGvtB8ChOAMD1+C8z17gQ5w/40+11u6O3EK7VeMkD7fjJCvJOO/Nv4HJ1tq34hG3dRb1OgGn3GEPzl8ZhtG6Aaqd/r535ONZaz/DWfX2lzivcyXOHOybcRZ2u4D60zVirV2HsyjV7dSfD/9znAW+DrfWrmlLPLFgrb0XOBPn37ULJ8F9D7jIWntNhGsqgFNxygnfxvl/KR3n8/sgMMFa+3yDy/YDpwP3Ah/gfKaycL74LAduBiZaa7cSJWvtI8CcQHtenEUKh+F8UY3m+rY8D5Eew1hr4x2DiEiPZYyZD1wC3GatnRvfaCSRGGMKcRb62mStLYhrMCISN+rZFxERERHpoZTsi4iIiIj0UEr2RURERER6KCX7IiIiIiI9lAboioiIiIj0UOrZFxERERHpoZTsi4iIiIj0UEr2RURERER6KCX7IiIiIiI9lJJ9EREREZEeKineAXQmY8xGoBdQFOdQRERERKRnKwD2W2uHxzOIhEr2gV5paWm548aNy413ICIiIiLSc61atYrKysp4h5FwyX7RuHHjclesWBHvOERERESkB5syZQorV64sinccqtkXEREREemhlOyLiIiIiPRQSvZFRERERHooJfsiIiIiIj2Ukn0RERERkR5Kyb6IiIiISA+lZF9EREREpIdKtHn2o+b3+ykpKeHAgQNUV1djrY13SNIBjDGkpKSQlZVFbm4uLpe+/4qIiEjPoWS/CX6/ny1btlBRURHvUKSDWWupqqqiqqqK8vJyhgwZooRfREREegwl+00oKSmhoqKCpKQk+vfvT0ZGhhLAHsrv91NeXs7OnTupqKigpKSE/Pz8eIclIiIiEhPKYJtw4MABAPr3709WVpYS/R7M5XKRlZVF//79gbr3XkRERKQnUBbbhOrqagAyMjLiHIl0luB7HXzvRURERHqCmCX7xpjBxpiHjTHbjTHVxpgiY8y9xpjerWznWGPM84Hrq4wxm40xLxtjTolVrC0JDsZVj37iMMYAaCC2iIiI9CgxyWaNMSOBFcBlwAfAPcAG4HpgmTEmL8p2fgi8DcwK3N8DvAnMAF4xxtwci3hFGgom+yIiIiI9SawG6P4V6AtcZ639c3CnMeaPwI+AO4EfNNeAMcYD/AaoAqZYa78KO3YX8BFwszHmf621qrUQEREREWlBu5P9QK/+bKAIuL/B4VuB7wEXG2NutNaWN9NULpANfBqe6ANYa1cZY9YAE4BMQMm+SA9kfb54hyAiItKjxKJn/4TA/QJrrT/8gLX2gDHmXZwvA9OAhc20sxvYA4w2xhxirV0bPGCMGQ0cAnxsrS1uKSBjzIoIh8a2dG13tWTJEk444QRuvfVW5s6d26Y2CgsLefPNN1W3Lp3Od+AAW77/AypXrox3KCIiIjFRVbQx3iEAsanZHxO4XxPheDBpH91cI9bJMK8OxLTCGPNPY8xvjDH/whkP8AXwzRjE220VFRVhjOHSSy+NdygiMbXnvj8p0RcREekAsejZzw7cl0U4Htyf01JD1tqnjDHbgSeA74Yd2gU8gjPot0XW2ilN7Q/0+E+Opo3u5qijjmLVqlVaEEq6naqvvmLf44/X7TDGuYmIiHRnXeR3WZdaQdcYcxEwD3gG+DWwCRgG/Ar4C86sPOfHLcAuLD09nbFje2yVkvRQ1lp2/foO8DsVgOlHT2Poww9rdiQREen2UqdMgS7wV+tYlPEEe+6zIxwP7i9trpFAXf7DOOU6F1trV1trK621q4GLcUp5vmmMKWxvwN3R3LlzGT58OAD//Oc/McaEbvPnz2fJkiUYY5qs1y8pKeHmm29m/PjxpKenk52dzde+9jV+9rOfUV7e3Jhpx6JFi8jOzmbgwIF8/PHHof1bt27lmmuuYcSIEaSkpJCXl8eZZ57J8uXLm4zfGMOSJUt4/PHHmTp1KpmZmRQUFLT1JZEeYP9LL1Px4YfORlIS/W++WYm+iIhIDMWiZz84c06kmvxDAveRavqDZgMe4M0mBvr6jTFvAVMCtyVtC7X7KiwspLS0lPvuu4+vfe1rnH322aFjEydOpLS0tMnrNm7cyAknnMCmTZuYMmUKP/zhD/H7/axZs4Z77rmHH/zgB82uFPz//t//4/LLL2fEiBG8+uqrDBs2DICVK1cye/ZsSkpKOPnkkznnnHPYu3cvzz33HMceeyzPPvssX//61xu1d/fdd/P6669zxhlncMIJJ1BWFqn6S3o638Fydv/+96Ht3IsvJmXUqDhGJCIi0vPEItlfHLifbYxxhSfqxpgsYDpQAbzXQjspgfs+EY4H99e0NdDurLCwkIKCAu677z4mTpzYqAd/yZIlTV534YUXsmnTJu666y5+/vOf1zu2d+9eMjMzIz7m7373O37+858zffp0nn/+eXJzcwHwer2cf/75HDx4kMWLFzNjxozQNdu3b+fII4/kiiuuoKioiJSUlHptLlq0iGXLljFp0qRWPHvpiYr//je8u3cD4O6TT/7VV8U5IhERkZ6n3WU81tr1wAKgAGc2nXC3ARnAo+Fz7BtjxhpjGhaYvx24P88Yc3j4AWPMROA8wAKL2htzolixYgXLli1j4sSJ/M///E+j4/n5+aSmpjba7/f7ueaaa/jZz37GN77xDV5//fVQog/w0ksvsX79eq699tp6iT7AwIED+elPf8rOnTtZuLDxTKvf+973lOgL1Rs2UPzPf4W2+/3kJ7ib+eIpIiIibROrAbpXAUuBPxljZgGrgKk4c/CvAW5ucP6qwH2oONda+4Ex5hHgMmC5MeZZnAG6BcDZQDJwr7X2ixjF3OO9957zx5STTz4Zlyv673Xnnnsuzz33HNdeey333ntvo2uXLVsGwKZNm5ocI7B2rTPb6qpVqxqV8hx11FGteQrSA1lr2XXHnVBbC0DalCn0OuOMOEclIiLSM8Uk2bfWrjfGHAHcDpwCfB3YAdwH3Gat3RdlU1cAbwGXAicDWcB+4B1gnrX237GIN1EE6/gHDRrUquveeustkpKSOOOMM5r8klBc7Kxr9tRTTzXbzsGDBxvt69+/f6tikZ7nwBtvUL50qbPhctH/lxqUKyIi0lFiNvWmtXYLTq98NOc2+Zs9sLDW/MBN2iknJweAbdu2teq6xYsXc+KJJ3LmmWfy9NNPN+qdz852Jlh6/vnnOfPMM1vVtpK6xOavrGT3b34b2u797W+ROm5cHCMSERHp2WIx9aZ0ErfbDYDP54vq/GnTpgHw2muv4ff7Wzi7zuGHH86bb75J7969+cY3vsFzzz3XZLtvv/12E1eLRFY870Fqt28HwJ2TQ5/rrotzRCIiIj2bkv1upHfv3hhj2Lx5c1TnT5kyhWOOOYaPP/6Y3/3ud42OFxcXU1VV1eS148aN46233qJfv35885vf5MknnwwdO+ussxg5ciT3338/L7/8cpPXL1u2jIqKiqjilMRQs2ULxQ8+GNru8+Mf4Q789UlEREQ6RpdaQVeal5mZydSpU3n77be58MILGT16NG63u9lSmscee4zCwkJ+8Ytf8PTTT1NYWIi1lrVr17JgwQJWr14dcWGrUaNG8fbbbzNz5kwuvPBCqqur+e53v4vH4+GZZ57h5JNP5rTTTuOYY45h4sSJpKens2XLFpYvX86GDRvYsWMH6enpHfRqSHez67e/w9Y4M+emjh9PzrnnxjkiERGRnk/Jfjfz6KOP8qMf/YhXX32VJ554AmstgwcPjpiwDx8+nJUrV/L73/+e5557jr/85S+kpqZSUFDAjTfeSN++fZt9vGHDhvHWW28xa9YsLrvsMqqrq5kzZw6HH344n3zyCX/84x958cUXeeSRR3C5XAwYMIBJkyZx2223kZ+f3wGvgHRHB996i4NhU7H2/9UvMYGyNBEREek4xhkTmxiMMSsmT548ecWKFc2et2qVMzPoOA0cTCh63zuGv6aGjWecSc2mTQBkn3sOA++8M85RiYiIdKwpU6awcuXKldbaKfGMQzX7ItKhSub/M5Tou7Ky6PvjH8c5IhERkcShZF9EOkztzp3s/dvfQtt9rruOpLy8OEYkIiKSWJTsi0iH2f3732MrKwFIGT2a3hd8O84RiYiIJBYl+yLSIcrfe5/9L78S2u73y5sxSZoTQEREpDMp2ReRmLO1tey6847Qdq/TTiPjqKPiGJGIiEhiUjebSBdgraXq8y/w7t4V71BiouLDFVSvXQeASU+n709/EueIREREEpOSfZEuYN+//sWu3/w23mF0iD5X/RBPv37xDkNERCQhqYxHpAvY99RT8Q6hQyQXFJD73e/GOwwREZGEpZ59kTir3b2bmnXrnQ2Ph8zjjotvQDHizsoi7/vfxyQnxzsUERGRhKVkXyTOKt7/IPRz+sSJDPnr/XGMRkRERHoSlfGIxFn5e8tCP6dPmxrHSERERKSnUbIvEmcV770f+jnj6KPjGImIiIj0NEr2ReKoZssWardtA5wpKtPGj49zRCIiItKTKNkXiaPy994L/Zx+xBQNZhUREZGYUrIvzTLGNLqlpKRQUFDAJZdcwqpVq1ps46STTsIYw5AhQ/D5fC2ev3r1aq699lrGjx9PdnY2ycnJDBw4kNNOO42HHnqI6urqWDy1LqFeCc/UaXGMRERERHoizcYjUbn11ltDP5eVlfHBBx/wr3/9i6effpp33nmHiRMnNnndhg0bWLhwIcYYtm7dyiuvvMLpp58e8XFuv/12brvtNvx+P0cffTSXXHIJmZmZ7Nq1iyVLlnDllVfyt7/9jQ8//DDWT7HTWWspfz+8Xl/JvoiIiMSWkn2Jyty5cxvtu/baa/nLX/7Cvffey/z585u8bt68eVhr+dnPfsZvf/tbHnjggYjJ/l133cWtt97KkCFDeOqpp5g6tfHMNC+++CJ33313e55Kl1Gzbh2+vXsBcGdnkzJ2bJwjEhERkZ5GZTzSZrNnzwZgz549TR73er3Mnz+fXr16ccsttzBlyhRefvlltgUGpIYrKipi7ty5eDweXn755SYTfYDTTz+dV199NXZPIo7Kl4XV60+dinHpn6OIiIjElrILabM33ngDgCOOOKLJ4y+88AI7d+7kW9/6FmlpaVx66aX4fD4efvjhRuc+8sgj1NbWcu655zK+hRlpUlJS2h98FxBewqP59UVERKQjqIxHohJexrN//36WL1/Ou+++y+mnn85NN93U5DUPPPAAAJdddhkA3/nOd7jxxht56KGHuPnmm3GF9WS/8847AMyaNauDnkHXYr1eKj6oWzk3Y5rm1xcREZHYU7LfBgU/eyneIUSt6LenxaSd2267rdG+Qw89lAsuuICsrKxGxzZt2sTrr7/OmDFjODqwUFRubi5nnHEGTz/9NK+99hqnnnpq6PwdO3YAMHjw4JjE29VVrVqF/8ABAJL69iV5eEF8AxIREZEeSWU8EhVrbeh28OBB3n//ffr168eFF17IzTff3Oj8Bx98EL/fz6WXXlpvf3B73rx5nRB11xVer59x9DSMMXGMRkRERHoqJfvSahkZGRx11FE888wzZGRk8Pvf/54tW7aEjgfr8l0uFxdffHG9a0855RT69+/Pf//7X3bu3BnaP2DAAIAmB+/2RBXhi2lpfn0RERHpICrjaYNYlcZ0dzk5OYwZM4aVK1eycuVKhgwZAjjTY27fvh1ovizn4Ycf5he/+AUAxx57LIsWLWLhwoVcccUVHR98HPlraqhYuTK0naHBuSIiItJBlOxLu+zbtw8Av98f2hcs0Tn99NPp169fo2t8Ph/z58/noYce4uc//znGGC677DJ+85vf8PTTT/Pll19y6KGHRnzM6urqbj0jT+XHH2OrqgDwDBuKZ+DAOEckIiIiPZWSfWmz5557jo0bN+LxeDjmmGMA2LJlC6+++iq9e/fmqaeeIjU1tclr161bxzvvvMMbb7zBSSedREFBAXPnzuXmm2/mtNNO46mnnmpySs9XX32V3//+9yxatKhDn1tHCi/hyVAJj4iIiHQgJfsSlfCpN8vLy/nyyy955ZVXAGfl22AP/kMPPYTP5+Oiiy6KmOgDXHnllbzzzjs88MADnHTSSQD84he/wOv1ctttt3HkkUdyzDHHcMQRR5CZmcmuXbt46623WLt2bcR5/buL8vfq5tfPOFrJvoiIiHQcY62NdwydxhizYvLkyZNXrFjR7HmrVq0CYNy4cZ0RVpfW1CwxbrebPn36cNRRR3HNNdeEknW/309BQQFbtmzhk08+4fDDD4/YbkVFBQMHDqSiooKtW7fSt2/f0LFVq1bx17/+lcWLF7N582aqqqrIy8tj4sSJnHfeeVx00UUdUsbTGe+7v7ycr6ZOA68XgEOWvktSbm6HPZ6IiIjEx5QpU1i5cuVKa+2UeMahnn1pVmu+DLpcLjZv3hzVuenp6ZSWljZ5bNy4cfz5z3+O+nG7k4oVK0KJfsqYMUr0RUREpENp6k2RTlRvfn3NwiMiIiIdLGbJvjFmsDHmYWPMdmNMtTGmyBhzrzGmd5TXFxpjbBS3IbGKWaSzlb8fNr/+NNXri4iISMeKSRmPMWYksBToCzwPrAaOAq4HTjHGTLfWFrfQTBFwW4RjE4BzgM+ttVsinCPSpXn37aN61Wpnw+0m/cgj4xuQiIiI9Hixqtn/K06if521NlRsbYz5I/Aj4E7gB801YK0tAuY2dcwY80Tgx3kxiFUkLio+WA6BMRBp48fjzsyMc0QiIiLS07W7jCfQqz8bp2f+/gaHbwXKgYuNMRltbD8f+AZQCfyr7ZGKxFeFSnhERESkk8WiZv+EwP0Ca60//IC19gDwLpAOtDW7uQRIAZ6y1pa2NUiReKs3OFfz64uIiEgniEUZz5jA/ZoIx9fi9PyPBha2of05gft/RHuBMSbSRPpj2/D4Iu1Wu2sXNRs3AmCSk0mbODG+AYmIiEhCiEXPfnbgvizC8eD+nNY2bIyZgfNl4nNr7dLWhybSNVS8V9ernzZ5Mq5mVhcWERERiZWuvqjW9wL3D7TmokgrlQV6/Ce3NyiR1ip/7/3Qz5pfX0RERDpLLHr2gz332RGOB/eXtqZRY0wucC7OwNxH2xSZSBdgraU8rGc/faqSfREREekcsUj2vwrcj45w/JDAfaSa/kiCA3P/TwNzpTur3bwZ744dALgyMkibMCHOEYmIiEiiiEWyvzhwP9sYU689Y0wWMB2oAN5reGELggNzW1XCI9LVhM/Ck37EEZikrl49JyIiIj1Fu5N9a+16YAFQAFzd4PBtQAbwqLW2PLjTGDPWGBNxZhxjzHHAODQwV3qA8vD59TXlpoiIiHSiWHUxXgUsBf5kjJkFrAKm4szBvwa4ucH5qwL3JkJ7bRqYK9LVWL+finqDc5Xsi4iISOeJRRlPsHf/CGA+TpJ/IzASuA+YZq0tjrYtY0xv4Dw0MLfLWb16Nddeey3jx48nOzub5ORkBg4cyGmnncZDDz1EdXV1vEPscqrXrsW3bx8A7t69SRkdaWiLiIiISOzFrHjYWrsFuCzKcyP16GOt3QekxSouiY3bb7+d2267Db/fz9FHH80ll1xCZmYmu3btYsmSJVx55ZX87W9/48MPP4x3qF1K+bJloZ/Tp07FuGLy/VpEREQkKhopKC266667uPXWWxkyZAhPPfUUU5uYOvLFF1/k7rvvjkN0XZtKeERERCSelOxLs4qKipg7dy4ej4eXX36Z8ePHN3ne6aefzkknndTJ0XVt1uulYvny0LYW0xIREZHOppoCadYjjzxCbW0t5557bsREPyglJaWTouoeqj7/HH+5MwlV0oABeIYNi3NEIiIikmiU7Euz3nnnHQBmzZoV50i6n/LwEp6pUzEm4lAVERERkQ6hMp62mJsd7wiiN7esXZfvCKz8Onjw4FhEk1DK36ubXz9D8+uLiIhIHKhnX6QD+KurqVy5MrSdrsG5IiIiEgdK9qVZAwYMAGDbtm1xjqR7qfzoI2xNDQDJw4fj6dcvzhGJiIhIIlIZT1u0szSmOzn22GNZtGgRCxcu5Iorroh3ON1GeAlPumbhERERkThRz74067LLLsPj8fD000/z5ZdfNnuuVtCtU7EsrF5/qkp4REREJD6U7EuzCgoKmDt3LjU1NZx22mkRV8h99dVXOfXUUzs5uq7Jd/AglZ9/HtpOn3pUHKMRERGRRKYyHmmWv7KSmy6+mKq9e7nzvvs48sgjmTZlClMmTCAjPZ3de/fyzgcfsK6oiCmHH051UVG8Q24zf3U13p072XzPPe1r58BB8PkASBk3jqTevWMRnoiIiEirKdmXiKzXS82mTVivl59ffjnfKCzkgX//m7eWL+dfTz1FVXU1uTk5HD5mDD++7DIuOP10/AcPxjvstvP78R84QPlbb8esyQzNwiMiIiJxpGRfIqrduRPr9Ya2x44YwR9/8Ys4RtTNeDxkn312vKMQERGRBKZkX5rk278fX2lpaNvTvz8mJSV+AXUCs2kTnmHDGPKPv8ekvZSx4/D06xuTtkRERETaQsm+NGK9Xmq3bw9tu7OzScrPj2NEncO43bizssg8SgNqRUREpGfQbDzSSO2OHaHyHZOUhCewsJaIiIiIdC9K9qUeX1kZvrK6RcM8AwdikvQHIBEREZHuSMm+hDQq38nJwd2rVxwjEhEREZH2ULIvAFhrqd2+HRuYH954PCrfEREREenmlOwLECjf2b8/tO0ZOAjjdscxIhERERFpLyX7gr+2Fu+OHaFtd+9c3FmZcYxIRERERGJByX6Cs9bibVi+079fnKMSERERkVhQsp/gfKWl+A4cCG17Bql8R0RERKSnULKfwPw1NfXKd5Jy83BnqnxHREREpKdQsp+gQrPv+P0AmORkkvr1jXNUIiIiIhJLSvYTlG/fPvwHD4a2Vb4jIiIi0vMo2U9A/poavDt3hraT8vJxZ2TEMSIRERER6QhK9hOMtZbabdvqyndSUqIu31mzZg0//vGPmTx5Mrm5uXg8HnJzc5k6dSo33XQTK1asqHf+3LlzMcY0eyssLIz1UxQRERGRgKR4ByCdy1dSgr+8PLSdPGgQxtX8dz5rLbfffju33347fr+fyZMn861vfYvc3FwOHDjAp59+yp///Gfuvvtu/vKXv3D11VfXu37GjBkRk/qCgoL2PiURERERiUDJfgLxV1dTu2tXaDspvw+u9PQWr7v99tuZO3cuQ4YM4YknnmD69OmNztm9ezf33nsvZWVljY4VFhYyd+7cdsUuIiIiIq2nZD+BePfsgUD5jislhaS+fVq8ZsOGDdxxxx0kJyfzyiuvcNhhhzV5Xt++fbnrrrvwer0xjVlERERE2k41+wnEX1kZ+jlpwIAWy3cAHnnkEbxeL+edd17ERD9cUpK+P4qIiIh0FcrMEoS1FltTE9p2paVFdd27774LwMyZM9v82EuWLIlYxnPKKacwbdq0NrctIiIiIpEp2W+DCf+cEO8QovbZJZ8BOIm+tQAYjyfqOfV3BqboHDRoUKNjRUVFzJ8/v96+nJwcbrjhhnr73nzzTd58880m28/JyVGyLyIiItJBlOwnCFtdHfrZpKTEpM2ioiJuu+22evuGDRvWKNm/9dZbNUBXREREJA5iVrNvjBlsjHnYGLPdGFNtjCkyxtxrjOndhrYmG2MeN8ZsDbS1yxjzpjHmu7GKN9H4w5J9V3L0yX7//v0B2L59e6NjhYWFTnmQtdTW1rY/SBERERGJqZj07BtjRgJLgb7A88Bq4CjgeuAUY8x0a21xlG1dA9wH7ANeArYBucB44OvAv2IRc3sES2O6k/o9+8lRXzd9+nQWL17MwoULufzyyzsiNBERERHpILHq2f8rTqJ/nbX2bGvtz6y1M4F7gDHAndE0YoyZDfwJeAMYbq29xFr7C2vtD6y1xwIXxyjehNPWMp5LL72UpKQk/vOf/7Bq1aqOCE1EREREOki7k/1Ar/5soAi4v8HhW4Fy4GJjTEYUzf0BqAS+Y6090PCgtVa1Im1grW1zsj9y5Eh++ctfUlNTw6mnnsrSpUubPK+0tLS9YYqIiIhIjMWijOeEwP0Ca60//IC19oAx5l2cLwPTgIWRGjHGjAcOB54DSowxJwBTAAt8DCxu2L5Ex3q92MBiWsblxrRyLvxbbrkFay2//vWvmT59OlOmTOGoo44iNzeX0tJSioqKeOONNwA4/vjjG13f3NSbTc3eIyIiIiKxEYtkf0zgfk2E42txkv3RNJPsA0cG7ncDS4CGWeNnxphzrLXrWgrIGLMiwqGxLV3bEzWs1zfGtOp6Ywxz587lggsu4O9//zuLFy/m8ccfp7y8nKysLEaOHMkPf/hDLr74YiZPntzo+uam3mxq9h4RERERiY1YJPvZgfuyCMeD+3NaaKdv4P4KnEG5pwHvAP2AW4CLgJeMMROstTVNNyFNidW0m2PGjOGee+6J+vy5c+dqyk0RERGROOpK8+wHxw+4gW9ba5cFtvcHptwcCxwBnAs80VxD1topTe0P9Pg37nru4Tpijn0RERER6fpiMRtPsOc+O8Lx4P7SFtoJHt8ZlugDYK21OFN6gjOlp7RCvTn2leyLiIiIJIxYJPtfBe5HRzh+SOA+Uk1/w3ZKIxzfF7hPiy4sCbLVdVVP6tkXERERSRyxSPYXB+5nG2PqtWeMyQKmAxXAey208x7ONJ0FEabpHB+439iOWBOO9fmw3sCMpcZgkqNfUEtEREREurd2J/vW2vXAAqAAuLrB4duADOBRa215cKcxZqwxpt7MONbaCuAhIBW4w4RNGWOMmQBcCniB/7Q35kRSr14/ufUz8YiIiIhI9xWrAbpXAUuBPxljZgGrgKk4c/CvAW5ucH5wKdaGmeevcKbcvAE4OjBHfz/gHJwvATcEvlxIlFSvLyIiIpK4YlHGE+zdPwKYj5Pk3wiMBO4Dpllri6NsZz9wHHAXkAtcA5yOMwXnydba+2IRbyJRvb6IiIhI4orZ1JvW2i3AZVGeG7GWxFp7EOcvAQ3/GiBtYGs07aaIiIhIoopJz750XSrjEREREUlcSvZ7MOv3Y2vCyng0E4+IiIhIQlGy34PZ2lqwFgDj8WDc7jhHJCIiIiKdScl+D1Zv2k2V8IiIiIgkHCX7PZjq9UVEREQSm5L9Hkw9+yIiIiKJTcl+D1Z/9dy2JfvGmCZX3Q3uHzZsGFVVVU1eW1BQgDEGr9cbVZsiIiIiEltK9nsoa229ZN+V0jEz8WzevJl77723Q9oWERERkfZRst9DWa8X6/cDOLPwJMVs/bSQ3r17k5uby29/+1v27t0b8/ZFREREpH2U7PdQDUt4OqJsJj09nV/96leUlZVx2223xbx9EREREWkfJfs9VL1kP7XjBudeffXVjBw5kn/84x+sXbu2wx5HRERERFpPyX4PVa9evwNXzvV4PPz2t7+ltraW//mf/+mwxxERERGR1ot9IXcCWDV2XLxDiFrBf57q8Gk3zzvvPI4++mieffZZ3nnnHY499tgOfTwRERERiY569hNAZ8yxf/fddwNw0003dfhjiYiIiEh0lOz3dMZgOrCMJ+joo4/mvPPO4/333+fJJ5/s8McTERERkZapjKcNxq1eFe8QmuWvqKB6wwbAqdfvrAWsfvOb3/D888/z85//nG984xud8pgiIiIiEpl69nsgf/hMPCmpnfa4o0aN4qqrrmLjxo38+c9/7rTHFREREZGmKdnvgepNu9lBK+dGcsstt5CTk8Odd97JwYMHO/WxRURERKQ+Jfs9UP1kv+MH54bLzc3lF7/4Bfv27aO4uLhTH1tERERE6lOy3wOFl/G42pHs+3w+wJlLvzWuu+46CgoKYtqmiIiIiLSeBuj2MNbvx9bUhrbb07O/e/duAPr27dv4cayNeF1KSgobN25sdZsiIiIiElvq2e9hbE0N4CTixuPBuNr+Fj/77LOAM61mrHREmyIiIiLSNPXs9zCxqNe/5ZZbWLNmDU899RRJSUnceOON7Y6rI9oUERERkeYp2e9hYlGv/+tf/5qsrCxmzJjBr371K6ZNm9buuDqiTRERERFpnpL9HsZW14R+bmvPfnP1+G3VEW2KiIiISPNUs9/DxHPaTRERERHpWpTs9yDWWvw1sZl2U0RERES6PyX7PYitrQW/HwDjdoPbHeeIRERERCSelOz3IA3r9Y0xcYxGREREROJNyX4Ponp9EREREQmnZL8HUb2+iIiIiIRTst+DqGdfRERERMIp2e9BlOyLiIiISDgl+z2E9XqxXq+zYQzG44lvQCIiIiISd0r2ewh/Td1MPC7NxCMiIiIixDDZN8YMNsY8bIzZboypNsYUGWPuNcb0bkUbS4wxtplbaqzi7Wk6qoTHGIMxBpfLxfr16yOed8IJJ4TOnT9/fqPjy5cv58ILL2TYsGGkpKTQq1cvRo4cyRlnnMHvf/97ysvL651fUFAQaq+p29y5cyksLGz2nIa3Sy+9NGavi4iIiEh3kBSLRowxI4GlQF/geWA1cBRwPXCKMWa6tba4FU3eFmG/t12B9mD1kv3k2NbrJyUl4fV6eeihh7jrrrsaHV+7di1LliwJndfQY489xiWXXIK1lpkzZ/KNb3yDtLQ0Nm3axDvvvMOLL77IOeecw6hRoxpde/3115OTk9Nof2FhIQUFBRQWFtbb/9xzz/HJJ59w1llnMXHixHrHGm6LiIiI9HQxSfaBv+Ik+tdZa/8c3GmM+SPwI+BO4AfRNmatnRujuBJG/Z795Ji23a9fPwYMGMAjjzzC7bffTlJS/Y/Ngw8+CMAZZ5zBs88+W+9YRUUFV199NcYYFixYwKxZsxq1v3TpUvLz85t87BtuuIGCgoKoYy0qKuKTTz7h7LPPVk++iIiIJLx2l/EEevVnA0XA/Q0O3wqUAxcbYzLa+1gSmb+6Y+fYnzNnDjt37uTFF1+st7+2tpb58+dzzDHHcOihhza67vPPP2f//v2MHz++yUQf4Jhjjmmy915ERERE2icWNfsnBO4XWGv94QestQeAd4F0YFq0DRpjvmWM+Zkx5sfGmFONMZpHshnW78eGDdDtiGk3L7jgAjIyMkK9+EEvvPACu3fvZs6cOU1el5eXB8D27dsb1eWLiIiISMeKRRnPmMD9mgjH1+L0/I8GFkbZ5r8bbO82xlxtrf1PNBcbY1ZEODQ2ysfvVuol+p5kjCv2kyxlZWXx7W9/m/nz57N161YGDx4MwLx58+jVqxfnn39+k/X8I0aM4Mgjj2T58uVMnz6dOXPmcMwxx3DYYYeRnNxyudG9997bqNc/JyeHG264IRZPS0RERKRHi0Wynx24L4twPLg/J4q2ngf+F/gIKAaGAZcANwJPGmNOs9a+2vZQY+P+HyyKdwgt2Br66eq/z4xZq3PmzOGhhx7i4Ycf5pZbbmHTpk28/vrrfP/73yc9Pb3Ja4wx/Oc//+GSSy5hyZIlXHPNNQB4PB4mTZrEOeecww9/+EN69erV5PX33Xdfo33Dhg1Tsi8iIiIShS41z7619h5r7YvW2m3W2ipr7VfW2l/gJPsu4DdRtjOlqRvOLEHSRlOnTmXChAk8/PDD+P1+HnzwQfx+f8QSnqChQ4eyePFivvzyS+677z4uvvhiRowYwQcffMDPfvYzJkyYwMaNG5u8duPGjVhr692Kioo64NmJiIiI9DyxSPaDPffZEY4H95e24zEexJl2c6IxJqsd7Ug7zZkzh02bNvHKK6/wyCOPMGXKFCZNmhTVtePGjeO6667jX//6F6tXr2bVqlUcffTRbN68mR/96EcdHLmIiIhI4olFGc9XgfvREY4fEriPVNPfImttlTHmANAbyAAOtLWtWIhlaUwsVK9bh7+qCoDk4cNxZ3TcxEcXX3wx//M//8MPfvADtm3bxi233NLmtsaOHcujjz7KqFGjWLSoq5dGiYiIiHQ/sejZXxy4n22MqddeoBd+OlABvNfWBzDGjMFJ9A8Ae9vaTk9krcVfXTdAtyOm3QyXk5PDeeedx9atW8nIyOCCCy5oV3tZWc4faqy1sQhPRERERMK0O9m31q4HFgAFwNUNDt+G0xP/qLU2NO+iMWasMabezDjGmOHGmNyG7Rtj+gCPBDb/ba3VKrphbG0tBGY8NW43JilW66RFdscdd/Dss8/y2muvhZL1SDZu3Mif/vQnysoaj9+21nLnnXcCcPzxx3dIrCIiIiKJLFaZ4VXAUuBPxphZwCpgKs4c/GuAmxucvypwb8L2zQD+box5B9gAlABDga/j1P1/CPw0RvH2GPVXzu2c5QiGDh3K0KFDozq3rKyM66+/np/85CdMnz6d8ePHk5WVxe7du1m0aBEbNmygb9++3H333R0ctYiIiEjiiUmyb61db4w5ArgdOAUnQd8B3AfcZq3dF0UzK3Dm158CTAJ64ZTtfAb8H/APa21N5MsTUzyS/dYYN24czz77LAsWLOC9997jySefpKSkhPT0dEaNGsXNN9/M9ddfT58+feIdqoiIiEiPYxKpVtoYs2Ly5MmTV6yItOaWY9Uq5w8P48aN64yw2qVm2zZ8+5zvUp7+/UnKz49zRN1Xd3rfRUREpGubMmUKK1euXBmY/j1uutQ8+9J6Xb1nX0RERETiR8l+N2fDZuJRsi8iIiIi4ZTsd2PW68X6ApMTGRfG44lvQCIiIiLSpSjZ78b8YSU8rpRkjDHNnC0iIiIiiUbJfjemen0RERERaY6S/W5M9foiIiIi0hwl+92YrQkv41GyLyIiIiL1Kdnvxvwq4xERERGRZijZ76as34+tCSvjSU6OYzQiIiIi0hUp2e+mGib6xqW3UkRERETqU4bYTdlq1euLiIiISPOU7HdTqtcXERERkZYo2e+m6s2xr3p9EREREWmCkv1uSgtqiYiIiEhLlOx3Q9baegN0O7Jm3xhT7+Z2u8nPz2fmzJk8/vjjEa9bs2YNP/7xj5k8eTK5ubl4PB5yc3OZOnUqN910EytWrOiwmEVERETEkRTvAKT1rNeL9fsBMC43uN0d/pi33norALW1taxevZrnn3+exYsX8+GHH/LHP/6xLjZruf3227n99tvx+/1MnjyZb33rW+Tm5nLgwAE+/fRT/vznP3P33Xfzl7/8hauvvrrDYxcRERFJVEr2uyFbHTbtZkoyxpgOf8y5c+fW2164cCEnnXQS9957L9dddx0FBQUA3H777cydO5chQ4bwxBNPMH369EZt7d69m3vvvZeysrIOj1tEREQkkSnZ74ZsTfzr9WfNmsXYsWNZtWoVy5cvp6CggA0bNnDHHXeQnJzMK6+8wmGHHdbktX379uWuu+7C6/V2ctQiIiIiiUU1+91QvZ79OM7EY611Ygj8ZeGRRx7B6/Vy3nnnRUz0wyUl6bumiIiISEdSst8Nhffsx2tBrTfeeIOvvvoKYwxHHnkkAO+++y4AM2fOjEtMIiIiIlKfulbb4O5vnR7vEKJ245MvxqSdYM1+bW0tX331Fc899xzWWn70ox8xbNgwAHbu3AnAoEGDGl1fVFTE/Pnz6+3LycnhhhtuiEl8IiIiItKYkn2Jym233QY4JTs5OTkcd9xxXHHFFVx00UVRXV9UVBRqI2jYsGFK9kVEREQ6kJJ9iUqwPr85/fv3Z9WqVWzfvr3RscLCwlAbXq8Xj8cT8xhFREREpD4l+20Qq9KYtvDt30/N5s0AuDIySBk+PG6xNDR9+nQWL17MwoULufzyy+MdjoiIiEjC0wDdbiZ85dx4TbsZyaWXXkpSUhL/+c9/WLVqVbzDEREREUl4Sva7GX912Ew8cZx2sykjR47kl7/8JTU1NZx66qksXbq0yfNKS0s7NzARERGRBKUynm6mK/fsA9xyyy1Ya/n1r3/N9OnTmTJlCkcddRS5ubmUlpZSVFTEG2+8AcDxxx8f52hFREREejYl+92MDevZj+eCWpEYY5g7dy4XXHABf//731m8eDGPP/445eXlZGVlMXLkSH74wx9y8cUXM3ny5HiHKyIiItKjKdnvRqzPh/V6nQ1jOiXZj2YWnqaMGTOGe+65J8bRiIiIiEhrqGa/G6lXwpOcjDEmjtGIiIiISFenZL8b6cqDc0VERESk61Gy34109cG5IiIiItK1KNnvRrr64FwRERER6VqU7Hcj6tkXERERkdZQst9NWGvr9eyrZl9EREREWhKzZN8YM9gY87AxZrsxptoYU2SMudcY07sdbR5vjPEZY6wx5o5Yxdoteb1Yvx8A43JBkmZNFREREZHmxSRjNMaMBJYCfYHngdXAUcD1wCnGmOnW2uJWtpkF/BOoADJjEWd35m9QwqNpN0VERESkJbHq2f8rTqJ/nbX2bGvtz6y1M4F7gDHAnW1o8z4gG/hNjGLs1jQ4V0RERERaq93JfqBXfzZQBNzf4PCtQDlwsTEmoxVtngVcBlwHbG9vjD2BBueKiIiISGvFomf/hMD9AmutP/yAtfYA8C6QDkyLpjFjTF9gHvCctfaxGMTXI6hnX0RERERaKxY1+2MC92siHF+L0/M/GlgYRXvzcL6E/KCtARljVkQ4NLatbcZbeM2+Sz37IiIiIhKFWCT72YH7sgjHg/tzWmrIGHM5cCbwLWvtrvaH1jNYa+uX8ahnX0RERESi0GXmbzTGFAD3Ak9Za/+vPW1Za6dEeIwVwOT2tB0PtqYGrAXAJCVh3O44RyQiIiIi3UEsavaDPffZEY4H95e20M7DQCVwVQxi6lHiMTjXGNOq2/z58zslLhERERGJXix69r8K3I+OcPyQwH2kmv6gyThfDPZEmEP+ZmPMzcDz1tqzWxtkd1Z/cG7nJPu33npro3333nsvZWVlXH/99eTk5NQ7NnHixE6JS0RERESiF4tkf3HgfrYxxhU+I09gYazpOAtjvddCO//CmbWnoUOA44GPgRXAR+0NuLupPzi3c+r1586d22jf/PnzKSsr44YbbqCgoKBT4hARERGRtmt3sm+tXW+MWYAz487VwJ/DDt8GZAD/sNaWB3caY8YGrl0d1s51TbVvjLkUJ9l/yVr7y/bG2x1p2k0RERERaYtYDdC9ClgK/MkYMwtYBUzFmYN/DXBzg/NXBe6brNeR+my1FtQSERERkdaLxQBdrLXrgSOA+ThJ/o3ASOA+YJq1tjgWj5OIrM+H9dY6G8ZgPJ74BiQiIiIi3UbMpt601m4BLovy3Kh79K2183G+RHQZW3/2dhwf/d1WnT34t8d1UBwiIiIi0tXFpGdfRERERES6HiX7IiIiIiI9VJdZQbc76czSmJqtW/GVlgLgGTiQpNzcTntsEREREene1LPfxdWbdlMz8YiIiIhIKyjZ78KstfWn3dQc+yIiIiLSCkr2uzKfD+v3AWBcLkySqq5EREREJHpK9rswf72Vc1MwRmuQiYiIiEj01FXchdWv149/CU9RUVG8QxARERGRVlDPfhdma8Lr9TU4V0RERERaR8l+F1ZvcG4X6NkXERERke5FyX4X5q+pK+NxadpNEREREWklJftdlLW2QRmPevZFREREpHWU7HdRtqYGrAXAJCVh3O44RyQiIiIi3Y2S/S5Kg3NFREREpL2U7HdRXW3aTRERERHpfpTsd1H+sJ59l3r2RURERKQNlOx3UerZFxEREZH2UrLfRdWr2de0myIiIiLSBkr2uyDr82FrawNbBuPxxDUeEREREemelOx3QfVn4vFgXHqbRERERKT1lEV2QeHJvlbOFREREZG2UrLfBfnDB+dq5VwRERERaSMl+11QVxmcu2LFCowxTJ06tcnjTzzxBMYYjDFs3Lix0fHKykpSU1NJT0+nurqaJUuWhM4fPnw4NrBCcEMHDx6kV69eoXOLiooAKCgoCO2L5jZ37txYvRQiIiIi3VJSvAOQxmwX6dmfNGkSvXv3ZsWKFezfv59evXrVO75w4UKMMVhrWbRoEVdccUW94++++y7V1dWcdNJJpIR9aUlKSqKoqIjXX3+d2bNnN3rcf//73xw4cICkpCS8Xm9o/w033EBpaWm9c+fPn8+mTZu45JJLKCgoqHessLCwbU9cREREpIdQst/FWGu7TM++y+WisLCQZ599ljfffJMzzjij3vFFixZRWFjIp59+2mSyv2jRIgBmzZpVb/+JJ57I4sWLmTdvXpPJ/rx58xgwYABDhw7l/fffD+2/4YYbGp27ZMkSNm3axKWXXqrkXkRERKQBlfF0NT4f1udzfna5MEnx/T4WTNSDiXtQUVERGzduZNasWcyYMYPFixc3ujZSsp+Xl8c555zD888/z549e+od+/TTT/nggw+47LLLSIrzcxcRERHp7pTsdzHhg3NdyckYY+IYDcycORNwSnbCBbdnzpzJCSecwI4dO/jyyy9Dx/fv38+HH35I7969mTx5cqN258yZQ21tLf/85z/r7Z83bx7GmEZ/JRARERGR1lOy38V0lRKeoHHjxjFgwAA+//zzer3wixYtIjMzkyOPPJITTjghtC/ozTffxOfzUVhYiKuJdQIKCwsZNWoUDz74YGhfZWUljz32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FfgrK50NY0jq3Tu+ATWjb9++zJs3j4qKCi666CK8Xi9er5eLLrqIiooKHnjgAfr37w/AL3/5S3bs2MG3v/1t7rrrrka977m5uTz99NOMGDGC119/nSeeeKLJx7zyyisB54tGQ/PmzSM9PZ0LL7wwxs9UREREpGdRsh8n3vBe/ezsLr9q7llnncXll1/Ohx9+yO23387tt9/O8uXLufTSSznnnHMAqKys5LHHHgPglltuidhWRkYGN954IwAPPPBAk+eMGTOG448/nscee4zq6rp1CHbu3Ml///tfvvnNb5KtmYtEREREmqVkPw6s14uvrCy03RUH5jbl3nvvZfjw4dx1113cddddFBQU8Kc//Sl0/MMPP6S6upqBAwcybty4Zts66aSTAHjvvffw+ZpeJ23OnDkUFxfzzDPPhPbNnz8fr9fLnDlzYvCMRERERHq2rt2d3EUtXDQytg3ujm1z4WbNXB+ztrKysrjlllu47DJnOYW//e1vZIUNKt6xYwcAQ4YMabGt4Dk1NTUUFxfTt2/fRuecd955XHfddcybN48LLrgAay0PPvgg48aNY/r06bzxxhuxeFoiIiIiPZZ69iVqlZWV/O53vwttP/XUUx36eKmpqVx00UUsWbKEdevWsWjRItavX69efREREZEoKdmXqP30pz9l9erVXH/99UycOJGHH36Y//73v6HjwUG6W7ZsabGt4DnJycnk5eVFPG/OnDlYa3nooYeYN28eKSkpfPe7323nMxERERFJDCrjaYP2lMZUFxXhP3gQgKT8fDyBBLmrW7BgAffffz8TJkzgd7/7HWvXruWII45gzpw5fP755+Tn53PkkUeSkpLC9u3bWbVqVbN1+8ESnGnTpuF2uyOeN2HCBKZNm8ZDDz1EWVkZ5557brNfDkRERESkjnr2O5G/ujqU6IMzt353UFJSwmWXXYbH4+Gxxx4jJSWF8ePH8+tf/5pdu3bxwx/+EIC0tDS+853vAHDHHXdEbK+yspI//vGPAHzve99r8fHnzJnDnj17qKmpUQmPiIiISCso2e9E9RbRysrClZwcx2ii94Mf/IDt27dzxx13cPjhh4f233jjjRx33HH85z//CU25eccdd9CvXz8ef/xxfvWrX+H1euu1tW/fPs477zzWrVvHiSeeyAUXXNDi43/729/m2Wef5fnnn6ewsDCmz01ERESk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",
"text/plain": [
""
]
},
"execution_count": 45,
"metadata": {
"image/png": {
"height": 288,
"width": 381
},
"needs_background": "light"
},
"output_type": "execute_result"
}
],
"source": [
"#Inititalise the mean and variance from historical observations\n",
"\n",
"mu = logR_sub.mean()\n",
"Sigma = logR_sub.cov()\n",
"\n",
"mlambda = 519/520 # Roughly, one new observation counts like one week in 10 years (52 weeks x 10 years = 520 ). Also, we called it mlambda because lambda is a reserved kewyword\n",
"logR_2 = logR[logR.index>= '2016-12-01']\n",
"pi_new = ref_pi # The initial equal weight portfolio\n",
"\n",
"sharpe = []\n",
"\n",
"\n",
"out_dataframe = logR_2.copy() # We are going to save here the investment protfolios for each date\n",
"\n",
"for date in logR_2.index:\n",
" lr = logR_2.loc[date]\n",
" mu = mlambda*mu + (1-mlambda)*lr # Calculate the updated estimation of the mean\n",
" lr_hat = np.array(lr - mu)\n",
" Sigma = mlambda*Sigma + (1-mlambda)*lr_hat.reshape((-1,1))@ lr_hat.reshape((1,-1)) # Calculate the updated estimation of the covariance\n",
" \n",
" \n",
" #Use our algorithm to update the portfolio. Play with the step parameter and observe how the evolution of portfolios and Sharpe ratio evolves\n",
" pi_new = update_portfolio(pi_new,0.2,0.01, mmu=mu,msigma=Sigma ) \n",
" new_sharpe = sharpe_portfolio(pi_new) # Calculate the Sharpe ratio\n",
" \n",
" sharpe.append(new_sharpe) #Save in a list for later plotting\n",
" \n",
" out_dataframe.loc[date]=pi_new # Save the portfolio composition\n",
" \n",
" \n",
"plt.plot(logR_2.index,sharpe)\n",
"plt.title('Evolution of Sharpe ratio')\n",
"\n",
"plt.figure()\n",
"out_dataframe.plot()\n",
"plt.title('Evolution of portfolio composition')\n",
"\n",
"print(pi_new)\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"The figure shows that the strategy in this period becomes more and more concentrated on only one asset. Note, though that this process is not monotone, and sometimes the proportion changes. If the data starts supporting a more diversified portfolio.\n",
"\n",
"Before finishing, let us check that our estimation (through the use of the EWMA estimator ) is close to the one we would have obtained by using the whole data. This occurs since we chose a factor that roughly gives every new data the same weight as one week in a period of 10 years (which is how it works within the whole data series)."
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"ticker\n",
"BAC -0.000786\n",
"C -0.003253\n",
"GE -0.000627\n",
"JNJ 0.001889\n",
"MSFT 0.002297\n",
"PG 0.001198\n",
"T 0.001146\n",
"WMT 0.001717\n",
"XOM 0.000750\n",
"dtype: float64 ticker\n",
"BAC -0.000756\n",
"C -0.003210\n",
"GE -0.000691\n",
"JNJ 0.001899\n",
"MSFT 0.002320\n",
"PG 0.001197\n",
"T 0.001135\n",
"WMT 0.001753\n",
"XOM 0.000752\n",
"dtype: float64\n",
"ticker BAC C GE JNJ MSFT PG T \\\n",
"ticker \n",
"BAC 0.005745 0.005614 0.002074 0.000669 0.000883 0.000584 0.000844 \n",
"C 0.005614 0.008234 0.002391 0.000721 0.000992 0.000550 0.001076 \n",
"GE 0.002074 0.002391 0.001784 0.000361 0.000518 0.000362 0.000483 \n",
"JNJ 0.000669 0.000721 0.000361 0.000442 0.000322 0.000264 0.000280 \n",
"MSFT 0.000883 0.000992 0.000518 0.000322 0.001245 0.000303 0.000346 \n",
"PG 0.000584 0.000550 0.000362 0.000264 0.000303 0.000495 0.000300 \n",
"T 0.000844 0.001076 0.000483 0.000280 0.000346 0.000300 0.000770 \n",
"WMT 0.000534 0.000500 0.000273 0.000237 0.000314 0.000281 0.000287 \n",
"XOM 0.000839 0.000873 0.000506 0.000314 0.000450 0.000297 0.000390 \n",
"\n",
"ticker WMT XOM \n",
"ticker \n",
"BAC 0.000534 0.000839 \n",
"C 0.000500 0.000873 \n",
"GE 0.000273 0.000506 \n",
"JNJ 0.000237 0.000314 \n",
"MSFT 0.000314 0.000450 \n",
"PG 0.000281 0.000297 \n",
"T 0.000287 0.000390 \n",
"WMT 0.000672 0.000264 \n",
"XOM 0.000264 0.000797 ticker BAC C GE JNJ MSFT PG T \\\n",
"ticker \n",
"BAC 0.005726 0.005594 0.002066 0.000667 0.000880 0.000581 0.000842 \n",
"C 0.005594 0.008203 0.002382 0.000719 0.000988 0.000548 0.001073 \n",
"GE 0.002066 0.002382 0.001785 0.000360 0.000515 0.000360 0.000483 \n",
"JNJ 0.000667 0.000719 0.000360 0.000442 0.000321 0.000263 0.000278 \n",
"MSFT 0.000880 0.000988 0.000515 0.000321 0.001241 0.000301 0.000344 \n",
"PG 0.000581 0.000548 0.000360 0.000263 0.000301 0.000494 0.000299 \n",
"T 0.000842 0.001073 0.000483 0.000278 0.000344 0.000299 0.000770 \n",
"WMT 0.000532 0.000498 0.000269 0.000236 0.000313 0.000280 0.000286 \n",
"XOM 0.000836 0.000870 0.000505 0.000313 0.000449 0.000296 0.000389 \n",
"\n",
"ticker WMT XOM \n",
"ticker \n",
"BAC 0.000532 0.000836 \n",
"C 0.000498 0.000870 \n",
"GE 0.000269 0.000505 \n",
"JNJ 0.000236 0.000313 \n",
"MSFT 0.000313 0.000449 \n",
"PG 0.000280 0.000296 \n",
"T 0.000286 0.000389 \n",
"WMT 0.000673 0.000263 \n",
"XOM 0.000263 0.000794 \n"
]
}
],
"source": [
"print(logR.mean(), mu)\n",
"print(logR.cov(),Sigma)\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"## Exercises"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"1. Download 5 years of history for the price of 10 of your favorite stocks (use, for example yahoo finance). Set, a priori, a long-only portfolio that you would constitute in those shares and a minimal proportion investment on each asset. then reproduce the above discussion to tune progressively your portfolio.\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"2. Assume you start with 100 pounds to invest. Moreover, assume that you have to pay a fee of 0.001 times the value of any operation you make in the market (for example, if you sell 50 pounds worth of one asset to buy 50 of another, you pay a fee of 0.0001*(50+50) = 1 cent). \n",
"\n",
"\n",
"Modify your code above to include the effect of this fee in your calculations (ideally, code it with a variable for the transaction cost)"
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
]
}
],
"metadata": {
"anaconda-cloud": {
},
"kernelspec": {
"display_name": "Python 3 (system-wide)",
"language": "python",
"metadata": {
"cocalc": {
"description": "Python 3 programming language",
"priority": 100,
"url": "https://www.python.org/"
}
},
"name": "python3",
"resource_dir": "/ext/jupyter/kernels/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.8.5"
},
"toc": {
"base_numbering": 1,
"nav_menu": {
},
"number_sections": true,
"sideBar": true,
"skip_h1_title": true,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": true,
"toc_position": {
},
"toc_section_display": true,
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 4
}