You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Code is entirely rewritten
Now each data download is in its own file, and each signal construction is in its own file.
Most of the signal files can be run in parallel.
If signal file errors out, main program moves on to the next file (try-catch)
Huge improvement to usability
Easy to find which signal file you’re looking for
Easy to improve any individual signal file due to lack of dependencies
Modular signals data structure
Each signal has its own firm-month csv (E.g. STreversal.csv has a short-term reversal signal for each permno-month in CRSP)
Some improvement to usability:
Allows for modular updates to the full dataset
Also allows users interested in specific signals to simply retrieve the signal
Simplified portfolio code
Replaced complicated balanced matrix portfolio tracking with simple conditional weighted mean construction
Inputs are now just individual single signal csvs instead of the full dataset
Constructs all quantile-portfolios and long-shorts together
Accommodates daily portfolios (though signals must still be monthly)
Accommodates discrete signals as a generalization of binary
Some improvement in transparency and error checking
Ensures consistency between all-quantile portfolios and long-shorts
Improved classification and documentation of signals in SignalDocumentation.xlsx
For each signal, we hand collect the number of the table with predictability evidence, test in the table (port sort, regression), sign, t-stat, mean monthly return, quantile, portfolio assignment period, and filters.
We use the above to categorize signals by predictability in the original paper and signal replication quality. As a result, these categories are more true to the original papers.
Improved signals and new signals
Improved/Fixed:
EarningsStreak (Loh and Warachka, formerly EarnIncrease)
DivSeason (Hartzmark and Salomon, formerly DivInd)
UpRecomm / DownRecomm (Barber et al, formerly UpForecast / DownForecast)
MomSeason* and MomOffSeason* (Heston and Sadka, formerly MomSeas*)
DivYieldST (Litzenberger and Ramaswamy, formerly DivYield_q)
Coskewness (Harvey and Siddique)
EquityDuraion (Dechow, Sloan, and Soliman)
Governance (Gompers, Ishii, Metrick)
DivInit and DivOmit (Michaely, Thaler, and Womack)
MS (Mohanoram)
ZScore, OScore (Dichev)
New signals
CoskewACX (Ang, Chen, and Xing)
AnalystRevision (Hawkins, Chamberlain, and Daniel)