Take the 2-minute tour ×
Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. It's 100% free, no registration required.

My question in short is as follows: can I take main principal component of historical covariance matrix and use it as historical volatilities when fitting a binomial tree?

Here's more detailed description: let's suppose I want to build Hull-White or BDT tree. They both need current rates curve $r(t)$ and volatility curve $\sigma(t)$.

Let's also suppose I have a history of interest rates in columns

r(1)   r(2)   r(3)   r(4)     <---- index means they are of different terms

 6%     7%     8%    8.5%     <----- example numbers
 4%     6.5%   9%    10%
 ...    ...    ...   ...
 7%     11%    13%   14%

What can I do to estimate volatility? Easiest way is to calculate standard deviation of differenced values in each column (hope it is evident what I mean).

Another approach is to obtain whole covariance matrix $\Omega$, which items are $\Omega_{i,j} = \sigma_i \sigma_j \rho_{i,j}$. In this case our standard deviations from previous approach will lie on main diagonal of that matrix.

What we now can do is apply PCA so that to have covariance matrix decomposed into main components. This means I decompose how matrix $\Omega$ multiples by some vector $x$ in the following way: $\Omega x = \left(\lambda_1 u_1 u_1^T + ... + \lambda_N u_N u_N^T\right) x$. And if I take first principal componenent $u_1$ which corresponds to largest $\lambda$, I have some vector with volatilies along the the time, which gives most effect: $\Omega x \approx \lambda_1 u_1 u_1^T x$.

So, I want to understand if I could use that $u_1$ instead of vector of simple standard deviations, in a hope that such choice will help me better capture term structure behavior?

share|improve this question
add comment

1 Answer 1

A way to go would be to linearly build indepedant interest rates to eliminate correlation effects. How do you do that ? You linearly build orthogonal interest rates from your starting ones. This is totaly equivalent to diagonalising correlation matrix, which is the principle of PCA.

Using information criteria you can then choose to remove lowest components, but using only the first one without checking others would be a mistake. Reducing dimension with PCA.

Concerning binomial trees, from what I remember binomial trees and multivariate datasets does not go well. For m dimensions, each step will multiply branches by $2^{m}$, and you should have N step where N is big. Even if there is recombination you will end up with $N^{m}$ values (plus all intermediate values). Operations needed grow more than exponentialy with the dimension, you will rapidly meet a power computing barrier. I remember a teacher saying that binomial tree are not suited for m>2.

(And that is just for building the tree, I assume you want to work with it after building it... it can add a lot more complexity).

share|improve this answer
    
You see, I want to build 1D flat tree, the question is only how would it be better to choose volatility structure to calibrate the model. The choice I see now is use either straightforward historical volatilities without any account for correlations, or calculate covariance matrix and take first PCA component from it. In both cases I have 1xN vector with volatilities, which I (technically) can use as a starting point of building a tree –  Rustam Jun 20 '13 at 16:39
    
1D tree with 1xN volatility vector, are you sure about that ? –  lmorin Jun 21 '13 at 10:30
    
I've found an old question that already answer the problem: quant.stackexchange.com/questions/236/… –  lmorin Jun 21 '13 at 10:31
2  
The first eigenvalue is not a good estimation of volatility of the portfolio, it just give the volatility of the best approximation of the portfolio with 1 dimension. –  lmorin Jun 21 '13 at 10:35
    
1) 1D tree is a kind of nonsense, sorry for that. I meant, well, usual tree in two dimensions - asset and time. Now, such tree is built using two 1xN vectors - interest rate curve and volatility. Example code here link –  Rustam Jun 21 '13 at 10:39
show 2 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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