Serving the Quantitative Finance Community

 
User avatar
chiral3
Posts: 11
Joined: November 11th, 2002, 7:30 pm

Montecarlo & Cholesky decomposition

March 21st, 2003, 1:29 pm

gamma > 0 or gamma >= 0 + epsilon. I guess you could call that positive semi-semidefinite, and is just trickery to make everything work.
 
User avatar
Mukuzani
Posts: 3
Joined: March 12th, 2002, 3:59 am

Montecarlo & Cholesky decomposition

March 22nd, 2003, 12:09 am

It must be positive definite, but I cannot see how it makes a difference on practice.Even if one of your eigenvalues is positive and too close to 0 it is enough to go back and get rid of linear dependent vectors and then apply Cholesky or whatever.
Last edited by Mukuzani on March 21st, 2003, 11:00 pm, edited 1 time in total.
 
User avatar
Nonius
Posts: 0
Joined: January 22nd, 2003, 6:48 am

Montecarlo & Cholesky decomposition

March 24th, 2003, 6:58 am

QuoteOriginally posted by: scubaordieSorry about the delay in replying, I have not had a chance to look at this issue for some time. I have read all the papers that you suggest and they are really helpful so thanks a lot first of all. I have, however, still some problems in the sense that I am not too sure about what is actually the requirement to perform a Cholesky decomposition: is it "positive definiteness" or simply "positive semidefiniteness"? The papers you posted help a lot in obtaining positive semidefiniteness but I have the feeling that it is positive definiteness what I really need.Any thoughts? Thx a lot once again.All you need is positive semidefiniteness. The best way to convince yourself of this is try the code on a 2X2 with nothing but 1s.
 
User avatar
mj
Posts: 12
Joined: December 20th, 2001, 12:32 pm

Montecarlo & Cholesky decomposition

March 24th, 2003, 10:21 am

you can find a lower triangular square root if the matrix is positive semi-definite .If it is only semi-definite and not definite, you lose uniqueness and you have to code the algorithm morecarefully but it does work. MJ
 
User avatar
Lestat
Posts: 0
Joined: February 5th, 2003, 4:46 pm

Montecarlo & Cholesky decomposition

March 24th, 2003, 2:36 pm

How Can i do it?
 
User avatar
CarolynT
Posts: 0
Joined: July 24th, 2003, 3:05 pm

Montecarlo & Cholesky decomposition

February 17th, 2005, 7:36 pm

QuoteOriginally posted by: mjyou can find a lower triangular square root if the matrix is positive semi-definite .If it is only semi-definite and not definite, you lose uniqueness and you have to code the algorithm morecarefully but it does work. MJMJ,If the correlation matrix is not symmetric positive-definite, how can we use SVD to simulate multi-normal random variables?
 
User avatar
pj
Posts: 11
Joined: September 26th, 2001, 3:31 pm

Montecarlo & Cholesky decomposition

February 19th, 2005, 1:09 pm

If the matrix is not symmetric positive semi-definite, you can only draw from a distribution whose covariance matrix is close to the target, but not identical to it. The general concept of finding close correlation matrices is a research subject in itself and one of the most prominent researchers in that area is N. J. Higham. A good paper is at www.ma.man.ac.uk/~nareports/narep369.pdf. For a brief review on some simple methods, see www.jaeckel.org/SplittingTheCore.pdf.For a simple, in all practical cases good enough, approximation I recommend the spectral approximation as discussed in section 6.2 of "Monte Carlo methods in Finance" by Peter Jaeckel (apologies for the plug) which is based on the matrix at least being symmetric. To make it symmetric simply replace it by the average of itself and its transpose.Personally, I never use Cholesky decomposition other than for purposes of demonstrations as to why I don't use it. Instead, tred2, tqli, eigsrt, in that order, from Numerical Recipes decomposes all my matrices efficiently and swiftly and safely (SVD also works but is overkill since it does not take advantage of symmetry which makes the numerical effort significantly bigger). A friend of mine once put it as follows: "The proliferation of the use of Cholesky decompositions is essentially a historical accident.". And he did a PhD. thesis on Monte Carlo algorithms...Best regards,pj
 
User avatar
henny
Posts: 0
Joined: January 28th, 2005, 7:04 pm

Montecarlo & Cholesky decomposition

February 21st, 2005, 4:17 pm

Last edited by henny on March 29th, 2005, 10:00 pm, edited 1 time in total.
 
User avatar
pj
Posts: 11
Joined: September 26th, 2001, 3:31 pm

Montecarlo & Cholesky decomposition

February 22nd, 2005, 6:01 am

