Constructing an efficient frontier is always one of the most difficult tasks for finance instructors since the task involves matrix manipulation and a constrained optimization procedure. One efficient frontier could vividly explain the Markowitz Portfolio theory. The following Python program uses five stocks to construct an efficient frontier:
from matplotlib.finance import quotes_historical_yahoo_ochl as getData import matplotlib.pyplot as plt import numpy as np import pandas as pd import scipy as sp from numpy.linalg import inv, pinv
Code for input area:
begYear,endYear = 2001,2013 stocks=['IBM','WMT','AAPL','C','MSFT']
Code for defining two functions:
def ret_monthly(ticker): # function 1 x = getData(ticker,(begYear,1,1),(endYear,12,31),asobject=True,adjusted=True) logret=np.log(x.aclose[1:]/x.aclose[:-1]) date=[] d0=x.date for i in range(0,np.size(logret)): date.append(''.join([d0[i].strftime("%Y"),d0[i].strftime...