/Asset-Pricing-Projects

Asset Pricing Coursework

Primary LanguagePython

Asset Pricing Coursework Projects

  1. Mean-variance analysis

Industry_Portfolios.xlsx contains monthly nominal (net) returns for ten industry portfolios, expressed as a percentage. These returns cover the ten-year period from Jan 2004 through Dec 2013.

Calculate the vector of mean returns and covariance matrix of returns for the ten industry portfolios. Create a table showing the mean returns and standard deviation of returns for the ten industry portfolios. Also plot the minimum-variance frontier generated by the ten industry portfolios, with mean return on the vertical axis and standard deviation of return on the horizontal axis. The plot should cover the range from 0% to 2% per month on the vertical axis. Briefly explain the economic significance of this minimum-variance frontier.

Now suppose that the risk-free rate is 0.13% per month. Plot the efficient frontier (with the riskless asset) on the same plot as the minimum-variance frontier generated by the ten industry portfolios. Briefly explain the economic significance of this efficient frontier.

The two frontiers will intersect at single point: the tangency portfolio. Calculate the weights of the ten industry portfolios at the tangency portfolio. Briefly explain the economic significance of this tangency portfolio.

  1. Linear Factor Models

Market_Portfolio.xlsx contains monthly nominal (net) returns for the market portfolio, expressed as a percentage. These returns cover the ten-year period from Jan 2004 through Dec 2013.

Assume that the risk-free rate is 0.13% per month. Regress the monthly excess returns for each of the ten industry portfolios on the monthly excess returns for the market portfolio, so as to estimate the intercept coefficient (alpha) and slope coefficient (beta) for each of the ten industry portfolios. Create a table showing the intercept and slope coefficients for the ten industry portfolios. Briefly explain the economic significance of the intercept and slope coefficients.

Calculate the mean monthly return for each of the ten industry portfolios, as well as the market portfolio. Regress the mean monthly returns of the ten industry portfolios and the market portfolio on the corresponding betas (by construction, the market portfolio has beta of one). This will give you the slope and intercept coefficients for the SML. (Warning: the results may be very different from what you would expect!)

Using the estimated slope and intercept coefficients, plot the SML in the range of beta from zero to two on the horizontal axis. Also plot the positions of the ten industry portfolios and the market portfolio. (You are NOT required to label the individual portfolios.) Briefly explain the economic significance of the SML.

  1. Stock valuation

Part 1: Performance Measurement Risk_Factors.xlsx contains monthly observations of the risk-free rate and the three Fama–French risk factors, all expressed as a percentage. These observations cover the ten-year period from Jan 2004 through Dec 2013.

Using excess returns for the ten industry portfolios, calculate the following performance metrics:

  1. Sharpe ratio
  2. Sortino ratio (with risk-free rate as target)
  3. Jensen's alpha
  4. Three-factor alpha Create a table showing the performance metrics for the ten industry portfolios. Also plot your results as a bar chart for each performance metric. Briefly explain the economic significance of each performance metric.

Part 2: Minimum-Variance Frontier Revisited Use the monthly returns of the ten industry portfolios to generate the minimum-variance frontier without short sales, using Monte Carlo simulation.

Without short sales, portfolio weights will be limited to the range [0, 1]. Randomly draw each element of w, the vector of portfolio weights, from the uniform distribution in the range [0, 1]. Divide w by the sum of the portfolio weights, to ensure that the portfolio weights sum to one.

Use the normalized w to calculate the mean return and standard deviation of return. Repeat this process until you have at least 100,000 obervations. Plot the points with mean return on the vertical axis and standard deviation of return on the horizontal axis to show the minimum-variance frontier.

  1. Multi-Period Asset Pricing

Suppose that consumption growth has a lognormal distribution with the possibility of rare disasters: ln g̃ = 0.02 + 0.02*ϵ̃ + ν̃ Here epsilon is a standard normal random variable, while nu is an independent random variable that has value of either zero (with probability of 98.3%) or ln(0.65) (with probability of 1.7%). Simulate epsilon with 10,000 random draws from a standard normal distribution, and simulate nu with 10,000 random draws from a standard uniform distribution.

Part 1: Hansen–Jagannathan Bound Use the simulated distribution of consumption growth to calculate the pricing kernel for power utility: M̃ = 0.99*g̃**(−γ) , for gamma in the range [1,4]. Calculate the mean and standard deviation of the pricing kernel for all values of gamma. Plot the ratio SD(M)/E(M) (on the vertical axis) vs gamma (on the horizontal axis). Take note of the smallest value of gamma for which SD(M)/E(M) > 0.4 (i.e., for which the Hansen–Jagannathan bound is satisfied). Briefly explain the economic significance of this result.

Part 2: Price-Dividend Ratio Use the simulated distribution of consumption growth to find the (constant) price-dividend ratio for the first equity claim, for gamma in the range [1, 7]: P(1)/D = E[0.99*g̃**(1−γ)], Plot P(1)/D (on the vertical axis) vs gamma (on the horizontal axis).

Part 3: Equity Premium Use the simulated distribution of consumption growth to find the expected market return, for gamma in the range [1, 7]: E[R̃(m)] = D/P(1)E[g̃] Use the simulated distribution of consumption growth to find the risk-free rate, for gamma in the range [1,7]: R(f) = 1/E[0.99g̃**(−γ)] Plot the equity premium (on the vertical axis) vs gamma (on the horizontal axis).

  1. Behavioral Finance

Consider a Barberis, Huang and Santos (2001) economy with the following parameter choices for the investor's utility function: delta = 0.99, gamma = 1, lambda = 2

Consumption growth has a lognormal distribution: ln(g) = 0.02 +0.02*epsilon where epsilon is a standard normal random variable.

With these parameter choices, the risk-free rate is constant at 1.0303 per year. Simulate the distribution for consumption growth with at least 10,000 random draws for epsilon.

Define x as one plus the dividend-price ratio for the market portfolio: x = (1+P/D)*(D/P) = 1+D/P

and define the error term: e(x) = 0.99 * b0 * E[nvhat(xg)] + 0.99x - 1 where utility from financial gain or loss is given by: nvhat(R) = R - 1.0303 for R>=1.0303 nvhat(R) = 2 * (R - 1.0303) for R <1.0303

Calculate the equilibrium values of x for b0 in the range [0, 10], using an iterative procedure known as bisection search: Step1: Set x– = 1 and x+ = 1.1. Use the simulated distribution of consumption growth to confirm that e(x–) < 0 and e(x+) > 0. Hence solution for x must lie between x– and x+. Step2: Set x = 0.5*(x– + x+), and use the simulated distribution of consumption growth to calculate e(x). Step3: If |e(x)| < 10–4, then x is (close enough to) the solution. Step4: Otherwise, if e(x) < 0, then the solution lies between x and x+, so repeat the procedure from step 2 with x– = x. Step5: Otherwise, if e(x) > 0, then the solution lies between x– and x, so repeat the procedure from step 2 with x+ = x.

Use x to calculate the price-dividend ratio for the market portfolio: P/D = 1/(x-1) Plot the price-dividend ratio (on the vertical axis) vs b0 (on the horizontal axis).

Also, calculate the expected market return: E[R(m)] = E[x*g] Plot the equity premium (on the vertical axis) vs b0 (on the horizontal axis).