I hereby claim:
- I am JoostImpink on github.
- I am impink (https://keybase.io/impink) on keybase.
- I have a public key whose fingerprint is 3B29 169E 938B 866A 7CBF 3085 3F4E 2E9E 02B9 C853
To claim this, I am signing this object:
proc sort data=g_sample_wins; by gvkey;run; | |
proc reg data= g_sample_wins; | |
model ret = e_p ; | |
ods output ParameterEstimates = regout_1a FitStatistics = regout_1b; | |
/* adding by gvkey will result in separate regressions for each firm */ | |
by gvkey; | |
quit; |
I hereby claim:
To claim this, I am signing this object:
/***************************************** | |
Author unknown - that is a pity because this macro is the best since sliced bread! | |
Trim or winsorize macro | |
* byvar = none for no byvar; | |
* type = delete/winsor (delete will trim, winsor will winsorize; | |
*dsetin = dataset to winsorize/trim; | |
*dsetout = dataset to output with winsorized/trimmed values; | |
*byvar = subsetting variables to winsorize/trim on; |
## For each SEC filing stock return in the interval [time - before, time + after] is measured | |
# Set constants | |
before <- 0 | |
after <- 7200 | |
# load Grokit Nanex library | |
library(gtNanex) | |
# Load dataset with 8-K filings (symbol and timestamp)s |
/* We need to make a sample for US listed firms with fiscal years 1962-1990 | |
From Compustat Funda we need: | |
- gvkey Firm identifier | |
- datadate End of fiscal year | |
- fyear Fiscal year | |
- epspx EPS before extraordinary items | |
- prcc_f Price at fiscal year end | |
- csho Common shares outstanding end of year (to compute market cap) |
/* Table 1 | |
Left panel shows by year the #obs, and the #loss years | |
Right panel shows the same, but for firms that were in the sample from 1968 | |
through 1990 (23 years) | |
*/ | |
/* Left panel */ | |
/* Using SQL */ | |
proc sql; |
/* Table 2 | |
Use firms that have at least 8 years of data | |
Count the number of loss-years | |
*/ | |
/* For each gvkey, count the #loss-years */ | |
proc sql; | |
create table d_table2_a as | |
select gvkey, sum(loss) as lossYears from b_sample | |
/* gvkey must be in the following table */ | |
where gvkey IN ( |
/* For each size decile: compute #firm-years and #losses */ | |
/* Create size deciles */ | |
proc rank data = b_sample out = e_ranked groups = 10; | |
var size; | |
ranks size_d ; | |
run; | |
/* Add 1 to rank (0-9 => 1-10) */ | |
data e_ranked; |
/* Regressions */ | |
/* Some variables need to be created */ | |
data g_sample; | |
set b_sample; | |
/* earnings per share scaled by beginning of year stock price */ | |
e_p = epspx / prcc_f_lag; | |
/* change in eps scaled by boy stock price */ | |
ch_e_p = (epspx - epspx_lag) / prcc_f_lag; | |
/* keep observations with no missings */ |
/* Example of how to use SAS to retrieve data from WRDS | |
Computing market-to-book ratio for years 2000-, and benchmark it against | |
other firms in the industry */ | |
/* this piece of code makes a connection of your SAS instance with WRDS remote server */ | |
%let wrds = wrds-cloud.wharton.upenn.edu 4016;options comamid = TCP remote=WRDS; | |
signon username=_prompt_; | |
/* any code executed on WRDS needs to go in a remote submit block, for example: */ |