楼主: ylhenry
4347 4

[其他] 求Stata高手帮帮忙!!!(简单数据处理) [推广有奖]

  • 2关注
  • 0粉丝

已卖:16份资源

讲师

28%

还不是VIP/贵宾

-

威望
0
论坛币
880 个
通用积分
7.2133
学术水平
2 点
热心指数
2 点
信用等级
1 点
经验
11992 点
帖子
340
精华
0
在线时间
602 小时
注册时间
2006-4-22
最后登录
2023-11-16

楼主
ylhenry 发表于 2010-4-1 10:43:11 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
本人最近遇到如下数据处理问题,搞了好久没搞出来,只好来这里请高手帮忙了!!希望大家能帮帮我!!
数据如下:
dmjdjjjctzlxjjjzgpszgpblzcg1zcg1dmzcg1blzcg2zcg2dmzcg2blzcg3zcg3dmzcg3blzcg4zcg4dmzcg4blzcg5zcg5dmzcg5bl
1200403华夏成长13.62E+092.64E+090.7307南方航空6000290.0659中国联通6000500.0537西山煤电9830.0457宝钢股份6000190.0408兖州煤业6001880.0378
1200406华夏成长13.03E+092.26E+090.745上海机场6000090.0568南方航空6000290.0504宝钢股份6000190.0499中国石化6000280.049招商银行6000360.0472

想做的处理为:如果第一条和第二条记录中同时某一股票(zcgdm),则用第二条记录的股票对应的比率(zcgbl)减去上一条记录的比率,如第一条和第二条记录中都用代码为6000029的南方航空和代码为600019的宝钢股份,则此时用wijt记录0.0504-0.0759;  0.049-0.0408
然后生成另一张数据表:
dmjdjjjctzlxgpgpdmwijt
1200403华夏成长1南方航空600029-0.0255
1200406华夏成长1宝钢股份6000190.0082

请问上面这些数据处理如何做??拜托各位了!!!
二维码

扫码加我 拉你入群

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

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

关键词:求stata高手 Stata tata 数据处理 数据处理问题 中国联通 中国石化 西山煤电 招商银行 上海机场 数据分析专题 数据处理 数据分析软件 数据分析报告 面板数据分析 excel数据分析 数据分析方法 项目数据分析

沙发
johnayl 发表于 2010-4-3 21:17:23
the table does not have these numbers: 0.0504-0.0759;  0.049-0.0408

can you be more specific?

藤椅
voodoo 发表于 2010-4-4 00:09:22
试试:
reshape long zcg zcg@dm zcg@bl, i(dm jd) j(rank)
replace jd = yq(int(jd/100), (mod(jd,100)/3))
format jd %tq
bysort dm zcg (jd): gen wijt = zcgbl-zcgbl[_n-1] if jd - jd[_n-1]==1
keep if wijt != .
ren zcg gp
ren zcgdm gpdm
keep dm jd jjjc tzlx gp gpdm wijt
巫毒上传,必属佳品!
坛友下载,三思后行!

板凳
voodoo 发表于 2010-4-4 00:17:29
从经济的意义上说,你对数据的处理有点问题。
比如中国联通200403季度位列前五,且其zcgbl=0.0537,而下一季度则跌出前五,则根据你的思路示例,最终数据表中没有中国联通的数据。
个人认为最终数据表中应该包括中国联通的数据,但由于缺乏下一季度的zcgbl数据,其wijt的计算只能想个办法尽可能合理设定。
考虑上述因素之后的程序示例如下:

// 生成模拟数据,只包括关键变量
clear
set obs 20
gen dm = _n
expandcl = 8+floor(9*uniform()), cl(dm) gen(cl)
drop cl
sort dm
by dm: egen N = count(dm)
by dm: gen jd = tq(2008-4)-N+1 if _n==1
by dm: replace jd = jd[_n-1]+1 if _n>1
format jd %tqCCYY!Qq
drop N
// 生成随机不重复持仓股票代码
// 参见:http://www.stata.com/statalist/archive/2002-06/msg00261.html
expand 15
bysort dm jd: gen zcg = _n
gen zcgbl = 0.03+0.02*invnormal(uniform())
bysort dm jd (zcgbl): drop if _n <=10
tostring zcg, format(%06.0f) replace
bysort dm jd (zcgbl): gen rank = 6-_n
reshape wide zcg zcg@bl, i(dm jd) j(rank)
save sample, replace

// main
use sample, clear
reshape long zcg zcg@bl, i(dm jd) j(rank)
bysort dm jd (rank): keep if _n==_N
keep dm jd zcgbl
xtset dm jd
gen L_min_bl = L.zcgbl
gen F_min_bl = F.zcgbl
keep dm jd L F
save minbl, replace
use sample, clear
reshape long zcg zcg@bl, i(dm jd) j(rank)
merge dm jd using minbl
drop _merge
gen wijt = .
sort dm zcg jd
by dm zcg: gen byte stay5 = (jd-jd[_n-1]==1)   // 连续进入前五样本
replace wijt = zcgbl-zcgbl[_n-1] if stay5
by dm zcg: gen byte enter5 = (jd-jd[_n-1]!=1)  // 本季度进入前五样本
replace wijt = zcgbl-L_min_bl if enter5
by dm zcg: gen byte nexit5 = (jd-jd[_n+1]!=-1)  // 下季度退出前五样本
expand = nexit5+1, gen(exit5)
replace jd = jd+1 if exit5
replace stay5 = 0 if exit5
replace enter5 = 0 if exit5
replace wijt = zcgbl-F_min_bl if exit5
keep if wijt != .
ren zcg gp
sort dm gp jd
keep dm jd gp wijt stay5 enter5 exit5
save last, replace
巫毒上传,必属佳品!
坛友下载,三思后行!

报纸
voodoo 发表于 2010-4-5 13:57:24
ylhenry 发表于 2010-4-1 10:43
本人最近遇到如下数据处理问题,搞了好久没搞出来,只好来这里请高手帮忙了!!希望大家能帮帮我!!
数据如下:
dmjdjjjctzlxjjjzgpszgpblzcg1zcg1dmzcg1blzcg2zcg2dmzcg2blzcg3zcg3dmzcg3blzcg4zcg4dmzcg4blzcg5zcg5dmzcg5bl
1200403华夏成长13.62E+092.64E+090.7307南方航空6000290.0659中国联通6000500.0537西山煤电9830.0457宝钢股份6000190.0408兖州煤业6001880.0378
1200406华夏成长13.03E+092.26E+090.745上海机场6000090.0568南方航空6000290.0504宝钢股份6000190.0499中国石化6000280.049招商银行6000360.0472

想做的处理为:如果第一条和第二条记录中同时某一股票(zcgdm),则用第二条记录的股票对应的比率(zcgbl)减去上一条记录的比率,如第一条和第二条记录中都用代码为6000029的南方航空和代码为600019的宝钢股份,则此时用wijt记录0.0504-0.0759;  0.049-0.0408
然后生成另一张数据表:
dmjdjjjctzlxgpgpdmwijt
1200403华夏成长1南方航空600029-0.0255
1200406华夏成长1宝钢股份6000190.0082

请问上面这些数据处理如何做??拜托各位了!!!
不知3、4楼的程序运行结果如何,希望你能以附件形式贴一部分数据上来,最好能是.dta格式的。
巫毒上传,必属佳品!
坛友下载,三思后行!

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

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