Changes

Jump to navigation Jump to search
594 bytes added ,  13:47, 21 September 2020
no edit summary
{{Project|Has project output=Tool|Has sponsor=McNair ProjectsCenter
|Has title=Matching LBOs (Julia)
|Has owner=James Chen,
|Has keywords=Tool
|Has project status=ActiveComplete
}}
[[Leveraged Buyout Innovation (Academic Paper)]]
[[Leveraged Buyout Innovation (Academic Paper)]]
==Instructions for running matching code==
===Inputs and Outputs===
*Input: tab delimited file "E:/McNair/Projects/LBO/Clean/STATApredictLBOclean.txt"
**Positive integers identify pairs matched, negative integers identify matched non-LBOs in years other than the match, -0.1 identifies LBOs that failed to match to any non-LBOs under constraints provided
===Running Code===
*Open Julia command line in administrator mode
*Change directory to E:\McNair\Projects\LBO\New matching\
cd("E:/McNair/Projects/LBO/New\ matching")
 
*Run script LBOmatchscript.jl
include("LBOmatchscript.jl")
*Run script LBOmatchscript.jl==Options==
===Options===There are a few options that can be customized in the script before running. Getting the code into a more user-friendly form is a WIP. In fact, some parts might be difficult, if not impossible, to write in a more accessible way.
There are a few things that can be customized in the script. Getting this into a more user-friendly form is a WIP. In fact, some parts might be difficult, if not impossible, to write in a more accessible way.
Before running, modify the following options ===Specify input file (if necessary:using different file than default)===
Line 12:
df = readtable("FilepathE:/McNair/Projects/LBO/Clean/STATApredictLBOclean.txt", separator = '\t');
===Specify which observations are valid for matching===*For now, we filter out all firms that were never granted a single patent in the period 1970-2015*For firms that LBO, we also drop their observations in all other years from the list of candidates to match to other LBOs*Modify if matching using different fileSee inline comments in code for detailed description of what matchfilter2, matchfilter4, etc. represent
Lines 38-48: #Splitting dataset into LBO and non-LBO firms #Note that we also filter out all firms that were never granted a single patent in the period 1970-2015 LBOs = @from i in df begin @where i.everlbo == 1 && (i.matchfilter4 == 1 ||i.matchfilter2b == 1) && i.lboentry == 1 @select i @collect DataFrame end nonLBOs = @from i in df begin @where i.everlbo == 0 && (i.matchfilter4 == 1 ||i.matchfilter2b == 1) @select i @collect DataFrame end
(Not implemented yet: More user-friendly way ===Specify propensity score type to input restrictions)use for matching===*Specify which observations Options are valid for matching. For now: logitp (panel logit), probitp (panel probit), we filter out all firms that were never granted a single patent in the period 1970-2015or Cox proportional hazard (hr)**For firms that LBOAlternatively, we also drop their observations in all other years from can use the list above options, with regressions performed using winsorized values of candidates to match to other LBOs**See inline comments in code for detailed description of what matchfilter2regressors (trimmed at 1st and 99th percentiles): logitpw, matchfilter4probitpw, etc. representhrw
Line 58:
mscore = :logitpw;
*===Specify propensity score type to use for whether matching**Options are: logitp (panel logit), probitp (panel probit), priority should be deterministic or Cox proportional hazard (hr)random===**AlternativelyIf deterministic, can use the above, with regressions performed using winsorized values of regressors (trimmed at 1st and 99th percentiles): logitpw, probitpw, hrwpriority goes to lower GVKEY
Line 61:
randoption = 0;
===Specify additional constraints on valid matches (modify code within function mcexpr as desired)===*Specify whether matching priority should For example, default code forces matches to be deterministic or randomwithin the same industry group, within the same decade, and with patent stocks within +/- 20% of LBO firm. If deterministic, priority goes to lower GVKEY
Lines 69-81:
return eval(parse(mcriteria))
end
 
 
*Specify additional constraints on valid matches (modify code within function mcexpr as desired)
**For example, default code forces matches to be within the same industry group, within the same decade, and with patent stocks within +/- 20% of LBO firm.

Navigation menu