0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于用MATLAB应用程序估算风险中性密度的性能分析和介绍

MATLAB 来源:djl 作者:Andrea Barletta 2019-09-12 15:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

由于场外期权合约的买卖在交易双方间私下进行而非通过公开市场,因而可能很难确定合约的价格有利于买方还是卖方。为对这些合约进行定价,金融分析师往往依据看涨期权或看跌期权价格估算出风险中性密度(RND)值。常规做法是根据历史数据来确定定价模型的参数值,进而估算 RND 值。

根据参数定价模型估算 RND 有几个缺点:

如处理时间较长而且可能存在误差。简单模型可快速完成调试,但很可能会与金融数据的一些历史经验特征不一致,生成的结果误差较大;复杂模型能够提供更精确的结果,但所需调试时间较长 — 如果没有闭式解(解析解),通常需要长达数小时。即使复杂的模型能够提供看似合理的结果,也可能由于没有应用有效的数值分析技术而存在偏差。此外,由于定价模型主要依据历史数据,由建模人员自行决定需要采纳的历史数据量——这种主观决定会影响结果。

Aarhus 大学的研究团队开发了一款非结构化无模型 RND 估算方法,不依赖参数化模型,而是完全由数据自身决定。这种方法利用当前数据(而非历史数据)通过正交多项式展开式估算 RND 和期权敏感度指标(Greeks),这样能够比应用模型的方法更快得到结果 — 通常仅需几秒钟来估算 RND。

为演示我们的方法,便于学生、分析师和研究人员进行应用,我们将它封装为 MATLAB 应用程序(图 1)。我们在两篇文章中对该方法进行了详述 ,A Non-Structural Investigation of VIX Risk Neutral Density(估算 RND)和 It Only Takes a Few Moments to Hedge(估算敏感度指标),并用 Risk-Neutral Density Fitting Tool 应用程序具体实现了该方法。

关于用MATLAB应用程序估算风险中性密度的性能分析和介绍

图1:Risk-Neutral Density Fitting Tool 应用程序。

我们为什么选择 MATLAB

我们决定创建 MATLAB 应用程序估算 RND,因为我们希望研究成果得到广泛应用,而不是仅限于在量化经济学领域或是熟悉 MATLAB 编程的金融研究人员使用。

我们发现,MATLAB 大大加快了开发进度。我们在两到三个月内完成了大部分开发工作 — 据估算,使用传统编译语言大约需要两年时间。 MATLAB 是一种解释型语言并基于 JIT 编译器运行,这令我们避免了繁琐的“编辑-编译-测试”周期;相反,我们采用交互形式开发方法,调用 MATLAB 中的函数并反复检查结果。不依靠第三方库,也无需自行编写线性回归、主成分分析及其他功能算法,而是利用Curve Fitting Toolbox、Financial Toolbox、Optimization Toolbox 和 Statistics and Machine Learning Toolbox 等工具包中经过验证的函数。使用解释型语言时,运算性能是我们关注的问题。但是,通过采用 MATLAB 中的向量化运算和优化的函数,其性能与编译语言基本接近。

除了加快实施我们的 RND 方法之外,MATLAB 还可以轻松构建界面并将其与底层代码封装成为一款应用程序。我们使用 MATLAB 应用程序开发工具设计窗口、按钮及界面中的其他控件。然后,将完整应用程序封装为单一安装程序文件,并发布到项目的 GitHub 页面供用户下载。

通过应用程序估算 RND 并查找敏感度指标 (Greeks)

下载并安装应用程序后,通常先从 Option Metrics 或 Chicago Board Options Exchange (Cboe)等数据源加载期权价格数据(MATLAB应用程序支持直接调用这两个数据源)。然后用户检查输入数据对应的价格曲线并根据需要调整行权价格的上下限(看跌或看涨期权最低和最高行权价格)。之后用户选择核、展开式阶数以及用于估算展开系数的方法(例如,主成分分析)。核指定概率分布,为 RND 提供一个初始值;而展开式阶数则定义正交多项式数量,“校正”核来估算 RND。

此应用程序包含多个内置核,包括 beta gamma、广义逆高斯、广义 Weibull 和对数正态,而且用户可以通过自己编写 MATLAB 函数来对内置核进行扩展。展开式阶数越高,展开式就越精确,但估算所需的时间也会更长(图 2)。

关于用MATLAB应用程序估算风险中性密度的性能分析和介绍

图 2:隐含波动曲线及使用广义 Weibull 核、主成分分析和 17阶 展开式估算出的 RND 值。

图示中使用的数据集包含 2011 年 12 月 21 日在 Cboe Volatility Index (VIX) 上的 1 月期看涨期权和看跌期权。

最后,计算敏感性指标 delta、gamma 和 vega,用户只需单击应用程序的“查找敏感度指标”按钮。界面中会显示这三个指标图(图 3)。

关于用MATLAB应用程序估算风险中性密度的性能分析和介绍

图3:敏感度指标图:看涨期权 delta、 gamma 和 vega。

所有图均可另存为 MATLAB 图像或者 PNG、PDF 或 EPS 文件,所有结果均可导出并保存以便进一步分析。

将来升级的功能

