Stata实证:一键显著代码免费教程,拯救你的论文

您所在的位置:网站首页 中介效应模型控制变量怎么算出来的 Stata实证:一键显著代码免费教程,拯救你的论文

Stata实证:一键显著代码免费教程,拯救你的论文

2023-06-09 10:46| 来源: 网络整理| 查看: 265

目录 

一、写在前面

二、使用Python生成可变变量组合

三、Stata代码                                                                              

四、更进一步-寻找中介效应的控制变量

一、写在前面

!!!!!!寻找让核心变量显著的控制变量组合!!!!!!!!!

①将控制变量分为固定变量与可变变量

②固定变量即每次迭代都存在的变量。

因为根据文献需要,通常有部分控制变量不可或缺;                                                        

以下图为例,贝塔、账面市值比 机构持股比例合计为固定变量,即固定变量每次必参与迭代

Beta_MC 账面市值比B 机构持股比例合计 托宾Q值C Beta_MC 账面市值比B 机构持股比例合计 财务杠杆 Beta_MC 账面市值比B 机构持股比例合计 董事会规模 Beta_MC 账面市值比B 机构持股比例合计 ROA_A 前十大股东持股比例 Beta_MC 账面市值比B 机构持股比例合计 托宾Q值C 董事会规模 Beta_MC 账面市值比B 机构持股比例合计 财务杠杆 董事会规模 Beta_MC 账面市值比B 机构持股比例合计 董事会规模 公司规模 Beta_MC 账面市值比B 机构持股比例合计 ROA_A 前十大股东持股比例 财务杠杆 Beta_MC 账面市值比B 机构持股比例合计 ROA_A 前十大股东持股比例 董事会规模 Beta_MC 账面市值比B 机构持股比例合计 前十大股东持股比例 董事会规模 公司规模

③对可变变量进行随机组合。

n个可变变量就有2**n-1个组合,此时若将部分变量有依据的放至固定变量,也可以大大减少组合数

假如可变控制变量为"ROA_A","前十大股东持股比例","托宾Q值C","年换手率流通股数_log"  则可变变量组合有16种情况 //one ROA_A 前十大股东持股比例 托宾Q值C 年换手率流通股数_log //two ROA_A,前十大股东持股比例 ROA_A,托宾Q值C ROA_A,年换手率流通股数_log 前十大股东持股比例,托宾Q值C 前十大股东持股比例,年换手率流通股数_log 托宾Q值C,年换手率流通股数_log //three ROA_A,前十大股东持股比例,托宾Q值C ROA_A,前十大股东持股比例,年换手率流通股数_log ROA_A,托宾Q值C,年换手率流通股数_log 前十大股东持股比例,托宾Q值C,年换手率流通股数_log //four ROA_A,前十大股东持股比例,托宾Q值C,年换手率流通股数_log 二、使用Python生成可变变量组合

将print(result.replace(",/"," "))打印出来的内容复制到后面Stata代码里

import itertools from itertools import combinations s = ["Beta_MC","账面市值比B","ROA_A","前十大股东持股比例","托宾Q值C","年换手率流通股数_log","财务杠杆","董事会规模","公司规模","机构持股比例合计","ANALYST"] result = "" for myLen in range(len(s)): for eachTuple in list(combinations(s, myLen+1)): for each in eachTuple: result += each result += "," result += "/" print(result.replace(",/"," ")) 三、Stata代码                                                                              

Stata代码需要根据自己的模型来调整呀,被解释变量和解释变量得换成自己的,而且可能并不是使用双向固定效应模型,大家需要结合自己的实际情况修改一下Stata代码

此处以双向固定效应模型为例,被解释变量为股权融资成本GLS、核心解释变量为xApply

                        xtreg r_gls_1 xApply `varFixed' `eachVarList' i.year,fe r             

Stata代码如下:

①varCombination粘贴Python代码生成的可变列表组合

②qui后按所需模型命令输入即可,

③各显著水准下T值为:1.65 10%、1.96 5%、2.76 1%

④if(_se[xApply] != 0 & abs(_b[xApply]/_se[xApply]) > 1.96 ) 记得修改!

