FRM模型十八:Merton模型

文章目录

  • 莫顿模型介绍(Merton)
    • 假设
    • 表达式
    • 信用利差及违约距离
  • 代码实现

莫顿模型介绍(Merton)

莫顿模型是评估信用风险的一大重要理论。莫顿模型认为,债券是否违约这一行为归根到底是一种选择。当违约的好处>不违约的好处,就会选择违约;当违约的好处<不违约的好处,就会选择不违约。

假设

  1. 金融市场是完美市场,无税收、摩擦和破产成本。
  2. 公司仅依靠一种零息债券和股票进行融资。
  3. 违约只发生在到期日
  4. 无风险利率恒定
  5. 标的资产价格服从对数正态分布

表达式

当债券到期时,公司必须支付债券的本息。如果不能支付,那么公司破产,股票无价值,公司资产归债券持有人所有。如果到期后公司足额支付债券的本息,剩余部分属于股票持有人。

假设一家公司到期后需要支付100million给债券持有人。
如果到期时公司价值为120million,债券持有人会收到100million,股票持有人会收到20million。
如果到期时公司价值为80million,债券持有人会收到80million,股票持有人会收到0.

因此只有当公司价值>债券面值时,股票持有人才会获得收益。这种收益结构类似我们学过的一种金融工具——期权。

S T = M a x ( V T − F , 0 ) S_{T}=Max(V_{T}-F,0) ST=Max(VTF,0)
在这里插入图片描述
期权的定价又可以使用BSM模型计算,所以股票价值:
E = V N ( d 1 ) − K e − r t N ( d 2 ) E=VN(d_{1})-Ke^{-rt}N(d_{2}) E=VN(d1)KertN(d2)
债券价值:
B = V N ( − d 1 ) + K e − r t N ( d 2 ) B = VN(-d_{1})+Ke^{-rt}N(d_{2}) B=VN(d1)+KertN(d2)
其中V表示公司价值,K表示债券面值, σ \sigma σ表示股权价值波动率。
d 1 = I n ( V K e − r T ) σ T + σ T 2 d_{1}=\frac{In(\frac{V}{Ke^{-rT}})}{\sigma \sqrt{T}}+\frac{\sigma\sqrt{T}}{2} d1=σT In(KerTV)+2σT

d 2 = I n ( V K e − r T ) σ T − σ T 2 d_{2}=\frac{In(\frac{V}{Ke^{-rT}})}{\sigma \sqrt{T}}-\frac{\sigma\sqrt{T}}{2} d2=σT In(KerTV)2σT

信用利差及违约距离

根据前面的公式可以反向推导信用利差及违约距离的计算公式。
C r e d i t S p r e a d = − 1 T I n ( K V − r ) Credit Spread = -\frac{1}{T}In(\frac{K}{V}-r) CreditSpread=T1In(VKr)
d 2 = I n ( V ) − I n ( K ) + ( μ − σ 2 2 ) T σ T ≈ I n V − I n K σ d_{2}=\frac{In(V)-In(K)+(\mu-\frac{\sigma^2}{2})T}{\sigma\sqrt{T}}\approx\frac{InV-InK}{\sigma} d2=σT In(V)In(K)+(μ2σ2)TσInVInK

代码实现

举个例子:假设公司A的资本结构包括两部分:面值为100million的零息债券以及股票。当前公司A的资产的市场价格为130million,每年的波动率为30%。公司B的资本结构包括两部分:面值为250million的零息债券以及股票。当前公司B的资产的市场价格为400million,每年的波动率为25%。假设一年到期,哪家公司更容易违约?

import numpy as np
import math
from scipy import statsdef MertonCal(FirmValue, Debt, sigma, r, t):d1 = math.log(FirmValue/(Debt * math.exp(-r*t)), math.e)/(sigma * np.sqrt(t)) + 0.5 * sigma * np.sqrt(t)d2 = math.log(FirmValue/(Debt * math.exp(-r*t)), math.e)/(sigma * np.sqrt(t)) - 0.5 * sigma * np.sqrt(t)N_d1 = stats.norm.cdf(d1)N_d2 = stats.norm.cdf(d2)E = FirmValue * N_d1 - Debt * np.exp(-r * t) * N_d2B = FirmValue * (1 - N_d1) + Debt * np.exp(-r * t) * N_d2CreditSpread = -1/t * math.log(Debt/FirmValue - r, math.e)DtD = (math.log(FirmValue, math.e) - math.log(Debt, math.e))/sigmareturn E, B, CreditSpread, DtDV_a = 130
V_b = 400
D_a = 100
D_b = 250
sigma_a = 0.3
sigma_b = 0.25
r = 0.01
t = 1E_a, B_a, CreditSpread_a, DtD_a = MertonCal(V_a, D_a, sigma_a, r, t)
E_b, B_b, CreditSpread_b, DtD_b = MertonCal(V_b, D_b, sigma_b, r, t)
print("A公司的违约距离为%.4f"%(DtD_a))
print("B公司的违约距离为%.4f"%(DtD_b))

