资源预览内容
第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
第9页 / 共23页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Post命令 Stata数据整理的法宝 Dr. Chuntao Lee 中南财经XX大学 post=邮政 给邮件系统取个名字 所有的邮件都寄往同一个地址 所有邮件的内容格式都是相同的 Mypost D:/春涛教程/post/mypost.dta (station) (time) (temperature) post 工作过程 第一步:定义邮件,设定接收地址 D:/春涛教程/post/mypost.dta空文件 文件包含了哪些变量 每个变量的存储格式是什么 postfile mypost str16 station / str10 arrive_time temperature / using D:/春涛教程/post/mypost.dta, replace post 工作过程 寄出去一封邮件 按照什么格式寄出去邮件? 寄到哪一个地址? 利用邮件名调用我们定义的邮件系统 post mypost (武汉武汉) (10:17) (5.7) post mypost (“武汉“) (“10:17“) (5.7) post 工作过程 再寄出去一封邮件 post mypost (“郑州“) (“11:17“) (3.7) post 工作过程 关闭邮件系统 postclose mypost post 工作过程 postfile mypost str16 station / str10 arrive_time temperature / using D:/春涛教程/post/mypost.dta, replace post mypost (“武汉“) (“10:17“) (5.7) post mypost (“郑州“) (“11:17“) (3.7) post mypost (“北京“) (“14:16“) (-3.7) postclose mypost use D:/春涛教程/post/mypost.dta, clear post 工作过程 capture postclose mypost postfile mypost str16 station / str10 arrive_time temperature / using D:/春涛教程/post/mypost.dta, replace post mypost (“武汉“) (“10:17“) (5.7) post mypost (“郑州“) (“11:17“) (3.7) post mypost (“北京“) (“14:16“) (-3.7) postclose mypost use D:/春涛教程/post/mypost.dta, clear Post and Postfile 通过post命令,Stata将一个循环过程的 中间计算结果作为一行观测值,输出 并追加到一个外部文件中。 用途 计算每只股票每年的Beta 计算每只股票每年的同步性 为每一个民营公司找一个国有上市公司做 对照组研究 Hypothetical Example capture postclose mypost postfile mypost obs_id str10 date / str10 time ran_number / using D:/春涛教程/post/mypost.dta, replace forval i = 1(1) 10 local sysdate = c(current_date) local systime = c(current_time) local myrand = uniform() post mypost (i) (“sysdate“) (“systime“) (myrand) sleep 2000 postclose mypost use D:/春涛教程/post/mypost.dta, clear Example 2 股本变更数据 股本变更数据 每当出现股本数量变化的时 候,国泰安才增加一条股本 数量记录 深发展2010年5月8日有股本 变更 我们的研究需要知道年末的 总股数Nshrttl 我们需要的是一个每年每家 公司一条记录的公司-年度面 板数据 把每年最后一次股本变更后 的数据保留下来,作为当年 的年末股本 如果当年没有变更,则用上 一年的数据;如果上一年也 没有,则用上上一年的数据 编程思路 假定我们只关心总股数 假定我们只关心某一家公司的数据 股本变更数据 Stkcd Shrchgdt Nshrttl 600991 2009-11-13 520871390 600991 2009-05-18 520871390 600991 2008-08-25 404670300 600991 2008-02-25 403670300 600991 2007-07-27 402670300 600991 2006-07-27 401670300 600991 2004-06-14 400670300 Year Nshrttl 2009 520871390 2008 404670300 2007 402670300 2006 401670300 2005 400670300 2004 400670300 2009年12月31 日之前最后一个 观测值 2005.12.31 或 2004.12.31前最后一个股本变更记录 股本变更数据 forval year = 2009 (-1) 2004 qui keep if year= year gsort -date local stkcd =stkcd1 local share = nshrttl1 post share_change (stkcd) (year) (share) 股本变更数据 读入股本变更的原始数据 定义post 对每只股票重复上面的过程 读入原始数据 local global= “d:/春涛教程/股本变更” clear all set more off insheet using $path/股本变更.txt keep stkcd shrchgdt nshrttl nshra egen firm_id = group(stkcd) qui sum firm_id local FIRM = r(max) gen date = date(shrchgdt,“YMD“) gen year = year(date) sort stkcd date by stkcd: egen min_year = min(year) 读入原始数据 global path = “d:/春涛教程/股本变更“ clear all set more off import excel $path/股本变更.xls, firstrow case(lower) clear keep stkcd shrchgdt nshrttl nshra egen firm_id = group(stkcd) qui sum firm_id local FIRM = r(max) gen date = date(shrchgdt,“YMD“) gen year = year(date) sort stkcd date by stkcd: egen min_year = min(year) 定义post capture postclose share_change postfile share_change stkcd year share / a_share using $path/年末股本, replace 循环post forval firm = 1(1) FIRM qui drop if firm_idfirm preserve qui keep if firm_id =firm local min_year = min_year1 forval year = 2012 (-1) min_year qui keep if year2009, s(N mean sd min median max ) by(year) c(s)
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号