clear import excel "C:\Users\zsllsz\Desktop\实证\汇总-合并表格\panel.xlsx", sheet("Sheet1") firstrow xtset stkcd year winsor2 机构持股比例合计 ANALYST r_gls_1 Beta_MC Beta_TMV ROAResset ROA_A ROA_B ROEResset ROE_A ROE_B SYN分市场总市值平均法 SYN分市场流通市值平均法 SYN分市场等权平均法 SYN综合市场总市值平均法 SYN综合市场流通市值平均法 SYN综合市场等权平均法 r_oj_003 r_oj_005 r_oj_007 r_peg 公司规模 分市场年Beta值 前十大股东持股比例 年换手率流通股数_log 托宾Q值A 托宾Q值B 托宾Q值C 托宾Q值D 投资者情绪指数标准化剔除宏观经济因素 独立董事占比 第一大股东持股比率 综合市场年Beta值 董事会规模 董事长与总经理兼任情况 财务杠杆 账面市值比A 账面市值比B , replace cuts(1 99) trim local varFixed "Beta_MC 账面市值比B 机构持股比例合计 " local varCombination "此处粘贴Python代码生成的可变列表组合" foreach eachVarList of local varCombination{ local eachVarList:subinstr local eachVarList "," " ",all qui xtreg r_gls_1 xApply `varFixed' `eachVarList' i.year,fe r if(_se[xApply] != 0 & abs(_b[xApply]/_se[xApply]) > 1.96 ){ display "`varFixed'" "`eachVarList'" } }

  结果:代码运行结束后会在Stata窗口显示符合条件的控制变量组合

                                                                                                                                                    

四、更进一步-寻找中介效应的控制变量

参考《资产质量影响企业权益资本成本吗? - 中国知网》与温忠麟的中介效应的三步检验模型

此处:

股权融资成本GLS为被解释变量

xApply为核心解释变量

SYN分市场总市值平均法为中介变量

代码如下(运行后同样会把符合条件的控制变量打印出来):

clear import excel "C:\Users\zsllsz\Desktop\实证\汇总-合并表格\panel.xlsx", sheet("Sheet1") firstrow xtset stkcd year winsor2 机构持股比例合计 ANALYST r_gls_1 Beta_MC Beta_TMV ROAResset ROA_A ROA_B ROEResset ROE_A ROE_B SYN分市场总市值平均法 SYN分市场流通市值平均法 SYN分市场等权平均法 SYN综合市场总市值平均法 SYN综合市场流通市值平均法 SYN综合市场等权平均法 r_oj_003 r_oj_005 r_oj_007 r_peg 公司规模 分市场年Beta值 前十大股东持股比例 年换手率流通股数_log 托宾Q值A 托宾Q值B 托宾Q值C 托宾Q值D 投资者情绪指数标准化剔除宏观经济因素 独立董事占比 第一大股东持股比率 综合市场年Beta值 董事会规模 董事长与总经理兼任情况 财务杠杆 账面市值比A 账面市值比B , replace cuts(1 99) trim local varFixed "Beta_MC 账面市值比B 机构持股比例合计 " local varCombination "此处粘贴Python代码生成的可变列表组合" foreach eachVarList of local varCombination{ local eachVarList:subinstr local eachVarList "," " ",all qui xtreg r_gls_1 xApply `varFixed' `eachVarList' i.year,fe r if(_se[xApply] != 0 & abs(_b[xApply]/_se[xApply]) > 1.96 ){ qui xtreg SYN分市场总市值平均法 xApply `varFixed' `eachVarList' i.year,fe r if(_se[xApply] != 0 & abs(_b[xApply]/_se[xApply]) > 1.96){ qui xtreg r_gls_1 SYN分市场总市值平均法 xApply `varFixed' `eachVarList' i.year,fe r if(_se[xApply] != 0 & abs(_b[xApply]/_se[xApply]) > 1.96 & abs(_b[SYN分市场总市值平均法]/_se[SYN分市场总市值平均法]) > 1.96){ display in r "`varFixed'" "`eachVarList'" } } } }

                                      



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3