楼主: 黃河泉
22990 96

[学习心得] (可能几乎最快之)股票崩盘危机指标之指令 (III)   [推广有奖]

大师

52%

还不是VIP/贵宾

-

威望
3
论坛币
34526 个
通用积分
55920.0521
学术水平
3538 点
热心指数
3699 点
信用等级
2922 点
经验
308767 点
帖子
14507
精华
12
在线时间
7397 小时
注册时间
2016-7-9
最后登录
2024-5-5

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
最后是 (ssc install) asreg (这个最快):
  1. set rmsg on

  2. cap log close
  3. log using "cr_asreg.log", replace

  4. clear
  5. set seed 123

  6. // 2000 firms
  7. set obs 2000
  8. gen long id = _n

  9. // 18 years
  10. expand 18
  11. bys id: gen year = 1999 + _n

  12. // 250 daily / 50 weekly observations
  13. expand 50

  14. gen ri = runiform()
  15. gen rm = runiform()

  16. bys id (year): gen t = _n
  17. xtset id t

  18. gen L1rm = L1.rm
  19. gen L2rm = L2.rm
  20. gen F1rm = F1.rm
  21. gen F2rm = F2.rm

  22. // asreg
  23. bys id year: asreg ri L2rm L1rm rm F1rm F2rm, fit
  24. ren _residuals e_asreg

  25. // firm-specific returns
  26. gen W = ln(1+e_asreg)

  27. // de-mean
  28. bys id year: egen W_mean = mean(W)
  29. replace W = W - W_mean

  30. * CRASH & CRASH_count
  31. bys id year: egen W_sd = sd(W)
  32. gen W_norm = (W-W_mean)/W_sd

  33. gen crash_week = 1 if W_norm <= -3.2
  34. replace crash_week = 0 if crash_week ==.

  35. bys id year: egen crash_count = total(crash_week)
  36. gen crash = 1 if crash_count != 0
  37. replace crash = 0 if crash_count == 0

  38. * NCSKEW
  39. gen W2 = W^2
  40. gen W3 = W^3
  41. bys id year: egen TW2 = total(W2)
  42. bys id year: egen TW3 = total(W3)
  43. bys id year: gen n = _N
  44. gen ncskew = -(TW3*n*(n-1)^1.5)/((n-1)*(n-2)*(TW2)^1.5)

  45. * DUVOL
  46. gen down = 0
  47. replace down = 1 if W < 0
  48. bys id year: egen down_sd = sd(W) if down == 1
  49. bys id year: egen up_sd = sd(W) if down == 0

  50. * ALL
  51. collapse ncskew down_sd up_sd, by(id year)
  52. gen duvol = ln(down_sd/up_sd)
  53. drop down_sd up_sd

  54. save "cr_asreg.dta", replace

  55. sum

  56. log close
复制代码


二维码

扫码加我 拉你入群

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

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

关键词:III observations observation Residuals Residual

已有 5 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
潇潇木枼 + 1 + 1 + 1 精彩帖子
fin-qq + 80 精彩帖子
Stakiny + 2 + 2 + 2 精彩帖子
葫芦娃大王 + 10 + 10 精彩帖子
sakiny136 + 2 + 2 + 2 精彩帖子

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

本帖被以下文库推荐

谢谢老师,回头试试看,一直用forvalues,得跑很长时间。

使用道具

藤椅
黃河泉 在职认证  发表于 2018-8-12 15:20:20 |只看作者 |坛友微信交流群
机智的小球球IU 发表于 2018-8-12 14:12
谢谢老师,回头试试看,一直用forvalues,得跑很长时间。
没错,你实在不应该用 forvalues/foreach 等指令来计算大量统计量!

使用道具

黃河泉 发表于 2018-8-12 15:20
没错,你实在不应该用 forvalues/foreach 等指令来计算大量统计量!
嗯嗯,谢谢老师share的命令。

使用道具

报纸
静心品茶 发表于 2018-8-13 12:06:54 |只看作者 |坛友微信交流群
谢谢老师分享命令

使用道具

地板
1150975670 发表于 2018-8-14 23:32:08 来自手机 |只看作者 |坛友微信交流群
黃河泉 发表于 2018-8-12 10:55
最后是 (ssc install) asreg (这个最快):
老师,请问这三个命令跑出来的结果是一样的吗?

使用道具

7
黃河泉 在职认证  发表于 2018-8-15 07:20:08 |只看作者 |坛友微信交流群
1150975670 发表于 2018-8-14 23:32
老师,请问这三个命令跑出来的结果是一样的吗?
你可以试试,应该是一样的!

使用道具

8
y15755078767 学生认证  发表于 2018-10-8 21:13:59 |只看作者 |坛友微信交流群
老师,asreg命令中的斜率提取应该怎么操作啊?

使用道具

9
黃河泉 在职认证  发表于 2018-10-9 06:36:13 |只看作者 |坛友微信交流群
y15755078767 发表于 2018-10-8 21:13
老师,asreg命令中的斜率提取应该怎么操作啊?
请具体说明你的问题!

使用道具

10
fin-qq 发表于 2018-10-12 08:45:25 |只看作者 |坛友微信交流群
谢谢分享

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

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

GMT+8, 2024-5-10 00:44