由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Quant版 - 哪位大侠给解释一下likehoodratio method的一段代码啊?
相关主题
面试小问题[合集] interview question 3:
【数值计算】Monte Carlo法一般要多少条Path?问个关于volatility的问题
what's local vol??啥叫bi-power variation?
请教一个关于arbitrage的题目?街上有用zero-mean计算volatility和covariance的么?
问题请教也问一个brownian motion的问题
请教一个老题implied vol和strike请问那里能找到option price data?
问个面试题help.. anyone familiar with dynamic mean-variance hedging?
读精华区后感[合集] a random variable question
相关话题的讨论汇总
话题: double话题: expiry话题: spot
进入Quant版参与讨论
1 (共1页)
u********h
发帖数: 146
1
代码很简单,计算vanilla call price如下,
但问题是代码中这个likehoodratio到底是怎么得出来的啊?看了看paul glasserman的
书上的likehoodratio算出来的和这个明显不同啊。
但是用这段代码算出来的东西是varaince小了并且结果也精确了,
求各位大侠帮忙解释一下如何计算的这个likehoodratio,或者给一点提示或者给点
reference也行啊
小弟先谢过了
double MonteCarlo2(const PayOff& thePayOff, double Expiry, double Spot,
double Vol, double r, double Strike, unsigned long NumberOfPaths)
{
double variance=Vol*Vol*Expiry;
double rootVariance=sqrt(variance);
double itoCorrection=-0.5*variance;
double drift_impsampling=log(Strike/Spot)+r*Expiry+itoCorrection;
double beta=r*Expiry+itoCorrection;
double alpha=log(Strike/Spot)+r*Expiry+itoCorrection;
double thisSpot;
double runningSum=0;
for(unsigned long i=0; i {
double thisGaussian=GetOneGaussianByBoxMuller();
double X = drift_impsampling+rootVariance*thisGaussian;
thisSpot=Spot*exp(X);
double likelihoodratio=exp(-1*(2*(alpha-beta)*X-alpha*alpha+beta*beta)
/(2*variance));
double thisPayOff=thePayOff(thisSpot)*likelihoodratio;
runningSum+=thisPayOff;
}
double mean=runningSum/NumberOfPaths;
mean*=exp(-r*Expiry);
return mean;
}
1 (共1页)
进入Quant版参与讨论
相关主题
[合集] a random variable question问题请教
brownian motion, got an answer but do not feel confident. H请教一个老题implied vol和strike
多谢,那就再问一个相关的问题,还是swaption问个面试题
[合集] 贡献个题目(SDE)读精华区后感
面试小问题[合集] interview question 3:
【数值计算】Monte Carlo法一般要多少条Path?问个关于volatility的问题
what's local vol??啥叫bi-power variation?
请教一个关于arbitrage的题目?街上有用zero-mean计算volatility和covariance的么?
相关话题的讨论汇总
话题: double话题: expiry话题: spot