|
From: Klaus S. <kl...@sp...> - 2009-09-01 20:02:35
|
Hi
> QL_REQUIRE(basketPayoff, "payoff not a basket strike payoff"); ^^^^^^^^^^^^
> ///////////// we have already checked that basketPayoff is non null a few
> lines above ///////////// should it be strikePayoff????
thanks for the hint, you are right this QL_REQUIRE is useless. Luigi has
already removed it from the current version.
> if (strikePayoff) {
> ^^^^^^^^^^^^
> ///////////// and in that case, why is there an if?
>
> scalingValue_/=strikePayoff->strike();
> }
>
If the basketPayoff is a StrikedTypePayoff the strike is used as a "scale" to
normalize the state variables (e.g. the underlying prices) to improve the
quality of the regression (improvement depends on the choice of the basis
system). The idea behind this normalization step is explained in
Longstaff and Schwartz: Valuing American options by simulation: a
least-squares approach,
in section 8.3.
regards
Klaus
|