从我们收到的反馈来看,用户对于该应用程序予以了肯定。基于这些反馈,我们将进一步改进应用程序并规划对其的升级。例如,我们考虑在分析中添加时间点和到期日,我们将研究使用多变量密度,并应用期权价格的历史数据来预测整个密度曲线,而非仅在某一个时间点的曲线。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7314

    浏览量

    93968
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66829
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何在应用程序调试期间分析栈和堆使用情况

    ,并在 Unified IDE 中仍可使用。本文涵盖了如何在 Vitis 中使用分析工具在应用程序调试期间对栈和堆进行监控。
    的头像 发表于 10-24 16:54 584次阅读
    如何在<b class='flag-5'>应用程序</b>调试期间<b class='flag-5'>分析</b>栈和堆使用情况

    学生适合使用的SOLIDWORKS 云应用程序

    SOLIDWORKS云应用程序如何满足学生的需求,并介绍其关键功能和优势。 SOLIDWORKS云应用程序是SOLIDWORKS软件与3DEXPERIENCE平台云端设计应用程序和人
    的头像 发表于 09-15 10:39 512次阅读
    学生适合使用的SOLIDWORKS 云<b class='flag-5'>应用程序</b>

    OptiSystem应用:MATLAB组件实现振幅调制

    。我们MATLAB代码控制电脉冲对光信号的调制过程,通过在MATLAB组件中导入MATLAB代码来实现。整体光路图如图1,全局参数如图2: 图1.整体光路图 图2.全局参数 二、
    发表于 06-13 08:46

    永磁体磁角度偏差对电机性能影响的分析

    、谐波、齿槽转矩的影响进行分析,对高精度、高功率密度电机的研究开发以及生产过程中保持产品质量的一致性有一定积极意义。 点击附件查看全文*附件:永磁体磁角度偏差对电机性能影响的分析.pd
    发表于 03-25 15:37

    使用人体姿势估算-3d-0001模型执行human_pose_estimation_demo.exe时遇到错误怎么解决?

    已OpenVINO 工具套件 2020.3 安装。 下载并转换 人体姿势估算-3d-0001 模型。 构建 人类姿态估算 C++ 演示 应用程序。 运行演示时遇到错误: [ ERROR ] expected to have 2
    发表于 03-05 07:45

    AWTK-WEB 快速入门(6) - JS WebSocket 应用程序

    WebSocket可以实现双向通信,适合实时通信场景。本文介绍一下使用Javacript语言开发AWTK-WEB应用程序,并用WebSocket与服务器通讯。AWTKDesigner新建一个应用程
    的头像 发表于 02-26 11:42 636次阅读
    AWTK-WEB 快速入门(6) - JS WebSocket <b class='flag-5'>应用程序</b>

    AWTK-WEB 快速入门(5) - C 语言 WebSocket 应用程序

    导读WebSocket可以实现双向通信,适合实时通信场景。本文介绍一下使用C语言开发AWTK-WEB应用程序,并用WebSocket与服务器通讯。AWTKDesigner新建一个应用程序
    的头像 发表于 02-19 11:49 894次阅读
    AWTK-WEB 快速入门(5) - C 语言 WebSocket <b class='flag-5'>应用程序</b>

    OptiSystem应用:MATLAB组件实现振幅调制

    。我们MATLAB代码控制电脉冲对光信号的调制过程,通过在MATLAB组件中导入MATLAB代码来实现。整体光路图如图1,全局参数如图2: 图1.整体光路图 图2.全局参数 二、
    发表于 02-14 09:39

    电力系统中性点运行方式介绍

    在电力系统中,中性点运行方式是一个至关重要的概念,它主要包括中性点不接地、中性点经消弧线圈接地和中性点直接接地这三种基本方式,每种方式都有其独特的特点和应用场景。 一、
    的头像 发表于 02-05 16:21 3142次阅读

    AWTK-WEB 快速入门(4) - JS Http 应用程序

    导读XMLHttpRequest改变了Web应用程序与服务器交换数据的方式,fetch是其继任者。本文介绍一下如何使用JS语言开发AWTK-WEB应用程序,并用fetch访问远程数据。
    的头像 发表于 01-22 11:31 726次阅读
    AWTK-WEB 快速入门(4) - JS Http <b class='flag-5'>应用程序</b>

    ANACONDA——关于发布数据应用程序的新简单方法

    与 Anaconda 的云笔记本服务无缝集成,为用户提供了一种轻松共享笔记本结果的方式,并让其他人也可以随意的访问它们。 下面我们来了解关于这项新功能的实际应用: 这项功能与 Panel 的多功能性相结合,将彻底改变您发布数据应用程序的方式。使用这个强大的工具,为共享和协
    的头像 发表于 01-17 11:39 644次阅读
    ANACONDA——<b class='flag-5'>关于</b>发布数据<b class='flag-5'>应用程序</b>的新简单方法

    一文解析LOPA应用-点火概率估算的策略与实践

    在化工过程安全领域,保护层分析(LOPA)是评估风险与确定安全措施有效性的关键工具。而其中点火概率的估算,更是直接影响风险评估结果与 SIL 定级决策的重要因素。豪鹏科技在服务软件客户
    的头像 发表于 12-21 14:46 1972次阅读
    一文解析LOPA应用-点火概率<b class='flag-5'>估算</b>的策略与实践

    BQ78412应用程序编程接口

    电子发烧友网站提供《BQ78412应用程序编程接口.pdf》资料免费下载
    发表于 12-18 14:46 0次下载
    BQ78412<b class='flag-5'>应用程序</b>编程接口

    TAS2521应用程序参考指南

    电子发烧友网站提供《TAS2521应用程序参考指南.pdf》资料免费下载
    发表于 12-10 13:49 0次下载
    TAS2521<b class='flag-5'>应用程序</b>参考指南

    密度Interposer封装设计的SI分析

    集成在一个接口层(interposer)上,密度、薄互连连接,这种高密度的信号,再加上硅interposer设计,需要仔细的设计和彻底的时序分析。 对于需要在处理器和大容量存储器单
    的头像 发表于 12-10 10:38 2252次阅读
    高<b class='flag-5'>密度</b>Interposer封装设计的SI<b class='flag-5'>分析</b>