방문자
Scientist. Husband. Daddy. --- TOLLE. LEGE
[1] 이 블로그는 대한민국 저작권법(28조)과 U.S. Copyright Act (17 USC. §107)에 정의된 "저작권물의 공정한 이용원칙 | the U.S. fair use doctrine" 을 따릅니다. [2] 저작권(© 최광민)이 명시된 모든 글과 번역문들에 대해 (1) 원글의 URL 주소링크를 밝히지 않은 모든 형태의 (2) 전문 복제-배포, (3) 임의수정 및 자의적 본문 발췌, (4) 화면캡처 및 배포를 금지합니다. [3] 아울러 이 블로그의 내용을 AI 학습용으로 이용하는 것 역시 금지합니다. [운영] [대문으로] [방명록]
블로그 후원하기
[한국] 하나은행 (최광민): 376-910-500-183-07
[미국] 벤모 Venmo: @pay4kc
[국제] 페이팔 PayPal: @pay4kc
블로그 내부검색
주제
연재
한 주 BEST
- [© 최광민] 랍비 카두리의 메시아, 예수
- [© 최광민] 예수 vs. 예수 #07: 삼위일체 개념은 어디서 유래했을까?
- [© 최광민] 모세 vs. 아케나텐 #1: 소위, {아크나톤 18계명 / 아톤 18계명}의 정체
- [© 최광민] 예수 vs. 붓다 #1: 소위 "불교계통" 복음서들의 정체: {이사전}, {보병궁 복음서}, {유란시아書}, {임마누엘의 탈무드}
- [© 최광민] 예수 vs. 예수 #02: 예수는 언제부터 신이었을까?
- [© 최광민] 예수 vs. 짜라투스투라 #01: 기독교의 예수는 짜라투스트라를 표절했을까?
- [© 최광민] 예수 vs. 예수 #11: 크리스마스의 기원과 동방박사의 별 (합본)
- [© 최광민] 불문학자 민희식 vs. 불교작가 민희식 | 제 1부: 한국이 낳은 어떤 "세계적(?)" 석학?
- [© 최광민] 예수 vs. 예수 #12: 과연 예수는 결혼, 재혼, 심지어 삼혼했을까? -- 막달라 마리아, 리디아, 마리온(?)
- [© 최광민] 예수 vs. 붓다 #3: [탕자의 비유]는 대승불경 {법화경}에서 차용된 것일까?
최신 포스팅
SDC platunum data format (text dump)
Labels:
Informatics
이메일로 전송BlogThis!X에 공유Facebook에서 공유
%LET dirSDC = P:\research\sas_projects\wrds_libs_sas_scripts\sdc platinum;
filename SDC1 "&dirSDC;\ma 1975 - 1979.txt";filename SDC2 "&dirSDC;\ma 1998 - 1999.txt";filename SDC3 "&dirSDC;\ma 2000 - 2010.txt";data work.a_sdc1;infile SDC1 dsd DELIMITER="" firstobs=8 LRECL=32767 missover;input annDate_temp $ 1-8 effDate_temp $ 14-21 targetName $ 27-59 acqName $ 63-98 pctShare 99-104 acqCusip $ 109-114 acqCusip2 $ 120-125 tgtCusip $ 131-136 ;run;data work.a_sdc2;infile SDC2 dsd DELIMITER="" firstobs=8 LRECL=32767 missover;input annDate_temp $ 1-8 effDate_temp $ 14-21 targetName $ 27-69 acqName $ 71-111 pctShare 113-118 acqCusip $ 123-128 acqCusip2 $ 135-140 tgtCusip $ 147-152 ;run;
data work.a_sdc3;infile SDC3 dsd DELIMITER="" firstobs=8 LRECL=32767 missover;input annDate_temp $ 1-8 effDate_temp $ 14-21 targetName $ 27-66 acqName $ 67-104 pctShare 105-110 acqCusip $ 115-120 acqCusip2 $ 127-132 tgtCusip $ 139-144 ;run;data work.a_sdc4 (drop = year month day annDate_temp effDate_temp);set work.a_sdc1 work.a_sdc2 work.a_sdc3;year = substr(annDate_temp, 7, 2);month = substr(annDate_temp, 1, 2);day = substr(annDate_temp, 4, 2);annDate = mdy(month, day, year);format annDate date9.;year = substr(effDate_temp, 7, 2);month = substr(effDate_temp, 1, 2);day = substr(effDate_temp, 4, 2);effDate = mdy(month, day, year);format effDate date9.;
if annDate ne .;
if pctShare eq 100;sdcFlag = 1;run;proc sort data=work.a_sdc4; by tgtCusip annDate;run;/* Get crsp.dsenames */data work.a_sdc5 (keep = permno NAMEDT NAMEENDT ncusip cusip cusip6 ncusip6);set crsp.dsenames;cusip6 = substr(cusip, 1, 6);ncusip6 = substr(ncusip, 1, 6);run;/* Add cusip */proc sql;
create table work.a_sdc6 as
select
a.*,
b.permno as acqpermno_1
from
work.a_sdc4 a
LEFT JOIN
work.a_sdc5 b
ON
a.acqCusip = b.ncusip6
and b.NAMEDT <= a.annDate <= b.NAMEENDT;quit;proc sql;
create table work.a_sdc7 as
select
a.*,
b.permno as acqpermno_2
from
work.a_sdc6 a
LEFT JOIN
work.a_sdc5 b
ON
a.acqCusip2 = b.ncusip6
and b.NAMEDT <= a.annDate <= b.NAMEENDT;quit;
data work.a_sdc8 (keep = targetName acqName acqCusip acqCusip2 tgtCusip annDate effDate acqPermno);set work.a_sdc7;acqPermno = acqpermno_1;
if acqPermno eq . then acqPermno = acqpermno_2;run;
/* Add gvkey */proc sql;
create table work.a_sdc9 as
select a.*, b.gvkey as acqGvkey
from
work.a_sdc8 a
LEFT JOIN
matching.ccm b
ON
a.acqPermno = b.lpermno
and b.USEDFLAG = 1
and b.LINKDT <= a.annDate <= b.LINKENDDT
and b.linkprim IN ("C", "P");quit;
/* Add cusip target*/proc sql;
create table work.a_sdc10 as
select
a.*,
b.permno as tgtPermno
from
work.a_sdc9 a
LEFT JOIN
work.a_sdc5 b
ON
a.tgtCusip = b.ncusip6
and b.NAMEDT <= a.annDate <= b.NAMEENDT;quit;
/* Add target gvkey */proc sql;
create table misc.sdc as
select a.*, b.gvkey as tgtGvkey
from
work.a_sdc10 a
LEFT JOIN
matching.ccm b
ON
a.tgtPermno = b.lpermno
and b.USEDFLAG = 1
and b.LINKDT <= a.annDate <= b.LINKENDDT
and b.linkprim IN ("C", "P");quit;
proc sort data = misc.sdc; by annDate; run;
이메일로 전송BlogThis!X에 공유Facebook에서 공유
Labels:
Informatics
%LET dirSDC = P:\research\sas_projects\wrds_libs_sas_scripts\sdc platinum;
filename SDC1 "&dirSDC;\ma 1975 - 1979.txt";filename SDC2 "&dirSDC;\ma 1998 - 1999.txt";filename SDC3 "&dirSDC;\ma 2000 - 2010.txt";data work.a_sdc1;infile SDC1 dsd DELIMITER="" firstobs=8 LRECL=32767 missover;input annDate_temp $ 1-8 effDate_temp $ 14-21 targetName $ 27-59 acqName $ 63-98 pctShare 99-104 acqCusip $ 109-114 acqCusip2 $ 120-125 tgtCusip $ 131-136 ;run;data work.a_sdc2;infile SDC2 dsd DELIMITER="" firstobs=8 LRECL=32767 missover;input annDate_temp $ 1-8 effDate_temp $ 14-21 targetName $ 27-69 acqName $ 71-111 pctShare 113-118 acqCusip $ 123-128 acqCusip2 $ 135-140 tgtCusip $ 147-152 ;run;
data work.a_sdc3;infile SDC3 dsd DELIMITER="" firstobs=8 LRECL=32767 missover;input annDate_temp $ 1-8 effDate_temp $ 14-21 targetName $ 27-66 acqName $ 67-104 pctShare 105-110 acqCusip $ 115-120 acqCusip2 $ 127-132 tgtCusip $ 139-144 ;run;data work.a_sdc4 (drop = year month day annDate_temp effDate_temp);set work.a_sdc1 work.a_sdc2 work.a_sdc3;year = substr(annDate_temp, 7, 2);month = substr(annDate_temp, 1, 2);day = substr(annDate_temp, 4, 2);annDate = mdy(month, day, year);format annDate date9.;year = substr(effDate_temp, 7, 2);month = substr(effDate_temp, 1, 2);day = substr(effDate_temp, 4, 2);effDate = mdy(month, day, year);format effDate date9.;
if annDate ne .;
if pctShare eq 100;sdcFlag = 1;run;proc sort data=work.a_sdc4; by tgtCusip annDate;run;/* Get crsp.dsenames */data work.a_sdc5 (keep = permno NAMEDT NAMEENDT ncusip cusip cusip6 ncusip6);set crsp.dsenames;cusip6 = substr(cusip, 1, 6);ncusip6 = substr(ncusip, 1, 6);run;/* Add cusip */proc sql;
create table work.a_sdc6 as
select
a.*,
b.permno as acqpermno_1
from
work.a_sdc4 a
LEFT JOIN
work.a_sdc5 b
ON
a.acqCusip = b.ncusip6
and b.NAMEDT <= a.annDate <= b.NAMEENDT;quit;proc sql;
create table work.a_sdc7 as
select
a.*,
b.permno as acqpermno_2
from
work.a_sdc6 a
LEFT JOIN
work.a_sdc5 b
ON
a.acqCusip2 = b.ncusip6
and b.NAMEDT <= a.annDate <= b.NAMEENDT;quit;
data work.a_sdc8 (keep = targetName acqName acqCusip acqCusip2 tgtCusip annDate effDate acqPermno);set work.a_sdc7;acqPermno = acqpermno_1;
if acqPermno eq . then acqPermno = acqpermno_2;run;
/* Add gvkey */proc sql;
create table work.a_sdc9 as
select a.*, b.gvkey as acqGvkey
from
work.a_sdc8 a
LEFT JOIN
matching.ccm b
ON
a.acqPermno = b.lpermno
and b.USEDFLAG = 1
and b.LINKDT <= a.annDate <= b.LINKENDDT
and b.linkprim IN ("C", "P");quit;
/* Add cusip target*/proc sql;
create table work.a_sdc10 as
select
a.*,
b.permno as tgtPermno
from
work.a_sdc9 a
LEFT JOIN
work.a_sdc5 b
ON
a.tgtCusip = b.ncusip6
and b.NAMEDT <= a.annDate <= b.NAMEENDT;quit;
/* Add target gvkey */proc sql;
create table misc.sdc as
select a.*, b.gvkey as tgtGvkey
from
work.a_sdc10 a
LEFT JOIN
matching.ccm b
ON
a.tgtPermno = b.lpermno
and b.USEDFLAG = 1
and b.LINKDT <= a.annDate <= b.LINKENDDT
and b.linkprim IN ("C", "P");quit;
proc sort data = misc.sdc; by annDate; run;
Scientist. Husband. Daddy. --- TOLLE. LEGE
[1] This blog complies with the "Fair Use Doctrine" as defined in Article 28 of the Republic of Korea Copyright Act and the U.S. Copyright Act (17 USC. §107). [2] Regarding copyrighted (© Kwangmin Choi) articles and translations, the following actions are prohibited (1) without providing a link to the original URL: (2) Full reproduction and distribution, (3) Unauthorized modification and arbitrary excerpting, and (4) Screen capturing and distribution. [3] Additionally, using the content of this blog for AI training is strictly prohibited. [운영] [대문으로] [방명록]
블로그 후원하기
[한국] 하나은행 (최광민): 376-910-500-183-07
[미국] 벤모 Venmo: @pay4kc
[국제] 페이팔 PayPal: @pay4kc


