楼主: arthurwxo
10269 10

[数据管理求助] 请教:如何在STATA中一次提取多个回归的相关系数,并创建关于相关系数的新变量 [推广有奖]

  • 3关注
  • 1粉丝

讲师

22%

还不是VIP/贵宾

-

威望
0
论坛币
467 个
通用积分
4.7699
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
61638 点
帖子
123
精华
0
在线时间
798 小时
注册时间
2009-6-1
最后登录
2022-12-20

楼主
arthurwxo 发表于 2016-12-2 07:53:29 |AI写论文
10论坛币
如题:如何在STATA中一次提取多个回归的相关系数,并创建关于相关系数的新变量?
请教各位大神:
想研究25个Portfolio的Excess return 和某个变量的关系, 用loop 跑了25个回归, 但是,怎么把这25个回归的相关系数存下来并成为一个新的变量呢?
(小的不才, 试图用了下边的命令,但是解决不了我的问题,先谢过各位大神。


  1. foreach var of varlist p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25{
  2.         reg `var' q4_q4, robust
  3.                 foreach var of varlist beta1 beta2 beta3 beta4 beta5 beta6 beta7 beta8 beta9 beta10 beta11 beta12 beta13 beta14 beta15 beta16 beta17 beta18 beta19 beta20 beta21 beta22 beta23 beta24 beta25{
  4.                 replace `var' =_b[q4_q4]
  5.                 }
  6.         }
复制代码



关键词:Stata 相关系数 tata 新变量 Portfolio 如何
Yesterday is  HISTORY/Tomorrow is a MYSTERY/Only today is a GIFT/So th

沙发
austen06 发表于 2016-12-2 07:53:30
  1. foreach var of varlist p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25{
  2.         reg `var' q4_q4, robust
  3.         mat coef_temp = e(b)
  4.         mat coef = nullmat(coef)\coef_temp
  5. }

  6. mat list coef
  7. svmat coef, names(col)
复制代码
已有 4 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
啊啊悄无声息 + 1 + 1 + 1 观点有启发
夏目贵志 + 10 + 1 热心帮助其他会员
arthurwxo + 5 精彩帖子
admin_kefu + 20 热心帮助其他会员

总评分: 经验 + 10  论坛币 + 25  学术水平 + 2  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
arthurwxo 发表于 2016-12-2 22:56:52
austen06 发表于 2016-12-2 07:53
太感谢了!!!

板凳
arthurwxo 发表于 2016-12-3 05:52:46
austen06 发表于 2016-12-2 07:53
还想向您请教个问题, 我按照您的方法,做出来了想要的相关系数的变量, 后边第二次用同样的命令,求p1-p25 对这个相关系数的回归也没有问题, 但是提取出的新的相关系数依旧是第一次的, 求指点!非常感谢!

报纸
austen06 发表于 2016-12-3 09:37:43
arthurwxo 发表于 2016-12-3 05:52
还想向您请教个问题, 我按照您的方法,做出来了想要的相关系数的变量, 后边第二次用同样的命令,求p1-p ...
"后边第二次用同样的命令,求p1-p25 对这个相关系数的回归也没有问题"这个是什么意思?我需要更具体一点的描述。

地板
arthurwxo 发表于 2016-12-3 19:44:34
austen06 发表于 2016-12-3 09:37
"后边第二次用同样的命令,求p1-p25 对这个相关系数的回归也没有问题"这个是什么意思?我需要更具体一点的 ...
foreach var of varlist p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25{
        reg `var' beta, robust
        mat coef_tem=e(b)
        mat coef= nullmat(coef)\coef_temp
        }

mat list coef
svmat coef, names(eqcol)


就是我用同样的方法, 换了自变量, 然后,这次就保存的coeff 还是上一次回归的结果

7
austen06 发表于 2016-12-4 03:52:24
arthurwxo 发表于 2016-12-3 19:44
foreach var of varlist p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21  ...
就是把beta换成其他的自变量然后重复这一过程?如果这样的话,再第一次运行结束之后,输入 capture mat drop coef 把原先的coef矩阵清空, 然后再运行那段code,那么得出来的就是新的自变量。需要注意是,需要把之前生成的变量改名,或者你在names() 里自行定义第二次生成的变量的名称。
已有 1 人评分论坛币 收起 理由
arthurwxo + 5 热心帮助其他会员

总评分: 论坛币 + 5   查看全部评分

8
arthurwxo 发表于 2016-12-5 03:21:08
austen06 发表于 2016-12-4 03:52
就是把beta换成其他的自变量然后重复这一过程?如果这样的话,再第一次运行结束之后,输入 capture mat d ...
啊, 明白了, 非常感谢!!之前的方法会把原来的也一起保留下来,再次感谢!

9
啊啊悄无声息 发表于 2017-7-25 22:30:42
austen06 发表于 2016-12-2 07:53
您好,如果要提取常数项应该怎么做呢?

10
啊啊悄无声息 发表于 2017-7-25 22:31:34
请问楼主如果要提取常数项作为变量应该怎么做呢?

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-30 17:34