我正在尝试使用Python中的QuantLib为欧洲外汇看涨期权定价
国内无风险利率为0.16%。 国外无风险利率为-0.46%。 估价日期为2020年6月30日。 交易日期为2020年6月25日。 演习日期为2020年7月2日。 波动率为9.935%
它的罢工汇率为1.122,即期汇率为1.12385
代码如下:
import QuantLib as ql
calculation_date = ql.Date(30, 6, 2020)
ql.Settings.instance().evaluationDate = calculation_date
rf_domestic = 0.16 # in %
rf_foreign = -0.46 # in %
usd_domestic = ql.YieldTermStructureHandle(ql.FlatForward(calculation_date, rf_domestic/100, ql.ActualActual()))
eur_foreign = ql.YieldTermStructureHandle(ql.FlatForward(calculation_date, rf_foreign/100, ql.ActualActual()))
volTS = ql.BlackVolTermStructureHandle(ql.BlackConstantVol(ql.Date(30, 6, 2020), ql.NullCalendar(), 9.935/100, ql.ActualActual()))
gkp = ql.GarmanKohlagenProcess(ql.QuoteHandle(ql.SimpleQuote(1.122)), usd_domestic, eur_foreign, volTS)
engine = ql.BinomialVanillaEngine(gkp, 'crr', 1000)
option = ql.EuropeanOption(ql.PlainVanillaPayoff(ql.Option.Call, 1.12385), ql.EuropeanExercise(ql.Date(2, 7, 2020)))
option.setPricingEngine(engine)
print('NPV:', option.NPV())
print('Diffusion:', gkp.diffusion(t, x))
print('Drift:', gkp.drift(t, x))
print('Variance:', gkp.variance(t0, x0, dt))
print('Standard Deviation:', gkp.stdDeviation(t0, x0, dt))
print('Expectation:', gkp.expectation(t0, x0, dt))
对于漂移、扩散、方差、标准偏差和期望值(上述代码的最后5行)的计算,参数(t、x、dt、t0)应该是什么
任何帮助都将不胜感激
谢谢, AA
提供t和x值。有点奇怪的是,t或x的任何值的输出都是相同的。例如
相关问题 更多 >
编程相关推荐