欢迎来到天天文库
浏览记录
ID:7283978
大小:144.83 KB
页数:16页
时间:2018-02-10
《finite-difference programs》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、CHAPTER82finite-differenceprogramsInthisChapter...•examplesofcodeformanyofthemodelsandfinite-differencemethodsdescribed82.1INTRODUCTIONFinite-differencemethodscanbeabitdauntingwhenyoufirststartout,sohereisacollectionofprogramsthatdemonstratesomeoftheideasinth
2、ebook.82.2KOLMOGOROVEQUATIONThiscodecalculatestheprobabilitythatastochasticvolatilitystartingatSigNowleavesagivenrange,SigMintoSigMaxbeforeTMax.Themodelforthevolatilityis22γ−111σγdσ=νσγ−−logdt+νσdX.22a2σI’vehardcodedinthetimestepandthevolatilitystep;yo
3、umaywanttochangethat.FunctionKolmogorov(SigNow,SigMax,SigMin,TMax,nu,SigBar,a,g)DimVOld(500)AsDoubleDimVNew(500)AsDoubleDimalph(500)AsDoubleDimbet(500)AsDoubleDimSig(500)AsDoubleDimdtAsDoubleDimdsAsDoubleDimNTSAsLongDimNSSAsLongDimSigNowIntAsLongDimiAsLong
4、1296PartSixnumericalmethodsandprogramsDimjAsLongDimDeltaAsDoubleDimGammaAsDoubleDimfracAsDoubleDimAnswerAsDoubledt=0.001ds=0.01NTS=Int(TMax/dt)NSS=Int((SigMax-SigMin)/ds)SigNowInt=Int((SigNow-SigMin)/ds)frac=(SigNow-SigMin)/ds-SigNowIntFori=0ToNSSVOld(i)=0
5、Sig(i)=SigMin+i*dsalph(i)=nu*nu*(Sig(i)^(2*g-1))*(g-0.5-((Log(Sig(i)/SigBar))_/(a*a*2)))bet(i)=nu*(Sig(i)^g)NextiVOld(0)=1VOld(NSS)=1Forj=0ToNTSFori=1ToNSS-1Delta=(VOld(i+1)-VOld(i-1))/2/dsGamma=(VOld(i+1)-2*VOld(i)+VOld(i-1))/ds/dsVNew(i)=VOld(i)+dt*(alph
6、(i)*Delta+0.5*bet(i)*bet(i)*Gamma)NextiVNew(0)=1VNew(NSS)=1Fori=0ToNSSVOld(i)=VNew(i)NextiNextjIfSigNow>SigMaxThenAnswer=1ElseIfSigNow7、TONE-FACTORMODELFORACONVERTIBLEBONDThisVisualBasiccodefragmentshowsanexplicitfinite-differencesolutionofEquation(33.1)foraCBwithintermittentconversion.Thecodeallowsmanyconversionperiods.Thetimestepsfinite-differenceprogramsChapter821297onwhichconversionstart8、sandendsforeachperiodarestoredinthearraysConvertDate-StartandConvertDateEnd,andbetweenthesetimestepsconversionisintoConvert-Rateoftheunderlying.AsthetimesteppassesovertheConvertDateStartvaluetheintegeritestis
7、TONE-FACTORMODELFORACONVERTIBLEBONDThisVisualBasiccodefragmentshowsanexplicitfinite-differencesolutionofEquation(33.1)foraCBwithintermittentconversion.Thecodeallowsmanyconversionperiods.Thetimestepsfinite-differenceprogramsChapter821297onwhichconversionstart
8、sandendsforeachperiodarestoredinthearraysConvertDate-StartandConvertDateEnd,andbetweenthesetimestepsconversionisintoConvert-Rateoftheunderlying.AsthetimesteppassesovertheConvertDateStartvaluetheintegeritestis
此文档下载收益归作者所有