You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用R线性回归计算金融Beta与Theta(时间衰减)及结果解读

回归系数解读与百分比变动系数计算

一、现有系数的解读

你的理解完全正确:

  • priceA的系数(0.1959)就是你定义的Beta:在保持months_past不变的前提下,priceA每增加1个单位,priceY平均上涨0.1959个单位。
  • months_past的系数(-56.2)就是你定义的Theta:在保持priceA不变的前提下,每经过1个月,priceY平均下跌56.2个单位。
    两个变量的Pr(>|t|)值都远小于0.05,说明系数的统计显著性很高。

二、计算priceA上涨1%时priceY的变动系数

要得到priceA变动1%对应的priceY变动幅度,有两种常用方法:

方法1:对数变换后回归

这是最直接的方式,对priceA和priceY取对数后做回归,此时log(priceA)的系数就是弹性系数,可直接解读为:priceA上涨1%,priceY平均上涨约Z%(变动幅度较小时近似度极高)。

R代码示例:

# 对priceY和priceA取自然对数后回归
lmS9_log = lm(log(priceY) ~ months_past + log(priceA), data = S9)
summary(lmS9_log)

查看结果中log(priceA)的Estimate值,就是你需要的Z。

方法2:利用现有回归结果计算点弹性

如果不想重新拟合模型,可以结合现有Beta系数和变量均值计算点弹性,它表示在变量均值水平上的百分比变动关系:
公式:弹性 = Beta * (priceA均值 / priceY均值)

R代码示例:

# 计算变量均值(忽略缺失值)
mean_priceA = mean(S9$priceA, na.rm = TRUE)
mean_priceY = mean(S9$priceY, na.rm = TRUE)

# 提取现有回归的Beta系数
beta_coef = coef(lmS9)["priceA"]

# 计算弹性
price_elasticity = beta_coef * (mean_priceA / mean_priceY)
print(price_elasticity)

输出的数值就是在均值水平下,priceA上涨1%时priceY上涨的百分比。


内容的提问来源于stack exchange,提问作者Nick Chubb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 02:30:50