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

    文章

    7348

    浏览量

    95013
  • 函数
    +关注

    关注

    3

    文章

    4421

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    TMS320F28xxx DSP:从内部闪存运行应用程序的全面指南

    应用程序所需的特殊要求、软件修改以及性能优化技巧。 文件下载: TMDSC2KWRKSHPKIT.pdf 1. 引言 TMS320F28xxx DSP系列专为嵌入式控制器应用的独立运行而设计。片上闪存通常
    的头像 发表于 04-23 13:40 87次阅读

    S32K系列引导加载程序应用程序跨不同定制电路板设计的跳转问题求解

    。 **问题:** 1. 外设引脚配置差异会影响引导加载程序应用程序的转换吗? 2. 是否有可能依赖于电路板的特定寄存器或初始化序列? 3. 您建议使用哪些调试方法来隔离此问题? 是否有人在不同的电路板设计中使用S32K358引导加载
    发表于 04-22 07:02

    构建示例应用程序MCSPTR2AK396的问题求解

    显示任何消息。 此外,如果我选择“更新代码”,则所有驱动程序都将从项目中删除。 关于我遗漏了什么有什么提示吗? 安装的软件堆栈与示例应用程序的发行说明中测试的软件堆栈几乎相同 Design
    发表于 04-20 13:11

    RDMA设计56:如何设计基于RDMA的应用程序

    本博文主要交流设计思路,在本博客已给出相关博文约140篇,希望对初学者有用。 注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP 设计。 应用程序的工作流程如图 1所示,大致分为 READ 包
    发表于 04-05 09:54

    如何构建蓝牙应用程序

    应用程序使用蓝牙(blueZ)。 我已经安装了 gcc-riscv64-linux-gnu。 但是,没有安装 blueZ 标头和库。 如何构建我的蓝牙应用程序
    发表于 04-01 07:31

    关于MT6901的直线DEMO介绍

    关于MT6901的直线DEMO介绍
    的头像 发表于 01-30 10:54 760次阅读
    <b class='flag-5'>关于</b>MT6901的直线DEMO<b class='flag-5'>介绍</b>

    如何估算电源线承受的电流?

    ,如何科学合理地估算电源线的电流承载能力呢?这需要从导线材质、截面积、敷设环境、绝缘材料等多个维度综合分析。 一、导线材质与电流承载的基础关系 导线的导电性能主要由其材质决定,常见的有铜和铝两种。铜的导电率约为5
    的头像 发表于 12-18 07:45 2112次阅读

    关于NFC镍锌铁氧体片的介绍

    关于NFC镍锌铁氧体片的介绍
    的头像 发表于 12-04 10:52 548次阅读
    <b class='flag-5'>关于</b>NFC镍锌铁氧体片的<b class='flag-5'>介绍</b>

    功率放大器耗散功率分析估算

    在功率放大器驱动负载的应用中,耗散功率评估是负载在任意工况下工作都在安全区的关键。这里讨论的是线性功率放大器,其输出正弦波的理论极限转换效率只有70%。耗散功率分析估算有以下步骤:负载需求分析
    的头像 发表于 12-03 13:33 718次阅读
    功率放大器耗散功率<b class='flag-5'>分析</b>和<b class='flag-5'>估算</b>

    如何估算焊锡膏的印刷量?

    估算焊锡膏的印刷量是表面贴装技术(SMT)中的关键环节,直接影响焊接质量和成本。以下是分步骤的估算方法及关键注意事项:
    的头像 发表于 11-26 09:06 914次阅读
    如何<b class='flag-5'>估算</b>焊锡膏的印刷量?

    关于系统链接脚本的介绍

    一、队伍介绍 本篇为蜂鸟E203系列分享第四篇,本篇介绍的内容是系统链接脚本。 二、如何实现不同的下载模式? 实现三种不同的程序运行方式,可通过makefile的命令行指定不同的链接脚本,从而实现
    发表于 10-30 08:26

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

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

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

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

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

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

    普源示波器如何连接MATLAB实现数据采集与分析

    普源示波器(Rigol)作为国内知名的测试测量仪器品牌,广泛应用于电子工程、科研实验、教学等领域。为了进一步扩展其功能,用户常需将示波器与MATLAB等数据分析平台连接,实现自动化测试、实时信号处理
    的头像 发表于 05-29 09:34 1388次阅读