在这里插入图片描述
由此说明,B的违约距离更大,B更不容易违约。

由于莫顿模型在假设条件上过于苛刻,实际运用过程中很少应用。实证中常用KMV模型计算违约距离。

KMV模型在Merton模型基础上进行改进,Merton模型假设只有一种债券,但KMV假设有长期债券和短期债券,并赋予不同的权重。除此之外,还会根据历史上真是发生的违约数据进行校准。KMV模型在2002年被穆迪Moody’s收购,具体的模型算法并未披露出来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/549032.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring-3

目录 Spring AOP和AspectJ AOP 在Spring AOP 中&#xff0c;关注点和横切关注的区别 Spring 框架中的单例 Bean 是线程安全的吗 Spring 是怎么解决循环依赖的&#xff1f; 事务隔离级别 事务的传播级别 Spring 事务实现方式 Spring框架的事务管理有哪些优点 事务注解的…

GitLab/Github从头开始配置秘钥

1、下载git安装包 CNPM Binaries Mirrorhttps://registry.npmmirror.com/binary.html?pathgit-for-windows/ 拉到页面最底部选择 点进文件夹下载32位或者64位的版本&#xff0c;我的是64位就选择64的版本进行安装 2、傻瓜式安装 3、在相应的文件夹右键选择 UserName为你的用…

SSA优化最近邻分类预测(matlab代码)

SSA-最近邻分类预测matlab代码 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法&#xff0c;在2020年提出&#xff0c;主要是受麻雀的觅食行为和反捕食行为的启发。 数据为Excel分类数据集数据。 数据集划分为训练集、验证集、测试集,比例为8&#…

RVA和FOA转换---三

文章目录 修改初始值RVA和FOA转换RVAFOARVA和FOA的关系 本次内容包含如何修改程序中的初始值&#xff0c;和如何转换内存和文件的地址。 修改初始值 问题&#xff1a; 我们写了一个程序&#xff0c;可以输出一个结果&#xff0c;那么我们可以通过修改PE文件来改变这个输出结果…

group by和min、max函数一起使用

原始数据 查询每科的最高分数 -- 查询每科最高分数 select stuId,classId,stuName,max(score) from student_score group by classId 错误的结果 这个显然不是对的&#xff0c;或者说不是我们想要的结果&#xff0c; 我们想要的结果是 原因是什么呢&#xff1f;我们知道使用…

Vue3学习日记 Day1

一、简介 1、简介 Vue3是新的默认版本&#xff0c;拥有更快的速度&#xff0c;更好的语法 二、使用create-vue搭建Vue3项目 1、创建项目 1、介绍 create-vue是Vue官方新的脚手架工具&#xff0c;底层切换为了vite&#xff0c;为开发提供极速响应 2、使用 2.1、确定环境条件 2…

局部路径规划算法 - 人工势场法

人工势场法 参考&#xff1a; &#xff08;1&#xff09;人工势场法 &#xff08;2&#xff09;人工势场法路径规划算法&#xff08;APF&#xff09; 1 算法概述 1.1 算法简介 1986 年 Khatib首先提出人工势场法&#xff0c;并将其应用在机器人避障领域&#xff0c;而现代汽…

数据库SQLServer——插入数据

1.插入数据语法 INSERT INTO table_name(column_list) VALUES (value_list); --简写 INSERT INTO table_name VALUES (value_list);INSERT table_name VALUES (value_list); 2.实例 2.1基本形式&#xff08;不安全&#xff09; insert into 学生表01 values(李明,男,1.70) …

如何解决网络中IP地址发生冲突故障?

0、前言 本专栏为个人备考软考嵌入式系统设计师的复习笔记&#xff0c;未经本人许可&#xff0c;请勿转载&#xff0c;如发现本笔记内容的错误还望各位不吝赐教&#xff08;笔记内容可能有误怕产生错误引导&#xff09;。 1、个人IP地址冲突解决方案 首先winR&#xff0c;调出…

Feign

Feign 1 Feign介绍2 Feign远程调用2.1 Feign替代RestTemplate2.2 自定义配置2.3 Feign使用优化2.4 最佳实践 总结 1 Feign介绍 Feign是一个声明式的Web服务客户端&#xff0c;它使得编写Web服务客户端变得更加简单。它是Spring Cloud中的一个模块&#xff0c;用于简化对REST服…

【Leetcode-19.删除链表的第N个节点】

题目详情&#xff1a; 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;head [1], n 1 输出&#xff1…

中国巨型地下中微子实验室准备探究宇宙奥秘

JUNO设施将于今年上线&#xff0c;将有助于确定哪种类型的中微子质量最高 - 这是物理学中最大的谜团之一。 中国江门地下中微子天文台&#xff08;JUNO&#xff09;的建设工作。朱诺号希望在2024年底之前探测到中微子。图片来源&#xff1a;Qiu Xinsheng/VCG via Getty 开平区…