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

    文章

    6852

    浏览量

    88772
  • 函数
    +关注

    关注

    3

    文章

    4299

    浏览量

    62374
收藏 人收藏

    评论

    相关推荐

    第5章 MATLAB程序设计.ppt

    第5章 MATLAB程序设计
    发表于 10-24 16:40 0次下载

    在TM4C MCU上FreeRTOS开发通用应用程序应用说明

    电子发烧友网站提供《在TM4C MCU上FreeRTOS开发通用应用程序应用说明.pdf》资料免费下载
    发表于 09-11 14:15 0次下载
    在TM4C MCU上<b class='flag-5'>用</b>FreeRTOS开发通用<b class='flag-5'>应用程序</b>应用说明

    matlab预测模型怎么

    MATLAB预测模型是一种基于统计和数学方法的预测工具,广泛应用于各种领域,如金融、气象、生物医学等。本文将介绍MATLAB预测模型的使用方法。 数据预处理 数据预处理是预测模型建立的第一步,主要目
    的头像 发表于 07-11 14:33 528次阅读

    针对特定内核使用PFlash,是否会影响多核应用程序性能

    /函数应保持在 PFlash 0,内核 1 保持在 Pflash1 ... 等。 但如果我们保留所有 .text 无论是在 PFlash0 还是在 PFlash1,是否会影响我的多核应用程序性能
    发表于 07-04 06:04

    基于MATLAB的信号处理系统与分析

    在信息技术日新月异的今天,信号处理与分析技术在通信、控制、生物医学、图像处理等领域的应用日益广泛。MATLAB作为一款功能强大的数学软件,为信号处理与分析提供了强大的工具和支持。本文旨在探讨
    的头像 发表于 05-17 14:24 951次阅读

    STM32F4用来作为计算单元的时候,如何评估算法或应用的时间性能

    STM32F4用来作为计算单元的时候,如何评估算法或应用的时间性能?能不能通过配置使之具备计时功能?精度达到us级别就足够了。 关于计时,在debug状态下,通过states的计数值可以计算时间
    发表于 05-16 06:37

    【从0开始创建AWTK应用程序】编译应用到RTOS平台

    AWTK是基于C语言开发的跨平台GUI框架。本系列文章介绍如何从0开始创建AWTK应用程序,包括搭建开发调试环境、使用AWTK创建Hello工程并在模拟器上运行、将AWTK应用程序移植到其它平台。在
    的头像 发表于 03-21 08:23 559次阅读
    【从0开始创建AWTK<b class='flag-5'>应用程序</b>】编译应用到RTOS平台

    应用程序中的服务器错误怎么解决?

    在使用应用程序时,可能会遇到服务器错误的问题。这种错误通常会导致应用程序无法正常运行 ,给用户带来不便。下面将介绍应用程序中的服务器错误及其解决方法,帮助您快速解决这一问题。
    的头像 发表于 03-12 15:13 5647次阅读

    LTE MQTT通信应用程序说明

    电子发烧友网站提供《LTE MQTT通信应用程序说明.pdf》资料免费下载
    发表于 02-21 10:47 0次下载
    LTE MQTT通信<b class='flag-5'>应用程序</b>说明

    如何构建linux开发环境和编译软件工程、应用程序

    前文介绍了如何使用官方提供的镜像文件启动开发板,本文将说明如何构建linux开发环境和编译软件工程、应用程序
    的头像 发表于 01-03 12:31 1903次阅读
    如何构建linux开发环境和编译软件工程、<b class='flag-5'>应用程序</b>

    新兴的空间金融领域:使用 AI 估算风险、监测资产和分析理赔

    分析风险与机遇,推出新的服务和产品,衡量所持资产对环境的影响,并在危机发生后评估损失。 空间金融的应用包括监测资产、建立能源效率模型、跟踪排放和污染、检测非法采矿和森林滥伐,以及分析自然灾害
    的头像 发表于 12-25 18:40 658次阅读
    新兴的空间金融领域:使用 AI <b class='flag-5'>估算</b><b class='flag-5'>风险</b>、监测资产和<b class='flag-5'>分析</b>理赔

    变压器中性点接地方式如何安排?依据是什么?

    在大电流系统中,变压器中性点接地是为了有效保护人身、保护设备、降低事故风险而实施的一种措施。
    的头像 发表于 12-12 11:34 2768次阅读

    【从0开始创建AWTK应用程序】编译应用到嵌入式Linux平台运行

    AWTK是基于C语言开发的跨平台GUI框架。本系列文章介绍如何从0开始创建AWTK应用程序,包括搭建开发调试环境、使用AWTK创建Hello工程并在模拟器上运行、将AWTK应用程序移植到其它平台
    的头像 发表于 12-07 12:08 665次阅读
    【从0开始创建AWTK<b class='flag-5'>应用程序</b>】编译应用到嵌入式Linux平台运行

    【从0开始创建AWTK应用程序】创建应用程序并在模拟器运行

    AWTK是基于C语言开发的跨平台GUI框架。本系列文章介绍如何从0开始创建AWTK应用程序,包括搭建开发调试环境、使用AWTK创建Hello工程并在模拟器上运行、将AWTK应用程序移植到其它平台
    的头像 发表于 12-01 08:24 459次阅读
    【从0开始创建AWTK<b class='flag-5'>应用程序</b>】创建<b class='flag-5'>应用程序</b>并在模拟器运行

    开发java应用程序的基本步骤是

    ava是一种面向对象的编程语言,广泛用于开发各种类型的应用程序。在开发Java应用程序时,有一些基本步骤需要遵循,以确保应用程序的正确性和可靠性。 1.确定需求:这是开发任何应用程序
    的头像 发表于 11-28 16:52 1512次阅读