Let me give some reasons instead of a demonstration.Reason 1: Cholesky decomposition is numerically difficult to recover in situations when some eigenvalues of the matrix are small but negative due to roundoff (this is essentially a problem similar to that addressed by complete pivoting in linear system solving). The larger the matrix the more frequent this case occurs. Spectral decomposition is robust, fast, and stable here.Reason 2: Cholesky decomposition throws away any form of ranking of dimensions by importance of variance, which is a primary aid in unlocking the performance enhancements of low discrepancy numbers. There are some figures in my book, e.g. 10.6 and 10.7, but I have come across many other significantly more spectacular examples of how much convergence is enhanced.Reason 3: Cholesky decomposition is in all textbooks I know implemented in a form that fails when an eigenvalue is exactly zero, which is a perfectly accetable thing for a correlation matrix to have. Whilst it is straightforward to fix it, one would have to do it every time one incurs yet another Cholesky decomposition, and every time people talk about Cholesky (like here), one has to explain this again.Reason 4: This is a point from standard numerical analysis. In practice, in finance, correlation matrices are not well-conditioned, so one should always use algorithms that are prepared to handle ill-conditioned matrices. For correlation matrix decomposition, the natural choice for handling ill-conditioning is to use stable spectral decomposition.
 
User avatar
henny
Posts: 0
Joined: January 28th, 2005, 7:04 pm

Montecarlo & Cholesky decomposition

February 22nd, 2005, 5:59 pm

Last edited by henny on March 29th, 2005, 10:00 pm, edited 1 time in total.
 
User avatar
luebke
Posts: 0
Joined: August 17th, 2004, 5:40 pm

Montecarlo & Cholesky decomposition

February 23rd, 2005, 11:18 am

I more or less completely agree with PJ.I think the reason why Cholesky is still that famous is for two reasons:1) it is very easy to understand and very easy to program2) if you have well-conditioned matrices, then it's robust and it's way faster than spectral decomposition.A very good source for all questions is - imho - Golub, van Loan: Matrix Computation.
 
User avatar
rhmari
Posts: 0
Joined: May 27th, 2005, 10:12 am

Montecarlo & Cholesky decomposition

July 7th, 2005, 7:19 am

Hii'am trying to price an option basket using monte carlohere is my problem,you can probably help me :i have to generate a brownian motion (BM) M"= L*M where M is a standard BM and L is the cholesky decomposition of let's say A the correlation Matrixto compute the Cholesky decomposition of A ,A has to be definite positive and in reality when i take from bloomberg a correlation matrix (let's say 3*3 for 3 assets A,B and C),this matrix is never definite positive.So finally i can't decompose my matrix A to generate a new BM M"have you ever done a pricing of an option basket?if yes,can you send me the VBA Code with the Excel Sheet?if not,do you have a VBA Code to approach my matrix A taken from Bloomberg to a matrix wich is define positive,so i can apply the cholesky decompositionThank you very much for your helpCheers
 
User avatar
JWD
Posts: 13
Joined: March 2nd, 2005, 12:51 pm
Contact:

Montecarlo & Cholesky decomposition

July 7th, 2005, 1:34 pm

Hi rhmari,The general solution has several steps. Take the non-positive-definite (NPD) Bloomberg matrix, run SVD or some other appropriate algorithm, and set the negative (or zero) eigenvalues to small positive numbers to get a positive-definite (PD) matrix as a first approximation. You also need to do some renormalization. Following that, if you have the time, you can use optimization techniques to get a numerically closer PD approximation to the original NPD matrix. The details are in my book.As a quick fix, you might do this:1. Choose a subset of the correlations you really want to describe well and set these equal to the Bloomberg values. Looking at the historical volatilities of the correlations for a given window length may help you. You can only do this up to the number of independent correlations.2. For the dependent correlations, write out the spherical decompositions (Ch. 22 has explicit expressions for these in up to 5 dimensions and a recursion relation for the general case). Calculate successively the cosines of the azimuthal angles. If such a putative cosine is greater than 1, set it equal to 1 (similarly for –1). Then recalculate the dependent correlations.For the record, I would also like to mention that I developed these techniques independently and apparently roughly concurrently with published work, namely:1. The correlation matrix N-sphere parametrization, starting in 1993-95, independently from Rebonato and Jäckel. 2. The Least-Squares approach for getting a numerically closer PD approximation to a NPD stressed correlation matrix using the N-sphere in 1999, independently from Higham.All this (including using SVD instead of Cholesky) was implemented in my SSB/Citigroup quant group in 2000, and was used for some risk reporting involving “Stressed VAR”.----------
Jan Dash, PhD

Editor, World Scientific Encyclopedia of Climate Change:
https://www.worldscientific.com/page/en ... ate-change

Book:
http://www.worldscientific.com/doi/abs/ ... 71241_0053
 
User avatar
dragonissimo
Posts: 0
Joined: September 6th, 2005, 7:15 pm

Montecarlo & Cholesky decomposition

October 7th, 2005, 6:49 pm

Rector,can you please elaborate on your remark about the 2nd algorithm used by Higham? I read the paper but I saw only an implementation of the first algorithm (the slow one exploiting the alternating projections method). I guess that the second method you are mentioning is the semidefinite programming but there's no implementation and it seems the author outlines several issues. At the end you said that combining the two algorithm yields to nice results. What did you do exactly? Thnx