Good evening,

I've tried searching similar posts, but most are unanswered or in a more advanced step than what I'm trying to achieve.

I've managed to do the boostrap method for spot prices underlyings. I've confirmed the results with the EIOPA slides and it's working as intended. What I don't understand however, is what to do when my underlying is a bond.

The legislation states that I must do a PCA to my residual maturity matrix. Is this matrix for all my bonds (ex: each column is the maturity of a bond?) or just for one underlying? Why do I need a matrix in this case instead of a vector? The rest of the steps seem clear except for what they mean about the return matrix. Again, if I have one underlying that is a bond, is this just a vector of returns (calculated from the market prices of my bond) like I have for spot price underlyings?

In step 23.b) I also have questions: It seems I will create a NxT matrix similar to the other bootstrap method, where N is 10k (simulation number) and T is the number of days in the RHP, what I don't understand is what value I'm going to sample to fulfil my matrix. The steps don't seem very clear to me.

And in the end, how shall I join both boostrap methodologies results to value my PRIIP? If I have 1 bond and 1 equity, I'm going to obtain 10k results for each, do I take the 9750th value of both vectors and sum them to obtain my total VaR ?

Thanks for the help, and please ask for more details if I wasn't clear explaining a point.


1 Answer 1


Think of the specific bond you are interested in as being priced off a curve (e.g. a govt bonds par rates curve). The curve is actually represented by a vector of rates $(R_1,...,R_I)$ indexed by tenors $(T_1,...,T_I)$, and when repricing a specific bond you first interpolate its yield in the curve. Now if you want to generate sample random paths for your bond price, you first need to generate sample random paths for your curve $(R_1,...,R_I)$. Now if $I$ is large that would be time consuming, so what the legislator says is

  • do a PCA on the variance-covariance matrix for the returns of $(R_1,...,R_I)$;
  • select the 3 principal factors $(x_1, x_2, x_3)$ (those that correspond to the 3 largest eigenvalues);
  • generate sample random paths for $(x_1, x_2, x_3)$, then reconstruct the sample paths for the returns of $(R_1,...,R_I)$ from $(x_1, x_2, x_3)$ and the PCA transition matrix.
  • $\begingroup$ Are we really afraid that I is too large here since usually we will have tenors at 6m, 1y, 2y, 3y, ... or are we more concerned that there is a lot of "noise" and that it will be better if we would work only with the important "movements"? Also, an important thing to notice is that there is historical data we need to have and that basically we are working with multiple curves (interpolations), e.g. a curve per day. $\endgroup$
    – iugrina
    Commented Nov 25, 2017 at 20:15
  • $\begingroup$ I also understood that the PCA was to remove the "noise" and smoothen the curve. So just to understand my rationale is correct: 1) For each day I'll have a matrix of RatesXTenors 2) I'll do the PCA to this matrix to smoothen the curve 3) I'll simulate (bootstrap) my daily curves by picking a random Rates vector from my historical samples $\endgroup$
    – luz_andre
    Commented Nov 27, 2017 at 9:34
  • $\begingroup$ @luz_andre If I understood correctly you will have a vector for rates indexed by tenors for each day (daily,weekly,bi-weekly,monthly) which will result in a matrix of type Returns x Tenors. And after the PCA on that matrix you will use the new returns matrix in the bootstrapping. $\endgroup$
    – iugrina
    Commented Nov 27, 2017 at 11:23
  • $\begingroup$ @iugrina The returns are the log returns of the yields after PCA if I'm understanding correctly then? Afterwards, it follows the same bootstrap method for the spot price returns? $\endgroup$
    – luz_andre
    Commented Nov 27, 2017 at 14:41

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.