Last active
August 7, 2023 07:08
-
-
Save humdings/c4646c24101b4d6c09b3 to your computer and use it in GitHub Desktop.
Efficient Frontier Curve Fit
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"%matplotlib inline\n", | |
"import numpy as np\n", | |
"import pandas as pd\n", | |
"import matplotlib.pyplot as plt\n", | |
"plt.rcParams['figure.figsize'] = (10.0, 7.0)\n", | |
"from scipy.optimize import curve_fit\n", | |
"import cvxopt as opt\n", | |
"from cvxopt import blas, solvers\n", | |
"solvers.options['show_progress'] = False\n", | |
"np.random.seed(123)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"## NUMBER OF ASSETS\n", | |
"n_assets = 4\n", | |
"\n", | |
"## NUMBER OF OBSERVATIONS\n", | |
"n_obs = 1000\n", | |
"\n", | |
"return_vec = np.random.randn(n_assets, n_obs) + 0.000001" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"def rand_weights(n):\n", | |
" ''' Produces n random weights that sum to 1 '''\n", | |
" k = np.random.rand(n)\n", | |
" return k / sum(k)\n", | |
"\n", | |
"def random_portfolio(returns):\n", | |
" ''' \n", | |
" Returns the mean and standard deviation of returns for a random portfolio\n", | |
" '''\n", | |
"\n", | |
" p = np.asmatrix(np.mean(returns, axis=1))\n", | |
" w = np.asmatrix(rand_weights(returns.shape[0]))\n", | |
" C = np.asmatrix(np.cov(returns))\n", | |
" \n", | |
" mu = w * p.T\n", | |
" sigma = np.sqrt(w * C * w.T)\n", | |
" \n", | |
" # This recursion reduces outliers to keep plots pretty\n", | |
" if sigma > 2:\n", | |
" return random_portfolio(returns)\n", | |
" return mu, sigma\n", | |
"\n", | |
"def optimal_portfolio(returns):\n", | |
" n = len(returns)\n", | |
" returns = np.asmatrix(returns)\n", | |
" \n", | |
" N = 100\n", | |
" mus = [10**(5.0 * t/N - 1.0) for t in range(N)]\n", | |
" \n", | |
" # Convert to cvxopt matrices\n", | |
" S = opt.matrix(np.cov(returns))\n", | |
" pbar = opt.matrix(np.mean(returns, axis=1))\n", | |
" \n", | |
" # Create constraint matrices\n", | |
" G = -opt.matrix(np.eye(n)) # negative n x n identity matrix\n", | |
" h = opt.matrix(0.0, (n ,1))\n", | |
" A = opt.matrix(1.0, (1, n))\n", | |
" b = opt.matrix(1.0)\n", | |
" \n", | |
" # Calculate efficient frontier weights using quadratic programming\n", | |
" portfolios = [solvers.qp(mu*S, -pbar, G, h, A, b)['x'] \n", | |
" for mu in mus]\n", | |
" ## CALCULATE RISKS AND RETURNS FOR FRONTIER\n", | |
" returns = [blas.dot(pbar, x) for x in portfolios]\n", | |
" risks = [np.sqrt(blas.dot(x, S*x)) for x in portfolios]\n", | |
" ## CALCULATE THE 2ND DEGREE POLYNOMIAL OF THE FRONTIER CURVE\n", | |
" m1 = np.polyfit(returns, risks, 2)\n", | |
" x1 = np.sqrt(m1[2] / m1[0])\n", | |
" print x1\n", | |
" # CALCULATE THE OPTIMAL PORTFOLIO\n", | |
" wt = solvers.qp(opt.matrix(x1 * S), -pbar, G, h, A, b)['x']\n", | |
" return np.asarray(wt), returns, risks\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"0.0555080150868\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.legend.Legend at 0x1102b0450>" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": [ | |
"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\n" | |
], | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x1102829d0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"n_portfolios = 500\n", | |
"means, stds = np.column_stack([\n", | |
" random_portfolio(return_vec) \n", | |
" for _ in xrange(n_portfolios)\n", | |
"])\n", | |
"\n", | |
"weights, returns, risks = optimal_portfolio(return_vec)\n", | |
"\n", | |
"# Quadratic Fit\n", | |
"quadratic = np.poly1d(np.polyfit(returns, risks, 2))\n", | |
"\n", | |
"# Try fitting a Hyperbola\n", | |
"def hyperbola(x, x0, y0, a, b):\n", | |
" \"\"\"\n", | |
" formula used: \n", | |
" (y - y0)^2 / a^2 - (x - x0)^2 / b^2 = 1\n", | |
" \"\"\"\n", | |
" return y0**2 + np.sqrt(a**2 * ((x - x0)**2 / b**2 + 1))\n", | |
"\n", | |
"\n", | |
"# Initial params guess, these seem pretty sensitive\n", | |
"guess = 0.05, 0.05, np.mean(risks) / 2, np.mean(returns) / 2\n", | |
"\n", | |
"params, _ = curve_fit(hyperbola, returns, risks, guess)\n", | |
"\n", | |
"plt.plot(means, stds, 'r+')\n", | |
"plt.xlabel('mean')\n", | |
"plt.ylabel('std')\n", | |
"plt.plot(returns, risks, 'y-o', label='Efficient Frontier')\n", | |
"\n", | |
"plt.plot(returns, quadratic(returns), 'b-+', label='quadratic')\n", | |
"plt.plot(returns, hyperbola(returns, *params), 'g-x', label='hyperbolic')\n", | |
"plt.legend(loc=0)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 2", | |
"language": "python", | |
"name": "python2" | |
}, | |
"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": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment