资源描述
第八章第八章 COMPUSTATResdat样本数据:SAS论坛:l 同同CRSP一样,一样,COMPUSTAT数据库是被无数数据库是被无数研究者广泛使用的著名金融数据库。标准普尔研究者广泛使用的著名金融数据库。标准普尔COMPUTSTAT提供北美和全世界大多数公众持提供北美和全世界大多数公众持股公司的年度和季度利润表、资产负债表、现金股公司的年度和季度利润表、资产负债表、现金流量表及补充资料,该数据库包括北美数据库流量表及补充资料,该数据库包括北美数据库(COMPUTSTAT North America)和全球数据)和全球数据库(库(COMPUTSTAT Global),提供了),提供了10,000多多家现存公司和家现存公司和9,400多家已不存在公司的利润表、多家已不存在公司的利润表、资产负债表和现金流量表等相关资产负债表和现金流量表等相关340多个年度数据多个年度数据项和项和120多个季度数据项。多个季度数据项。l COMPUTSTAT里有多种类别的文件:一是里有多种类别的文件:一是实业与银行业;二是实业文件与实业与银行业;二是实业文件与PDE(Price,Dividend and Earnings,价格、红利和收益);,价格、红利和收益);三是美国公司与加拿大公司;四是年度数据与季三是美国公司与加拿大公司;四是年度数据与季度数据;五是历史数据与研究数据、现存与已不度数据;五是历史数据与研究数据、现存与已不存在公司和其它类似文件。存在公司和其它类似文件。1.1 工业年度数据工业年度数据l 很多用户频繁地搜索很多用户频繁地搜索COMPUSTAT的的3个数据个数据库(工业文件、研究文件与总文件)想找到某家库(工业文件、研究文件与总文件)想找到某家公司的数据。在公司的数据。在WRDS里,里,COMPANN和和COMPQTR SAS数据集是所有总文件、第一文件、数据集是所有总文件、第一文件、第二文件、研究文件、历史数据文件的组合。第二文件、研究文件、历史数据文件的组合。COMPANN和和COMPQTR中的每一个中的每一个GVKEY都都与一个有股票在某大型交易所交易的公司相关联。与一个有股票在某大型交易所交易的公司相关联。但是这些股票也许在不同年份中属于不同交易所,但是这些股票也许在不同年份中属于不同交易所,而而Comp数据集不能完全确定股票如何从一个交数据集不能完全确定股票如何从一个交易所转到另一个交易所。易所转到另一个交易所。1.1.1 数据内容数据内容l 行业年数据结构的主要变量名称,类型,长度及含义行业年数据结构的主要变量名称,类型,长度及含义如下表所示。如下表所示。变量变量类型类型 长度长度说明说明AFTNT1 字符字符 25销售(净额)(销售(净额)(DATA12)AFTNT2 字符字符 26销售费用(销售费用(DATA41)AFTNT3 字符字符 27研发费用(研发费用(DATA46).1.1.2 数据查询及应用数据查询及应用l例例 展示行业年组合文件的观测展示行业年组合文件的观测 libname comp/wrds/compustat/sasdata;data temp;set pann(obs=10);keep gvkey yeara date fyr data1-data4;proc print;run;l例例 财政年度与日历年财政年度与日历年 有时候读者拥有的数据,如股票数据,是基有时候读者拥有的数据,如股票数据,是基于日历年(月)的,但于日历年(月)的,但COMPUTSTAT数据是基数据是基于财政年度(季度数据用财政季度),如何才能于财政年度(季度数据用财政季度),如何才能将将COMPUSTAT基于财政年度数据转变成正确的基于财政年度数据转变成正确的日历年月呢?这时候就需要将日历年股票数据和日历年月呢?这时候就需要将日历年股票数据和COMPUSTAT工业数据加以合并工业数据加以合并 l 从从COMPUSTAT基于财政年度的工业数据生基于财政年度的工业数据生成日历日期,关键就在于成日历日期,关键就在于FYR变量(财年年度末变量(财年年度末月份(最后一个月)及其与财年年度的(变量月份(最后一个月)及其与财年年度的(变量YEAR)关系。根据)关系。根据COMPUSTAT用户指南用户指南(COMPUSTAT Users Guide)第五章中的)第五章中的FYR条款,如果一个公司会计年度在条款,如果一个公司会计年度在1月到月到5月截至月截至(FYR=1到到5),那么变量),那么变量YEAR实际被设为上实际被设为上一年值(也就是,如果一个会计年度在一年值(也就是,如果一个会计年度在2001年年5月月31日截止,日截止,YEAR就被设为就被设为2000)。如果)。如果FYR等于等于6到到12之间时,财年和日历年相同。由此不难之间时,财年和日历年相同。由此不难为为COMPUSTAT年数据生成日历年月。年数据生成日历年月。/*Calendar month for last month of accounting year*/calmonth=fyr;if(1=fyr=5)then calyear=year+1;else calyear=year;l例例 分股与调整分股与调整有一个经常被问起的问题是,有一个经常被问起的问题是,COMPUSTAT数据,如价格、流通股数、数据,如价格、流通股数、及所有以每股为基准的数据项是否会因分及所有以每股为基准的数据项是否会因分股股(stock split)而进行调整。例如,假设而进行调整。例如,假设Dell公司在公司在1998年进行了一次分股,年进行了一次分股,COMPUSTAT会不会调整会不会调整1998年以前如年以前如1997年的数据。年的数据。COMPUSTAT包含包含DATA199(财年收盘价)的(财年收盘价)的DELL数据若干条数据若干条 IpermgvkeyyearanpermnoSMBLFYRDATA24DATA25DATA1991108114489198811081DELL11018.659.51108114489198911081DELL15.518.794.6251108114489199011081DELL118.519.3522.6251108114489199111081DELL125.62523.8731.8751108114489199211081DELL14836.8646.251108114489199311081DELL122.62537.93221108114489199411081DELL14139.6842.6251108114489199511081DELL134.62593.4527.3751108114489199611081DELL153.125173.0566.1251108114489199711081DELL18432299.437l 正确答案是正确答案是CRSP和和COMPUSTAT的价格都的价格都未调整,但收益进行了调整。这里有两个问题。未调整,但收益进行了调整。这里有两个问题。首先,如何以数据来确定以上结论正确与否;其首先,如何以数据来确定以上结论正确与否;其次,如何从未调整价格得到调整后的价格和收益。次,如何从未调整价格得到调整后的价格和收益。以下以下SAS程序可被用来从程序可被用来从CRSP数据库提取数据数据库提取数据以回答上述问题。以回答上述问题。options nosource nodate nocenter nonumber ps=max ls=72;libname crsp/wrds/crsp/sasdata;data temp;set crsp.dsf(obs=5000);where permno=11081;prc_adj=prc/cfacpr;ret1=(prc-lag(prc)/lag(prc);ret2=(prc_adj-lag(prc_adj)/lag(prc_adj);keep permno date cfacpr prc ret prc_adj ret1 ret2;data temp2;set temp;format ret ret1 ret2 prc_adj 7.4;if cfacpr=lag(cfacpr);proc print data=temp2(obs=20);run;proc sql;create table final asselect temp.*from temp,temp2where temp.permno=temp2.permno and(temp.date-3=temp2.date=temp.date+3);quit;data final;set final;format prc_adj ret ret1 ret2 7.4 diff1 diff2 e8.4;diff1=ret1-ret;diff2=ret2-ret;proc print;var permno date prc cfacpr prc_adj ret ret1 ret2;run;调整后的价格和调整后的价格和2类收益结果类收益结果 PERMNODATEPRCRETCfacprprc_adjret1ret211081198806229.75P960.1016110811992041025.625-0.0081 640.4004-0.3387-0.0081110811995103045.750.0167321.4297-0.49170.0167110811996120960.3750.0639163.7734-0.46810.0639110811997072878.875-0.0322 89.8594-0.5161-0.0322110811998030963.125-0.0884 415.7813-0.5442-0.0884110811998090859.93750.0947229.9688-0.45260.0947110811999030845.3750.0545145.375-0.47280.0545l 值得注意的是值得注意的是ret1和和ret2的定义,的定义,Ret1是从是从价格直接得来的收益:价格直接得来的收益:ret1=(prc-lag(prc)/lag(prc),而,而ret2是从调整后价格得到的真实收益,是从调整后价格得到的真实收益,ret2=(prc_adj-lag(prc_adj)/lag(prc_adj)。从。从上表可以看出上表可以看出RET2是与是与RET相同,而相同,而RET1 与与RET相差巨大。相差巨大。l 可以从下表看出,可以从下表看出,CRSP收益数据与所估计收益数据与所估计的收益相差很小。的收益相差很小。PERMNODATEPRCRETcfacprprc_adjret1ret2diff1diff211081198806229.75P960.101611081198806239.625-0.0128960.1003-0.0128-0.01281.70E-101.70E-1011081198806249.8750.026960.10290.0260.0262.40E-112.40E-11110811992040736.375-0.0583960.3789-0.0583-0.05835.40E-105.40E-10110811992040837.3750.0275960.38930.02750.0275-4.00E-10-4.00E-10110811992040938.750.0368960.40360.03680.0368-4.00E-10-4.00E-101.2 分类数据分类数据l COMPUSTAT商业信息行业分类和地理分类商业信息行业分类和地理分类数据集从数据集从1980年开始。商业信息行业分类文件年开始。商业信息行业分类文件(bif)包含了每个公司多达)包含了每个公司多达7个财政年度的信息。个财政年度的信息。企业每年有企业每年有1至至10条分类数据,具体观测条数取决条分类数据,具体观测条数取决于公司的报告。商业信息地理分类文件(于公司的报告。商业信息地理分类文件(geo)包含了每个公司多达包含了每个公司多达7个财政年度、每年有地理分个财政年度、每年有地理分类数据的类数据的5条纪录。条纪录。1.2.1 数据内容数据内容 与分类数据库有关的与分类数据库有关的SAS数据集列表数据集列表 变量名量名解解释SCMPYB分分类公司公司历史数据史数据(Segments Company Backdata)SCUSTB分分类顾客客历史数据史数据(Segments Customer Backdata)SDTAILB分分类细节历史数据史数据(Segments Detail Backdata)1.2.2 数据查询及应用数据查询及应用l例例 NAICS和和SIC代码代码 COMPUSTAT使用使用NAICS作为它的主系统作为它的主系统来把每一个分类区段分类到特定的工业中去。来把每一个分类区段分类到特定的工业中去。在在2000年数据集进行重新设计之前,年数据集进行重新设计之前,COMPUSTAT只提供老只提供老SIC系统中的代码。系统中的代码。NAICS和和SIC代码在每个分类集内都有(作为代码在每个分类集内都有(作为SEGNAICS文件的一部分),但是因为文件的一部分),但是因为NAICS代码的分配仅仅回溯到代码的分配仅仅回溯到1990年,新的设计删除年,新的设计删除了了1990年以前的年以前的SIC代码。代码。l 根据根据WRDS的要求,的要求,COMPUSTAT用用SIC代代码建立了一个额外文件(码建立了一个额外文件(SEGSICB),它仅仅为),它仅仅为商业分类而建立的,涵盖了商业分类而建立的,涵盖了COMPUSTAT分类数分类数据库的所有时间跨度(直到据库的所有时间跨度(直到1984年)。年)。l WRDS将这两个文件中的将这两个文件中的SIC代码进行比较。代码进行比较。因为很少(少于因为很少(少于0.25%)有重叠的情况不同,数)有重叠的情况不同,数据需求页面被改成为用户提供据需求页面被改成为用户提供“最好的最好的”可用分可用分类工业代码,定义如下:类工业代码,定义如下:l 1、所有分类类型的、所有分类类型的NAICS代码来自代码来自SEGNAICS文件,回溯到文件,回溯到1990年。年。SNAICS1(主(主NAICS)和)和SNAICS2(辅(辅NAICS)2个个NAICS指定名称都可用。指定名称都可用。l 2、商业分类区段的、商业分类区段的SIC代码来自代码来自SEGSICB。SSICB1(主)和(主)和SSICB2(辅)两个指定名称都(辅)两个指定名称都可用。可用。l 3、其他(非商业)分类类型来自于、其他(非商业)分类类型来自于SEGNAICS文件。文件。SSICB1(主(主SIC)和)和SSICB2(辅助(辅助SIC)两个变量都可用,但通常在)两个变量都可用,但通常在地理、州的分类中不可用,在地理、州的分类中不可用,在1990年以前也不可年以前也不可用。用。1.3 管理层新酬数据库管理层新酬数据库(EXECCOMP)l 管理层薪酬数据库(管理层薪酬数据库(EXECCOMP)记录了)记录了1500家公司从家公司从1991年到现在的大量数据,拥有超年到现在的大量数据,拥有超过过2500家仍在营业和停业公司的数据。这些公司家仍在营业和停业公司的数据。这些公司囊括了标准普尔囊括了标准普尔1500指数内的所有公司、曾经是指数内的所有公司、曾经是1500内的公司、还在交易但是被内的公司、还在交易但是被1500指数除名的指数除名的公司以及一些客户要求记录的公司。标准普尔公司以及一些客户要求记录的公司。标准普尔1500指数的数据收集从指数的数据收集从1994年开始,但是,数据年开始,但是,数据里有里有1992年的记录,这些记录不是整个标准普尔年的记录,这些记录不是整个标准普尔1500指数,主要是标准普尔指数,主要是标准普尔500指数。管理层薪指数。管理层薪酬数据从每个公司年度委托书得到,年度委托书酬数据从每个公司年度委托书得到,年度委托书必须在每个公司财政年度结束后必须在每个公司财政年度结束后120天归档。注意天归档。注意:因为:因为ADR不把委托书提交给不把委托书提交给SEC,所以没有可,所以没有可用的数据供用的数据供EXECCOMP收集。收集。1.3.1 数据内容数据内容 EXECCOMP数据集内若干变量数据集内若干变量 变量量描述描述GVKEY 公司公司标识号号码 YEAR 财政年度政年度FYR 财政年度政年度结束的月份束的月份CO_PER_R 经理人理人员/公司公司组合代合代码SALARY 薪水(千美元)薪水(千美元)1.3.2 数据查询及应用数据查询及应用l 例例 数据展示及说明数据展示及说明 libname comp/wrds/compustat/sasdata;data temp;set comp.execcomp(obs=10);length title2$10.;title2=substr(title,1,10);keep gvkey year EXECID title2 salary;proc print;var gvkey year EXECID title2 salary;run;EXECCOMP sas数据集中的一些数据行和数据集中的一些数据行和5个变量个变量 GVKEYYEAREXECIDSALARYtitle2100419929248460.4chmn.100419939248474.2chmn.100419949248480chmn.100419959248498.4chmn.100419969248440.5chmn.100419969248440.5chmn.100419969248440.5chmn.100419969248440.5chmn.100419969248440.5chmn.100419969248440.5chmn.l例例 EXECCOMP数据库按财政年度排序数据库按财政年度排序 EXECCOMP里的里的“年年”数据建立在财政年度基础上,数据建立在财政年度基础上,所以,当比较所以,当比较2000年和年和2001年的数据集时,实际是指年的数据集时,实际是指FY2002和和FY2001。COMPUSTAT还有一个还有一个FYR变量,代变量,代表了财政年结束的那个月(比如:表了财政年结束的那个月(比如:FYR=9表示表示FY2002结结束于束于2002年年9月)。需要把财政年转换成公历年的用户请月)。需要把财政年转换成公历年的用户请参考前面讨论过的技术。参考前面讨论过的技术。现在,尽管现在,尽管EXECUCOMP文件并没有明确说明,但文件并没有明确说明,但是是COMPUSTAT是在是在FYR值的基础上定义财政年。也就是值的基础上定义财政年。也就是说,对于结束于说,对于结束于1月至月至5月的财政年度(月的财政年度(FYR=1 到到5),财),财政年度比财政年结束的年度少一年,如结束于政年度比财政年结束的年度少一年,如结束于2002年年2月月的财政年,其在数据库中的财政年度为的财政年,其在数据库中的财政年度为2001(YEARA=2001),迟至),迟至2002年年5月月31日结束的财日结束的财政年也一样,其财政年度为政年也一样,其财政年度为2001。因此,如果以财政年度。因此,如果以财政年度来比较各公司的收益,就可能会错误的结果。来比较各公司的收益,就可能会错误的结果。1.4COMPUSTAT时点数据(时点数据(point-in-time)l 因为大多数研究者对因为大多数研究者对COMPUSTAT时点数据时点数据库很陌生,所以这里较详细地介绍。库很陌生,所以这里较详细地介绍。COMPUSTAT时点数据库有几个重要文件。时点数据库有几个重要文件。PITQTRDATA(包括公司标识、最后重叙值及由(包括公司标识、最后重叙值及由DATADATE所识别的每季度所识别的每季度“第一次公布的第一次公布的”价价值)和值)和PITHISTDATA(包含每个时点(包含每个时点POINTDATE,共,共20个季度个季度DATADATE全部有变全部有变化的财务变量)。化的财务变量)。1.4.1 数据内容数据内容l时点数据展示时点数据展示 gvkeypointdateDatadateDatacqtrQTRSBACKNIQHNIQH_DCN1*N2*606630-Nov-9930-Sep-94Q3Y9419.YN606630-Nov-9931-Dec-94Q4Y9418.YN.l COMPUSTAT时点数据库有几个重要文件。时点数据库有几个重要文件。PITQTRDATA(包括公司标识、最后重叙值及由(包括公司标识、最后重叙值及由DATADATE所识别的每季度所识别的每季度“第一次公布的第一次公布的”价价值)和值)和PITHISTDATA(包含每个时点(包含每个时点POINTDATE,共,共20个季度个季度DATADATE所有有变所有有变化的财务变量)。化的财务变量)。l WRDS中与时点相关的重要的数据集见下表:中与时点相关的重要的数据集见下表:名称名称描述描述PIT_HIST_DATE_TABLE每个每个gvkey*pointdate*qtrsback组组合的日合的日期与日期与日历历季度表季度表PIT_MONTHLY_DATE_TABLE每个每个gvkey*pointdate组组合的前合的前20日与日日与日历历季度表季度表PITHISTDATA当当时时未重叙的数据未重叙的数据项项与脚注(与脚注(1987年后)年后)PITIDHIST当当时时历历史史标识标识符符PITNAMES当当时时公司公司标标量数据量数据PITQTR当当时时季度描述符、数据季度描述符、数据项项与脚注与脚注PITQTRDATA当当时时季度季度AFR与重叙数据与重叙数据l 每个变量都有每个变量都有6到到9个项与之相关。换句话说,个项与之相关。换句话说,每一项有每一项有3个值,加上个值,加上3个代码及可能有的另外个代码及可能有的另外3个个脚注。每个变量有脚注。每个变量有3个值:终值(重叙值),第一个值:终值(重叙值),第一次公布的价值和历史价值。重叙值(或终值)是次公布的价值和历史价值。重叙值(或终值)是所使用的,也就是说从所使用的,也就是说从COMPUSTAT获取的数据获取的数据为重叙值。为重叙值。与任何变量相关的六个变量与任何变量相关的六个变量 ACTQ总流动资产总流动资产季度(季度(Q40)ACTQ_DC总流动资产总流动资产季度季度数据代码数据代码ACTQH总流动资产总流动资产季度历史(季度历史(Q40)ACTQH_DC总流动资产总流动资产季度历史数据代码季度历史数据代码ACTQR总流动总流动资产资产季度季度无重申(无重申(Q40)ACTQR_DC总总流流动资产动资产季度季度数据代数据代码码l 由于个体商业活动之间的差异性,有时公司由于个体商业活动之间的差异性,有时公司并不报告个体数据项,或者其代表项包含了一个并不报告个体数据项,或者其代表项包含了一个或多个数据项。在这种情况下,数据项(在这个或多个数据项。在这种情况下,数据项(在这个数据集中)为缺失值(数据集中)为缺失值(“.”),而相应的数据代),而相应的数据代码将取以下某个值:码将取以下某个值:历史数据集的数据代码及其描述历史数据集的数据代码及其描述 代代码码描述描述2半年数字半年数字3年数字年数字4组组合数字合数字6无意无意义义的的7非非报报告的告的8不重要数字不重要数字9不可不可获获得的得的重要日期及其描述列表重要日期及其描述列表 变量变量描述描述注释注释POINTDATE时点日期时点日期月度时点日期月度时点日期 1,2DATADATE数数据日期据日期季度描述符季度描述符未重叙未重叙1DATACQTR 日历季日历季度度季度描述符季度描述符未重申未重申1QTRSBACK季度回季度回溯溯指示指示历史关键时点历史关键时点1DATACQTR日日历历季度季度季度描述符季度描述符未重申未重申2FINALQPRD最终数据日期最终数据日期季度描述符季度描述符为为重重申申2PRELIMQPRD初步数据日期季度初步数据日期季度季度描述符季度描述符未重申未重申2l 有两个相关数据集:有两个相关数据集:PITHISTDATA,当时,当时未重申数据项及脚注(未重申数据项及脚注(1987年后),在表中用年后),在表中用1表示它;表示它;PITQTRDATA,时点季度,时点季度AFR与重申与重申数据项,用数据项,用2表示它。表示它。l 变量变量POINTDATE为时点日期。为时点日期。
展开阅读全文