资讯动态

gs-quant 实战:用波动率微笑给外汇期权定价

发布时间:2026/9/13 4:43:14 来源:尧图企业网站定制
gs-quant 实战用波动率微笑给外汇期权定价【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quantgs-quant 把外汇期权定价拆成三步波动率序列、隐含波动率曲面、一次报价调用。本文用一条 EURUSD 行情演示 EWMA 波动率的搭建过程讲清 beta 参数的取值逻辑以及结果怎么验证。场景换个执行价为什么报价就不一样做外汇期权的开发者常遇到这个问题客户同时要两笔三个月的 EURUSD 看涨期权执行价一个 1.05、一个 1.10。两个行权价的隐含波动率在市场上就是不同水平你不可能拿同一个波动率数字报两笔单。把隐含波动率对执行价连起来得到的那条带弧度的线就是波动率微笑。硬套单一波动率报价会立刻在两端露馅。机制EWMA 波动率加插值曲面为什么够用gs-quant 的思路是先算一条可靠的波动率时间序列再往行权价维度上插值。exponential_volatility()内部等价于annualize(exponential_std(returns(x), beta)).mul(100)也就是收益率 → EWMA 标准差 → 年化三段拼装核心是指数加权$$\sigma_t \sqrt{(1-\beta)\sum_i \beta^i r_{t-i}^2}$$EWMA 的意义在水平值加平滑它给出随时间变化的波动率基线对最近的市场状态敏感又不会像简单滚动窗口那样对单日跳变过度反应。基线有了微笑曲线就是插值问题。同一到期日下不同执行价对应市场隐含的不同波动率水平你在若干行权价上拿到或估出这些点一维插值连成曲线就是隐含波动率曲面在一刀截面上的样子。EWMA 负责时间维度插值负责行权价维度两者各自只做一件简单的事组合起来就覆盖了定价需要的波动率输入。实践三步把微笑接进定价流程数据怎么进 gs-quant先做成带日期索引的 Seriesexponential_volatility()接收价格序列pd.Series返回按日期索引、已乘 100 的年化波动率百分点单位。import pandas as pd from gs_quant.timeseries import exponential_volatility prices pd.read_csv(eurusd.csv)[close] vol exponential_volatility(prices, beta0.9)beta 参数怎么定先看半衰期beta取值范围是 [0, 1)控制历史权重的衰减速度。可以用半衰期 $\ln 0.5 / \ln \beta$ 直观理解默认 0.75 约 2~3 天0.9 约一周。做短期报价用偏小的盯中长期水平用偏大的。建议先用默认值跑出基准曲线再叠一条 beta0.9 的对比形态差多少一目了然。 曲面怎么画出来、价格怎么出期权对象用FXOption数据类描述字段定义在 gs_quant/target/instrument.pypair、option_type、strike_price、expiration_date等曲面本身是各执行价取隐含波动率点 插值点足够密时曲线自然平滑。from gs_quant.instrument import FXOption from gs_quant.markets import PricingContext opt FXOption(pairEURUSD, buy_sellBuy, option_typeCall, notional_amount1_000_000, notional_currencyUSD, strike_price1.05, expiration_date2026-12-31)with PricingContext(): price opt.price() vol.plot(titleEURUSD EWMA vol)验证曲线和报价各看什么看基线形态beta 太大曲线被抹平、追不上行情台阶太小则呈锯齿。两条 beta 曲线叠画对比是最快的调参手段。看微笑两端外汇市场常见的形态是两翼翘起如果远端深虚值一侧完全不上翘先怀疑插值点稀疏或数据缺尾。查报价合理性premium 应介于时间价值与远期价差之间出现负值或超过名义本金多半是币种、方向类字段填反了。FAQ波动率微笑曲线怎么画先算 EWMA 波动率基线再在各执行价上取隐含波动率点做插值基线用vol.plot()直接出图插值点建议至少覆盖平值两侧各 5% 以上的行权价。beta 参数到底设多少没有唯一解。记住半衰期换算0.75 约 2~3 天0.9 约一周。你的报价周期多长就选半衰期与之匹配的 beta然后同图对比定稿。本地能跑吗必须连行情波动率计算完全离线可跑PricingContext的报价调用需要已配置好的 GS 数据会话。本地开发阶段可以先用常量波动率把链路跑通再切换真实曲面。入口文件与可以继续挖的方向波动率实现gs_quant/timeseries/technicals.py期权数据类gs_quant/target/instrument.py时间序列文档docs/timeseries.rst曲面建好之后的自然延伸是给波动率加冲击对比定价前后差异gs_quant/risk/scenarios.py或者把整套流程放进gs_quant/backtests/做历史回放。【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价