历史贝塔

历史贝塔是一个衡量股票(或投资组合)相对于整个市场波动性的指标。它源于资本资产定价模型,用于评估一项资产的系统性风险。

  • β = 1: 表示该股票的价格波动与市场波动基本一致。

  • β > 1: 表示该股票的波动性大于市场波动,通常被认为是“进攻型”股票。例如,β=1.5 意味着市场上涨 10%,该股票倾向于上涨 15%;市场下跌 10%,该股票倾向于下跌 15%。

  • β < 1: 表示该股票的波动性小于市场波动,通常被认为是“防御型”股票。例如,β=0.5 意味着市场上涨 10%,该股票倾向于只上涨 5%;市场下跌 10%,该股票倾向于只下跌 5%。

  • β < 0: 表示该股票的走势与市场相反(这类股票非常罕见)。


计算公式:

最近 n 个交易日个股与基准指数的日收益率线性回归的斜率

计算细节:

  1. 时间范围:最近 n 个交易日(缺省为 252)。

  2. 数据点:每日的收益率。

    • 个股日收益率 =(当日收盘价 - 前一日收盘价) / 前一日收盘价

    • 基准指数日收益率 =(当日指数收盘价 - 前一日指数收盘价) / 前一日指数收盘价

  3. 计算方法:使用线性回归中的斜率计算。

  4. 基准指数:基准指数,缺省为沪深 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)

/调用函数计算指标

运行效果:

..