波动率
指股票 N 日收益波动率,这里的波动率是历史波动率,评估历史收益的标准差,属风险评估指标。
波动率 = 股票涨跌幅的 N 日标准差 * sqrt(N 日)
波动率越高,金融资产价格的波动越剧烈,资产收益率的不确定性就越强;波动率越低,金融资产价格的波动越平缓,资产收益率的确定性就越强。
指标参数:
y |
VOL 输出列 |
x |
数据列,如收盘 |
n |
周期, 如 20 |
函数代码:
A |
B |
|
1 |
func VOL(A,$y,$x, n) |
=A.derive@o(:vol_pctChg) |
2 |
=A.run(${x}/${x}[-1]-1:vol_pctChg) |
|
3 |
=A.run(var@sr(vol_pctChg[1-n:0])*sqrt(n):${y}) |
|
4 |
=A.alter(;vol_pctChg) |
将函数保存在 indicator.splx 中。
举例:调用函数计算浦发银行 2024 年 20 日波动率,指标返回字段命名为 volatility。
A |
B |
|
… |
… |
|
5 |
=call@f("indicator.splx") |
登记脚本中的函数 |
6 |
… |
计算出源数据 |
7 |
=A6.derive(:volatility) |
增加要返回的指标字段 |
8 |
=VOL(A7,volatility, 收盘,20) |
调用函数计算指标 |
运行效果: