|
From: Kakhkhor A. <kab...@gm...> - 2010-09-08 13:42:12
|
It seems that LongstaffSchwartzPathPricer implementation may not deal with basis collinearity properly. SVD can deal with collinearity, but the cutoff threshold for small singular values in LinearLeastSquaresRegression is n*QL_EPSILON (n is matrix size). Btw, the cutoff should be applied to the ratio of singular values, not to the singular values directly. That is something we need to fix as well. The above cutoff threshold is OK for OLS purposes, but not for MC (at least how it is implemented in QL). For OLS purposes we compute coefficients by performing SVD of the design matrix and then use those coefficients with the same design matrix to compute the projection of the dependent variable. This way all singular values cancel out as long as the cutoff was applied. But LongstaffSchwartzPathPricer does compute projection (option continuation values) from a new sample. It is like using the old coefficients with a new design matrix. There is chance that singular values of this new design matrix won't cancels out inverse singular values of the old design matrix. Both design matrices have the same statistical properties, so that singular values should be more or less comparable, except very small ones. With typical sample sizes, SVD cutoff threshold can be as small as 1.0E-012, which is much smaller than statistical uncertainty of MC (inverse square root of sample size). Small singular values will show up whenever there is a collinearity in the basis system. Fortunately, the problem is fixed if SVD cutoff (n*QL_EPSILON) is replaced with something commensurable with MC tolerance. I want to code and submit new LongstaffSchwartzPathPricer and LinearLeastSquaresRegression classes, but would like to know others think. With best regards, Kakhkhor Abdijalilov. |