Introduction
功能介绍
分位数 Granger 因果检验:计算各分位区间 Sup-Wald 统计量。
分位数 VAR 模型估计:自回归分布滞后模型
脉冲响应函数计算
各分位点脉冲图绘制
代码实现原理
使用pyqt5生成 GUI 界面
使用statsmodels进行分位数回归
使用pandas将结果保存在 excel 文件
Display
主窗口界面
主要包括:
工具栏:
导入数据:点击该按钮,选择路径导入数据,如没有导入数据,默认导入测试数据
开始运行:点击后进行分位数 Granger 因果检验,计算 Sup-wald 统计量
终止运行:点击后终止程序
查看数据:点击查看导入数据
初始化:点击后初始化各参数设定
QVAR 估计:点击后进行 QVAR 模型参数设定
区间设定:区间起点、中点、个数设定以及生成区间按钮
注意:个数是点的个数,比如设定 17 个,则会生成 16 个分位区间
例子:
起点=0.1,终点=0.9,个数=2,则会生成区间:[0.1, 0.9]
起点=0.1,终点=0.9,个数=3,则会生成区间:[0.1, 0.5]、[0.5, 0.9]
参数设定
日期:勾选表示第一列为日期序列,在进行计算 wald 统计量时会将其删除;若取消勾选,则不会删除第一列数据
模式设定:代表循环模式,默认模式为单因素对各市场
注意:数据要根据模式进行相应的排序
假定 p=1,q=2,估计方程形式则为:Y=c1+c2Y-1+c3X-1+c4X-2
模式选择
内容说明
数据排序
计算规则描述
单因素对各市场
研究单一因素对各市场的因果关系,比如房价对股票,汇率市场的因果关系
data=[X,Y1,Y2,Y3]
X 对 Y1回归;X 对 Y2回归;X 对 Y3回归
相互影响
研究两因素之间的因果关系,比如房价与股票,汇率市场的相互因果关系
data=[X,Y1,Y2,Y3]
X 对 Y1回归;X 对 Y2回归;X 对 Y3回归;Y1对 X 回归;Y1对 Y2回归;Y1对 Y3回归;.........
多因素对单市场
研究多因素对单个市场的因果关系,比如各情绪对汇率市场的因果关系
data=[X1,X2,X3,Y]
X1对 Y 回归,X2对 Y 回归;X3对 Y 回归
信息准则:表示确定最优滞后阶数所选用的信息准则,包括 AIC 或 BIC 准则
AIC(p, q) = lnS(θ) + (p+q+1)/T
BIC(p, q) = lnS(θ) + (p+q+1)×lnT/(2T)
其中 S(θ)表示分位数非对称绝对值残差和,T 为样本容量,p,q 均为滞后阶数。
滞后估计数:计算最优滞后阶数时,需要分区间计算 AIC/BIC 值,选取该区间最小 AIC/BIC 值所对应的滞后阶数,则为最优滞后阶数。该参数是设定在整个分位区间选择计算的分位点个数,默认选取 30 个点
最大阶数:表示选取的最大滞后阶数,默认选取 5 阶
wald 估计数:计算 wald 统计量时,在分位区间选择计算的分位点个数,默认选取 1000 个点
有效数字:表示保留的小数点位数,默认保留三位小数
输出日志:勾选后输出运行细节.txt文件,默认勾选
估计信息显示:展示运行信息
QVAR 估计界面
工具栏:
开始运行:点击后进行 QVAR 模型估计
绘制脉冲图:点击计算各分位点脉冲响应示意图
导入数据:如需增加控制变量,则需点击该按钮导入控制变量数据集
滞后阶数
p:被解释变量 y 的滞后阶数
q:解释变量 x 的滞后阶数
分位点:默认选取 5 个分位点[0.1, 0.25, 0.5, 0.75, 0.9]
√:点击增加分位点
×:点击减少分位点
注意:最多计算 10 个分位点
控制变量:加入控制变量的回归公式
信息显示:显示提示信息
Usage
第一步:在当前路径下的命令行输入:
python main.py
提示:在当前文件夹中,右键点击 cmd 或者 shell 打开命令行
第二步:点击导入数据按钮
输入成功的话,会有导入成功的提示
第三步:设定各参数
第四步:点击开始运行按钮,等待程序运行结束,结果保存在运行结果文件夹下的Granger.xlsx文件内
注:***、**、* 分别代表 1%、5%、10% 显著水平
项目目录
|-- Quantile
|-- beauty_UI.py // 美化 GUI 界面代码
|-- func.py // 主函数代码,定义分位数 Granger 因果检验计算
|-- main.py // 主程序
|-- README.md // 说明文件
|-- data // 数据保存文件夹
| |-- output.xlsx // 测试产生的结果文件
| |-- Sup_wald_lag.xlsx // 检验 Sup_wald 显著性文件
| |-- 测试数据.xlsx // 可以使用该文件进行测试,查看结果
| |-- 运行细节.txt // 测试日志
|-- pyqt5 界面 // 使用 Qt Creator 建立窗口产生的文件
| |-- GUI // 主窗口
| |-- child_GUI // 子窗口
|-- 运行结果 // 运行结果存储文件夹
代码主体为main.py与func.py文件
估计原理
使用函数介绍
使用statsmodels库进行分位数回归命令:
使用 R 型公式来拟合模型
formula
说明
示例
~
分隔符,左边为响应变量,右边为解释变量
y ~ x
+
添加变量
y ~ x1 + x2
-
移除变量
y ~ x - 1(移除截距)
参数命令
属性
说明
方法
说明
res.params
获取估计参数值
res.summary()
展示估计结果
res.bse
获取标准差
res.cov_params()
获取协方差矩阵
res.resid
获取残差
res.f_test("x2 = 0")
Wald 检验
分位数 Granger 因果检验实现原理
Development Tool
工具名
功能
图标 icon
官网下载
Qt Creator
GUI 界面可视化
PyCharm
代码编辑器
Visual Studio Code
代码阅读器
reference
书籍:
《Python Qt GUI 与数据可视化编程》
《陈强高级计量经济学》
文献:
Koenker & Machado1999 Inference QuantileReg
Asymmetric Least Squares Estimation and Testing
Tests-for-Parameter-Instability-and-Structural-Change-With-Unknown-Change-Point
房地产价格与汇率的联动关系研究———基于分位数 Granger 因果检验法
基于分位数 Granger 因果的网络情绪与股市收益关系研究
其他:
Eviews 8 帮助文件
张晓峒分位数回归讲义
License
MIT © 热心市民石头
python分位数回归模型_GitHub - lei940324/Quantile: 介绍分位数回归 包括分位数Granger因果检验 QVAR及脉冲响应函数...