CIZ Format Issues
-
How to deal with firms with different securities? For example, GOOG/GOOGL and BRK.A/BRK.B.
-
For the CCM table, we have a different table from JKP. We should also modify the CCM filter following the WRDS official guide.
Archive SIZ Format Update
-
Updated
BETAin several cases:-
Fixed bugs on special issues by changing
passtocontinueso unsatisfied cases are not included. -
Changed matrix calculations from
np.mattonp.array. - Extended market beta to FF5 beta in
beta_ff5.py.
-
Fixed bugs on special issues by changing
-
Fixed
SUEagain:- Switched sorting and cumulative count order to ensure cumulative counts are computed correctly.
- Used EPS data from the past eight quarters, subtracting values from four quarters prior, then calculating standard deviation.
- Required at least six non-missing quarterly observations among the prior eight quarters, including the most recent quarter.
-
Some
EPSvalues did not change, but Python did not recognize this and assigned a standard deviation of zero, leading to a huge raw number forsue. -
Fixed the calculation of
acc(Operating Accruals). Following Sloan (1996), HXZ (2020), and GHZ (2017), annual income before extraordinary items (ib) minus operating cash flows (oancf) is divided by average total assets (at). Ifoancfis missing, it is set to change inactminus change incheminus change inlctplus change indlcplus change intxpminusdp. Missing changes in income taxes payable are set to zero. -
Fixed
zerotrade(Number of zero-trading days rolling 3m). Following the footnote in Liu (2006), used a deflator of 11,000 to construct rolling 3-monthzerotrade. -
Corrected annual
roaby using annualiband one-year-lagged total assets (at_l1). -
Unified several units to one consistent scale:
-
dolvol = log(vol * prc): multiplyvolby 100 because monthly volume is in hundred shares. -
turn: multiplyvolby 100 andshroutby 1000 because monthly volume is in hundred shares and shares outstanding are in thousands. -
std_turn: multiplyshroutby 1000 because daily volume is in shares while shares outstanding are in thousands.
-
-
Corrected the unit of
me(size) from thousand to million so it is consistent with accounting variables used in characteristic calculations. Influenced characteristics includebm,me_ia,cfp,ep,rsup,lev,sp,rdm,adm,dy, andalm. -
Fixed a denominator issue in
ill(illiquidity) by adding brackets aroundabs(prc) * vol. -
Observations before the first annual records are already excluded. This is equivalent to setting
cumcount >= 0. Settingcumcount >= 1is the same as the FF3 replication code and excludes the first two years of annual records. -
In step 3 (
merge_chars.py), changed the merge method fromoutertoleftso thepermnolist remains consistent with accounting-related characteristics and does not generate extra observations. -
Added
tickerandcomnamfrom CRSP and adjustedfillna_ind,fillna_all, andstandardizeinfunctions.pyso fundamental stock information does not influence data preparation. -
For daily-return characteristics, added the constraint that values are set to missing if
volumeis empty for more than 40 trading days out of 60 days.