用DtD包在R中寻找推断波动率和推断公司价值

用DtD包在R中寻找推断波动率和推断公司价值,r,R,我需要计算424家公司的时间序列数据集的违约距离(使用默顿模型)。我已经指定了变量: library(DtD) S <- BS_call(V, D, T, r, vol) S <- E1 D <- face T <- 1 vol <- stock_vol r <- rf get_underlying(S,D, T, vol, r) 库(DtD) s 2000-01-01 0.5624 0.3553 0.3252 0.240100 0.3855 0.300

我需要计算424家公司的时间序列数据集的违约距离(使用默顿模型)。我已经指定了变量:

library(DtD)

S <- BS_call(V, D, T, r, vol)

S <- E1
D <- face
T <- 1
vol <- stock_vol
r <- rf
get_underlying(S,D, T, vol, r)
库(DtD)
s
2000-01-01 0.5624 0.3553 0.3252 0.240100 0.3855 0.3007 0.5664 0.8937 0.476700 0.3362
2001-01-01 0.2291 0.3682  0.3974 0.557800 0.2358  0.3998 0.2539  0.7270 0.195600 0.3812
2002-01-01 0.2906 0.3566  0.3155 0.912128 0.2200  0.3886 0.3359  0.5680 0.172600 0.3032
2003-01-01 0.1410 0.2737  0.3840 0.622400 0.1852  0.2581 0.2695  0.4060 0.135700 0.1936
2004-01-01 0.1065 0.2207  0.2246 0.233100 0.1083  0.1435 0.2546  0.4085 0.090216 0.1409
2005-01-01 0.1825 0.2621  0.2349 0.156800 0.1366  0.1576 0.1750  0.3545 0.204300 0.1986
2006-01-01 0.1457 0.1564  0.2924 0.236500 0.1719  0.1651 0.1735  0.3212 0.127600 0.2371
2007-01-01 0.2085 0.2550  0.2479 0.238300 0.1965  0.2046 0.2414  0.3738 0.208800 0.2569
2008-01-01 0.2887 0.4766  0.3929 0.451800 0.2420  0.3731 0.2664  0.2894 0.261100 0.3095
2009-01-01 0.2589 0.4788  0.6687 0.266400 0.1806  0.4180 0.2020  0.2518 0.248400 0.3935
2010-01-01 0.2313 0.3819  0.3134 0.269700 0.1528  0.2243 0.1215  0.1504 0.250700 0.3373
2011-01-01 0.2396 0.2172  0.3035 0.228300 0.1605  0.3468 0.1641  0.2770 0.186400 0.2903
2012-01-01 0.4578 0.2920  0.2016 0.212100 0.1385  0.2822 0.3608  0.2574 0.519700 0.2531
2013-01-01 0.3948 0.2568  0.1376 0.140200 0.2640  0.2069 0.3055  0.1572 0.227200 0.2077
2014-01-01 0.2120 0.2348  0.1613 0.116000 0.2574  0.2142 0.2402  0.1813 0.161700 0.1751
2015-01-01 0.2025 0.4006  0.1864 0.276800 0.1922  0.2689 0.1825  0.1679 0.321400 0.4289
2016-01-01 0.2554 0.8185  0.2334 0.181500 0.2688  0.2669 0.3203  0.1370 0.255700 0.3339
2017-01-01 0.1620 0.3685  0.1298 0.174100 0.2635  0.1348 0.2892  0.1404 0.158000 0.1802
2018-01-01 0.1915 0.2420  0.1444 0.189500 0.2146  0.2027 0.2034  0.2471 0.241400 0.2840
2019-01-01 0.15170.27580.3030.199000 0.2573 0.20490.13230.19390.185500 0.2581

所以,因为我昨天发布了我的问题,Bruno指出让我检查元素408中的值是否为0,所以我修正了这个问题。它实际上是0,因为它所用的函数,它不可能是0(因为有些东西被它除了),所以我修正了它。然而,紧接着R再次显示了相同的信息,但是关于不同的数据集(见上面消息中的样本,这是不同公司股票波动的时间序列,称为stock_vol。在子集中有20家公司,但我的原始数据集中有424家)。这次元素不是0。我现在能做什么

这是我的密码:


您好,欢迎来到so,您是否检查了元素408是否大于0?您好@Bruno!谢谢你的评论!我的数据集中有一些0,是的,因为它是债务的面值,有时可能是0。另外,我不确定哪个元素是408,因为它是一个包含424列和20个raw的表。那么它会是第一个原始值和第408列吗?所以,是的,我找到了什么是408,是的,它是数据集中的第一个零,但还有更多。有什么办法吗?嗨,娜佳。欢迎来到SO!如果您按照本指南提供一个最小的、可重复的示例,那么这个问题将更容易回答:我在下面的答案中添加了更多信息
        A2.MI  AAL.L AALB.AS   ABBN.S  ABF.L ACCP.PA ACE.MI ACPP.WA   ACS.MC ACX.MC