历史贝塔
历史贝塔是一个衡量股票(或投资组合)相对于整个市场波动性的指标。它源于资本资产定价模型,用于评估一项资产的系统性风险。
β = 1: 表示该股票的价格波动与市场波动基本一致。
β > 1: 表示该股票的波动性大于市场波动,通常被认为是“进攻型”股票。例如,β=1.5 意味着市场上涨 10%,该股票倾向于上涨 15%;市场下跌 10%,该股票倾向于下跌 15%。
β < 1: 表示该股票的波动性小于市场波动,通常被认为是“防御型”股票。例如,β=0.5 意味着市场上涨 10%,该股票倾向于只上涨 5%;市场下跌 10%,该股票倾向于只下跌 5%。
β < 0: 表示该股票的走势与市场相反(这类股票非常罕见)。
计算公式:
最近 n 个交易日个股与基准指数的日收益率线性回归的斜率
计算细节:
时间范围:最近 n 个交易日(缺省为 252)。
数据点:每日的收益率。
个股日收益率 =(当日收盘价 - 前一日收盘价) / 前一日收盘价
基准指数日收益率 =(当日指数收盘价 - 前一日指数收盘价) / 前一日指数收盘价
计算方法:使用线性回归中的斜率计算。
基准指数:基准指数,缺省为沪深 300 指数。
指标参数:
S |
基准指数,缺省为沪深 300 |
$y |
输出列名 |
n |
计算周期,缺省为 252 |
函数代码:
A |
B |
|
1 |
func HBeta(A,S,$y,n) |
=A.join(日期,S: 日期, 收盘: 指数收盘 ) |
2 |
=A.derive((收盘 - 收盘 [-1])/ 收盘 [-1]: 日收益率,(指数收盘 - 指数收盘 [-1])/ 指数收盘 [-1]: 指数日收益率 ) |
|
3 |
=A.run(linefit(日收益率 [1-n:0], 指数日收益率 [1-n:0]):${y}) |
|
4 |
=A.alter(;指数收盘, 日收益率, 指数日收益率 ) |
举例:
调用脚本计算浦发银行 2024 年的历史贝塔,n 取 252:
A |
||
1 |
… |
/计算出源数据 |
2 |
… |
/计算出沪深 300 指数数据 |
3 |
=A1.derive(:HBeta) |
/增加要返回的指标字段 |
4 |
=HBeta(A3,A2,HBeta,252) |
/调用函数计算指标 |
运行效果: