如何计算Julia中的CAPM变量?

如何计算Julia中的CAPM变量?,julia,finance,Julia,Finance,在Python中,使用scipy软件包的统计信息,CAPM的变量beta,alpha,r,p,std\u err可以计算如下: beta, alpha, r_value, pvalue, std_err = stats.linregress(stock_rtn_arr, mkt_rtn_arr) 请指导我在Julia中计算上述变量。我假设您希望运行一个简单的OLS模型,在Julia中,可以使用GLM包进行拟合: julia> using GLM, DataFrame julia>

在Python中,使用scipy软件包的统计信息,CAPM的变量
beta
alpha
r
p
std\u err
可以计算如下:

beta, alpha, r_value, pvalue, std_err = stats.linregress(stock_rtn_arr, mkt_rtn_arr)

请指导我在Julia中计算上述变量。

我假设您希望运行一个简单的OLS模型,在Julia中,可以使用
GLM
包进行拟合:

julia> using GLM, DataFrame

julia> mkt_rtn_arr = randn(500); stock_rtn_arr = 0.5*mkt_rtn_arr .+ rand();

julia> df = DataFrame(mkt_rtn = mkt_rtn_arr, stock_rtn = stock_rtn_arr);

julia> linear_model = lm(@formula(stock_rtn ~ mkt_rtn), df)
StatsModels.TableRegressionModel{LinearModel{GLM.LmResp{Array{Float64,1}},GLM.DensePredChol{Float64,LinearAlgebra.Cholesky{Float64,Array{Float64,2}}}},Array{Float64,2}}

stock_rtn ~ 1 + mkt_rtn

Coefficients:
──────────────────────────────────────────────────────────────────────────────
             Estimate   Std. Error     t value  Pr(>|t|)  Lower 95%  Upper 95%
──────────────────────────────────────────────────────────────────────────────
(Intercept)  0.616791  7.80308e-18  7.90446e16    <1e-99   0.616791   0.616791
mkt_rtn      0.5       7.78767e-18  6.42041e16    <1e-99   0.5        0.5
──────────────────────────────────────────────────────────────────────────────

请注意,我使用了API来运行回归,这需要将数据放入
数据框
,我认为这是在GLM中估计线性模型的首选方法,因为它允许在指定模型时具有更大的灵活性。或者,您可以直接在数组中调用
lm(X,y)
,以获取
X
变量和
y
变量:

julia> lm([ones(length(mkt_rtn_arr)) mkt_rtn_arr], stock_rtn_arr)
LinearModel{GLM.LmResp{Array{Float64,1}},GLM.DensePredChol{Float64,LinearAlgebra.Cholesky{Float64,Array{Float64,2}}}}:

Coefficients:
─────────────────────────────────────────────────────────────────────
    Estimate   Std. Error     t value  Pr(>|t|)  Lower 95%  Upper 95%
─────────────────────────────────────────────────────────────────────
x1  0.616791  7.80308e-18  7.90446e16    <1e-99   0.616791   0.616791
x2  0.5       7.78767e-18  6.42041e16    <1e-99   0.5        0.5
─────────────────────────────────────────────────────────────────────
julia>lm([ones(长度(mkt_rtn_arr))mkt_rtn_arr],stock_rtn_arr)
线性模型{GLM.LmResp{Array{Float64,1}},GLM.DensePredChol{Float64,LinearAlgebra.Cholesky{Float64,Array{Float64,2}}}}:
系数:
─────────────────────────────────────────────────────────────────────
估计标准误差t值Pr(>t)下限95%上限95%
─────────────────────────────────────────────────────────────────────

x1 0.616791 7.80308e-18 7.90446e16我可以要求一些改进型Capmn吗?我不确定我理解你的问题吗?
julia> lm([ones(length(mkt_rtn_arr)) mkt_rtn_arr], stock_rtn_arr)
LinearModel{GLM.LmResp{Array{Float64,1}},GLM.DensePredChol{Float64,LinearAlgebra.Cholesky{Float64,Array{Float64,2}}}}:

Coefficients:
─────────────────────────────────────────────────────────────────────
    Estimate   Std. Error     t value  Pr(>|t|)  Lower 95%  Upper 95%
─────────────────────────────────────────────────────────────────────
x1  0.616791  7.80308e-18  7.90446e16    <1e-99   0.616791   0.616791
x2  0.5       7.78767e-18  6.42041e16    <1e-99   0.5        0.5
─────────────────────────────────────────────────────────────────────