楼主: xuewutan0
687 7

[统计软件与数据分析] 求 Garch-Midas r或python代码 [推广有奖]

  • 1关注
  • 0粉丝

小学生

92%

还不是VIP/贵宾

-

威望
0
论坛币
823 个
通用积分
2.8931
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
195 点
帖子
6
精华
0
在线时间
16 小时
注册时间
2017-4-26
最后登录
2024-4-19

50论坛币
求求大家了,求个多因子的Garch-Midas实现代码,孩子毕业急着用

关键词:garch-m python GARCH MIDAS ARCH GARCH MIDAS garch-midas
沙发
oopp0099 发表于 2023-6-13 19:21:41 来自手机 |只看作者 |坛友微信交流群
xuewutan0 发表于 2023-6-13 18:50
求求大家了,求个多因子的Garch-Midas实现代码,孩子毕业急着用
私聊联系我

使用道具

藤椅
phonlee 发表于 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']]

使用道具

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

使用道具

报纸
phonlee 发表于 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())

使用道具

地板
phonlee 发表于 2023-6-16 13:16:06 |只看作者 |坛友微信交流群
我发了代码 可是没有显示?

使用道具

7
phonlee 发表于 2023-6-16 13:16:25 |只看作者 |坛友微信交流群
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())

使用道具

8
五四. 发表于 2023-6-23 20:11:01 |只看作者 |坛友微信交流群
phonlee 发表于 2023-6-16 13:04
import numpy as np
import pandas as pd
import statsmodels.api as sm
请问一下这是哪个软件的代码呀

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-12 09:31