计算波动率

时间:2019-04-05 10:06:40

标签: excel vba finance

我对Excel中的波动率计算有疑问。 我的表格由三列组成:一个标识符(A列),一个日期(B列)和我要计算其波动率的值(C列)。标识符被多次列出,因此在表中不是唯一的。

现在我要创建另一个表。 IN列A是第一个表的标识符,但是它们现在是唯一的。在b列(问题所在的位置)中,我要计算第一个表的每个值的波动率,其中标识符等于表2中现在唯一的标识符。 充其量只是VBA编写的Workbook Function。 ->它的功能应类似于SQL bout中的“分组依据”,还可以计算波动率。

enter image description here

谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

在Excel中对值进行分组的最简单方法是使用Group函数:

enter image description here

将它们分组后,您可以使用DEV.ST / AVERAGE通过以下方式计算波动率:

  • 使用 Excel公式 =DEV.ST(Range) / AVERAGE(Range)
  • 使用Application.WorksheetFunction方法使用 VBA代码

如果您选择了 VBA方式,则可以这样:

Range("Result").VALUE = Application.WorksheetFunction.StDev(Range("YourData")) _
    / Application.WorksheetFunction.Average(Range("YourData"))