全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 悬赏大厅
883 7
2023-06-13
悬赏 50 个论坛币 未解决
求求大家了,求个多因子的Garch-Midas实现代码,孩子毕业急着用
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2023-6-13 19:21:41
xuewutan0 发表于 2023-6-13 18:50
求求大家了,求个多因子的Garch-Midas实现代码,孩子毕业急着用
私聊联系我
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-6-16 13:04:58
import numpy as np
import pandas as pd
import statsmodels.api as sm
from import arch_model

# 定义GARCH-MIDAS模型
def garch_midas(y, x, lags, p, q):
    # 计算MIDAS权重
    w = np.zeros((lags, p))
    for i in range(lags):
        for j in range(p):
            w[i, j] = (i + 1) **
        w[i, :] = w[i, :] / np.sum(w[i, :])
    # 计算MIDAS变量
    x_midas = np.zeros((len(x) - lags, p))
    for i in range(lags, len(x)):
        for j in range(p):
            x_midas[i - lags, j] = np.sum(x[i - lags:i, j] * w[:, j])
    # 拟合GARCH模型
    model = arch_model(y, x=x_midas, mean='', vol='GARCH', p=p, q=q)
    result = model.fit(disp='off')
    return result

# 读取数据
data = pd.read_csv('data.csv', index_col=0)
y = data['y']
x = data[['x1', 'x2', 'x3']]
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-6-16 13:05:28
在上述代码中,y表示因变量,x表示多个自变量,lags表示MIDAS模型中的滞后期数,p和q分别表示GARCH模型中的ARCH和GARCH阶数。garch_midas函数用于计算MIDAS权重和MIDAS变量,并拟合GARCH模型。最后,使用result.summary()输出模型拟合结果。
需要注意的是,上述仅供参考,实际应用中需要根据具体情况进行调整和优化。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-6-16 13:05:59
import numpy as np
import pandas as pd
import statsmodels.api as sm
from import arch_model

# 定义GARCH-MIDAS模型
def garch_midas(y, x, lags, p, q):
    # 计算MIDAS权重
    w = np.zeros((lags, p))
    for i in range(lags):
        for j in range(p):
            w[i, j] = (i + 1) **
        w[i, :] = w[i, :] / np.sum(w[i, :])
    # 计算MIDAS变量
    x_midas = np.zeros((len(x) - lags, p))
    for i in range(lags, len(x)):
        for j in range(p):
            x_midas[i - lags, j] = np.sum(x[i - lags:i, j] * w[:, j])
    # 拟合GARCH模型
    model = arch_model(y, x=x_midas, mean='', vol='GARCH', p=p, q=q)
    result = model.fit(disp='off')
    return result

# 读取数据
data = pd.read_csv('data.csv', index_col=0)
y = data['y']
x = data[['x1', 'x2', 'x3']]
lags = 12
p = 1
q = 1

# 拟合GARCH-MIDAS模型
result = garch_midas(y, x, lags, p, q)

# 输出结果
print(result.summary())
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-6-16 13:16:06
我发了代码 可是没有显示?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群