每月选择一个值

时间:2018-07-14 16:05:08

标签: option finance quantitative-finance volatility

我有一个这样的期权数据集:

head(TNX.ATM)
         date     exdate impl_volatility moneyness
1  1996-09-03 1996-12-21        0.192926 0.9431225
3  1996-09-03 1997-03-22        0.185357 1.0519443
5  1996-09-03 1996-10-19        0.267567 0.9068485
6  1996-09-03 1997-03-22        0.190826 0.7980267
7  1996-09-03 1997-03-22        0.187024 0.8705746
11 1996-09-03 1997-03-22        0.181079 1.0156703

tail(TNX.ATM)
             date     exdate impl_volatility moneyness
424674 2009-10-30 2010-03-20        0.682929 1.7688679
424675 2009-10-30 2010-03-20        1.394789 0.5159198
424680 2009-10-30 2010-03-20        0.571662 1.5477594
424681 2009-10-30 2010-03-20        0.648230 1.6951651
424693 2009-10-30 2010-06-19              NA 1.9162736
424700 2009-10-30 2010-06-19              NA 1.8425708

其中exdate是失效日期。

我每个月都要提取与货币性最接近1的到期日(即过期-日期)最接近1个月的期权(即行)相对应的impl_volatility的值。

如果可能的话,只要间隔[0.95,1.05]中不包含金钱或间隔[20days,40days]中不包含到期,我还希望将输出留空,因为获得的值将不代表我在寻找什么。

我还想将提取的值放在一个新的数据集中,其中列日期为month-year,而在一个名为ATM的列中提取impl_volatility。

有一个紧凑的方法可以做到吗?

任何帮助将不胜感激。

0 个答案:

没有答案