Editing my question:

I have decided to use multiple factor model to model my stress test. I am using factor shock method to implement the propagation of shocks. I am doing this according to a book "Multi-Asset Investing: A Practical Guide to Modern Portfolio Management" by Yoram Lustig. According to this:

"The investor shocks any risk factor in the portfolio by a chosen amount. The adjusted returns of other risk factors are modelled through a covariance matrix based on their correlation with the shocked risk factor. Finally, the hypothetical impact on the portfolio is calculated."

I have run multiple factor regression on 5 factors against the assets in the portfolio and got the respective loadings (betas) for these 5 factors. I also have a covariance matrix of the factor returns. Now, I do not know how can I put a shock in this matrix. My question is how I design now that I shock one variable in the matrix and I get the returns of others. And then I can calculate the predicted/hypothetical return in that scenario.

PS: I cannot use Vector Auto Regression as it is not a recommended method for modelling stock returns. The question may be naive, may be I am missing some really basic point here.



Thanks for your reply!!

So I will explain a bit more of my problem. I want to perform a stress test on my portfolio of equities. So basically, I want to see the impact of shock in macroeconomic factors (e.g. 10 year interest rate) on the portfolio P&L. Theoretically, my approach is

  1. Obtain a set of relevant macroeconomic factors.
  2. Shock any one of these factors.
  3. Propagate this shock to other factors as the macroeconomic factors are generally correlated. Obtain the new values of factors.
  4. On the basis of risk model, calculate the portfolio P&L based on new set of risk factors.

So I want to know about some model or some similar thing that I can program, preferably in R, so that it becomes possible for me to do, say:

Change interest rate by -10% and see how it effects the portfolio P&L.

Thanks again Manurag

  • $\begingroup$ The answer of g g below is much better than my comment, but have you ever heard of regression analysis? This is obviously not the best approach and much better ones exist, but as a start? $\endgroup$
    – Richi Wa
    Jul 10, 2014 at 14:46
  • $\begingroup$ Richard is right this sounds like a job for regression analysis. If you would like to bet money on the outcome be aware that you attempt a very difficult thing and there are many pitfalls. The main problem is the large number of potential factors and their complex and time dependent interaction. I guess you can start with any book covering regression and time series analysis. In addition there are a gazillion of academic and other papers. A quick search with the keywords "shocks" "equities" and "regression analysis" gave me about 6m hits $\endgroup$
    – g g
    Jul 10, 2014 at 17:18
  • $\begingroup$ I would suggest this presentation as a first introduction: jeanpaul.renne.pagesperso-orange.fr/pdf/present_svar.pdf Only linear autoregressive model are used here but this should give you a good overview of the steps you need to take. $\endgroup$ Jul 12, 2014 at 17:31

1 Answer 1


Your question is formulated in a very general way, this is why any answer will need to be general as well. In a nutshell and in full generality you need to estimate the joint distribution from your historical data since in most cases correlations alone are not sufficient to define the joint distribution. In a second step you can calculate the distribution contingent on one of the variables being shocked. Whether this is easy or difficult depends on the joint distribution and your specific requirements.

Once you have the contingent distributions you can derive all convenient indicators, i.e. the "impact", you desire.

  • $\begingroup$ Also, if the end goal is to look at building a Model that incorporates macro impacts, there are several papers about their impact onto the equity portfolios / market. A more recent paper is (papers.ssrn.com/sol3/papers.cfm?abstract_id=2445086) $\endgroup$
    – Viquar
    Jul 15, 2014 at 10:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.