{{McNair ProjectsAcademicPaper|Project TitleHas title=Winner's Curse in Acquistions Acquisitions (Academic Paper),|Topic AreaHas author=Economic and Business TrendsEd Egan,Jim Brander|OwnerHas RAs=Ed EganAmir Kazempour, Will Cleland, Amir K, Jake Silberman,|Start Term=Fall 2016,|Status=Active,|Deliverable=Academic Paper,|AudienceHas paper status=Academics,|Primary Billing=AccMcNair01,Published
}}
==Summary==
This paper finds evidence consistent with a Winner's Curse in the acquisitions of privately-held firms. This Winner's Curse is aggravated when there are more potential bidders and/or greater information asymmetries.
The paper was accepted for publication in the Quarterly Review of Economics and Finance in February of 2017.
==Dbase Notes==
--SDC_TABLE.sql --START AT NEW CODE
SDC --Raw data in
SDCBase --No dups
SDCV2 --Code and restrict 40216
SDCNo --Build AcqNo
SDCA1 --Add previous acqs
SDCA2 --Add bin for IT (from SDCwIT)
SDCA3 --Add bin for pub/priv (from SDC_test)
SDCA4 --Add indu FE (40216)
--CRSP_TABLE.sql
CRSPFinal --Processed Raw
CRSPMain --w/ cusip6
CRSPRelNoInc --Add in the DayNo and lose irrelevant CUSIP
| CEO Overconfidence || Execucomp || malmendier_Tate
|}
Boom - Created. Code in E:\McNair\Projects\Winner's Curse\Data\SQL\SDC_TABLE. Final variable in table SDCno_boom.
Competition - Created. Code in E:\McNair\Projects\Winner's Curse\Data\SQL\CRSP_TABLE. Final variable in table competition final.
IT Fixed Effect - Create an indicator variable taking the value one if the target has a NAICS code listed on page 31 of the article.
Idiosyncratic Volatility - RMSE, it should already be up on the database.
Industry Fixed Effect - Created. Jake, please update this.
Momentum - To control for systematic variations in return over time. The summation of the NYSE-Nasdaq-AMEX composite market return (as
calculated by CRSP) over the event window
Private Financial Data - Look at [https://wrds-web.wharton.upenn.edu/wrds/query_forms/variable_documentation.cfm?vendorCode=CRSP&libraryCode=crspa&fileCode=ccmfunda&id=bspr]. The variables takes value 1 when the balance sheet is not publicly available.
Percent Cash - Possibly this is going to be the PCT_CASH variable in SDC. This should be the PC_CASH field in the SDC table.
Previous Acquisitions - The number of previous acquisitions (from 1985 on) of privately-held firms completed by the acquirer prior to its announcement of the acquisition.
Tobin's Q: The ratio of market-to-book value of assets. This would be MKVALT/ AT in the SDC table.
VC Fixed Effect: Is the target VC backed or not? Where could we find the VC data.
==Three Big Pulls==
===SDC Mergers & Acquisitions===
Add the following (A=L+E):---- DONE
TargetTotalAssets real, TASS: Taget Financials: Total Assets
TargetTotalLiabilities real, TLIA: Total Liabilities Last Twelve Months ($ Mil)
TargetCommonEquity real, COMEQ: Target Financials: Common Equity
Also nice:---- DONE
TargetNetSales real, SALES: Net Sales Last Twelve Months ($ Mil)
TargetNetSales2 real, ?
TargetRAndD real, RND1: Research & Development Expense 1 Year Prior ($ Mil)
Added just in case: ---- DONE
Sales
Net Assets
Note: TobinsQ is Market over book so MKVALT/AT (also pulled common stock and price)
DROP TABLE compustatpull;
CREATE TABLE compustatpull (
gvkey int,
datadate date,
Fyear int,
industry_format varchar(5),
consol varchar(20),
popsrc varchar(20),
datafmt varchar(5),
tic varchar(20),
cusip varchar(20),
conm varchar(50),
curcd varchar(3),
curncd varchar(3),
fyr int,
act float,
ceq varchar(20),
ebitda float,
intan float,
revt float,
sale float,
exchg varchar(20),
costat varchar(5),
naicsh float,
sich varchar(20),
mkvalt varchar(20),
prcc_f varchar(20),
county varchar(50),
naics varchar(10),
sic int,
states varchar(2),
ipodate date);
\COPY compustatpull FROM 'CSTAT-10Oct-ff1feb81b9f166ad.txt' WITH DELIMITER AS E'\t' HEADER NULL AS '' CSV
--464894
All loaded up
===CRSP===
*Data dictionary for SDC MA: http://www.edegan.com/repository/DD-ThomsonSDCMA.txt
==Governance VariablesGovernance_Final Table (Amir)== A list of governance variables UPDATE Nov 22, 3:30 pm: All null entries are now stored as 0. Modified SQL codes can be found in GOV_Table- NULL AS ZERO.sql Table Name: governance_final Database: winner Data: ISS (formerly RiskMetrics) - QUERY saved under 'RiskMetrics' in WRDS Coverage:2007-2015 Summary: SELECT COUNT(*) FROM governance_final; count ------- 40005 (1 row) SELECT COUNT(DISTINCT CUSIP) FROM governance_final; count ------- 2209 (1 row) SELECT COUNT(DISTINCT(CUSIP, year)) FROM governance_final; count ------- 13332 (1 row) Text file is saved in: E:\McNair\Projects\Winner's Curse\Governance\RiskMetrics-0b578b37fbb59afa.txt Variable Description is saved in E:\McNair\Projects\Winner's Curse\Governance\Var-Gov-Desc.pdf SQL code file for the table is saved in E:\McNair\Projects\Winner's Curse\Data\GovernanceVARSSQL\GOV_Table.sql The variables are coded as follows: 0 NO 1 YES NULL NULLotherwise see the following file: E:\McNair\Projects\Winner's Curse\Data\SQL\GOVERNANCE_NOTES.txt or here: BLANKCHECK NuLL/YES/NO CARVE_OUT NULL/YES/NO CBOARD NULL/YES/NO CONAME CONFVOTE NULL/YES/NO CUMVOTE NULL/YES/NO CUSIP DUALCLASS NULL/YES/NO FAIRPRICE NULL/YES/NO GPARACHUTE NULL/YES/NO LABYLW NULL/YES/NO LACHTR NULL/YES/NO LEGACYPPS_ID NO ENTRY ---> DROPPED LSPMT NULL/YES/NO LWCNST NULL/YES/NO/UNANIMOUS= 2 MAJ_VOTE_REQUIRED NULL/CAST=1/OUTSTANDING=2 MAJ_VOTE_REQUIREMENT NULL/NO=0/BY-LAWS=1/POLICY=2/CHARTER=3 MAJOR_VOTE_COMM USELESS ---> DROP PPILL NULL/YES/NO RESIGN_REQUIRE NULL/NO=0/ POLICY=1/ BYLAWS-CHARTER=2 SIC varchar(4) TICKER varchar(5) TIER DROPthis UNEQVOTE NULL =0, ELSE =1 DEPOSITORY R/TIME-PHASED/GOLDEN SHARES/FIXED VOTING RI/GOLDEN SHARE/PRIORITY SHA/PRIORITY SHARES/FIXED VOTING/YES/TIME-PHASED VOT/DEPOSITORY RECE OO_BUSCOMP NULL/YES/NO OO_CASHOUT_PA NULL/YES/NO OO_CSA NULL/YES/NO OO_DUTIES NULL/YES/NO OO_FAIRPRICE NULL/YES/NO OO_PP NULL/YES/NO OO_RPROFITS NULL/YES/NO OO_STAKEHOLDER NULL/YES/NO YEAR int RT_ID int MEETINGDATE date COMPANY_ID int STATE LEAVE AS VARCHAR CHARTER_AMEND_VOTEPCNT real FYEND int LAW_AMEND_VOTEPCNT real MTGMONTH int PRICE real SPINDEX LEAVE AS VARCHAR SPL_MEET_VOTEPCNT real SUPERMAJOR_PCNT real WRITTEN_CONSENT_VOTEPCNT real Merging with CRSP: Q) Is CUSIP in RiskMetrics current or historical? How can I use it to merge with CRSP? A) The Legacy files have the current CUSIP. With each update, WRDS updated the historical data with the latest value. Starting with the new Director and Governance files, we no longer modify the historical data. To merge any of these datasets with CRSP, you can join on the NCUSIP field. This will match a single Permco (company identifier), but you may still need to select the primary Permno because some companies issue more than 1 security. Merging EXECUCOMP AND IRRC: Q) What is the best way to merge Execucomp and IRRC (director and governance) databases? I understand they both have CUSIP, but that matching with CUSIPs isn't always ideal since the CUSIP can change over time for the same firm. A) All Execucomp (CUSIP), IRRC Governance (CN6), and IRRC Directors (CUSIP) CUSIPs are header cusips, in that they reflect the most recent CUSIP that the company has had. There are however 2 main differences between Execucomp's CUSIP and IRRC's CUSIP and CN6: 1. While Execucomp uses 8-digit CUSIP, both IRRC datasets have 6-digit CUSIPs. Therefore, you need to use a SAS function like "substr" to take the first 6-digit of Execucomp CUSIP before merging it to IRRC data. ex: cusip6 = substr(CUSIP,1,6); 2. While header convention reflect "most recent" value of an identifier variables, it is dependent on the date of update of each dataset. Therefore, for CUSIPs that change in between the time that both databases are updated, you might find some discrepancy. To overcome this issue, we recommend that you make use of the CRSP name files (ex: stocknames), that contains all historical CUSIPs that a company has had. Also, good to know: Best Identifier to Use in RiskMetrics Directors- Changes to Identifier between Legacy and Current Files 1. The primary identifier in the current dataset is year-ticker-director_detail_id. Ticker is better populated than cusip in earlier years, but should be about the same in the latest years. For the legacy directors, director_detail_id was in use for some years and legacy_director_id for others. 2. Cusips in the legacy file are "header". With each update, WRDS modified all previous cusips for a company to match the latest. Although it may help in some cases, it may hurt in others and it is not quite the way the data was delivered. Starting with the new directors file, Cusips appear in the file as they were delivered (effectively making them historical going forward). Cusips in the legacy data were also uniformly truncated to 6 digits for consistency. The new file reports them as they are delivered, typically (but not always) 9 digits. 3. Tickers were not changed over time and appear as they were delivered. One example is legacy company id (legacy_pps_id) 25 has tickers ASN and IKN. 4. Each time IRRC - ISS - Riskmetrics was acquired, new identification methods were introduced. This is why you see legacy company and director IDs. Neither is more correct, we recommend choosing the most populated one for the years in which you are working. 5. Constructing a complete time series in the directors data is not easy. There is no single variable that is populated for all companies and all years. 6. Be very careful when combining the legacy data (through 2006) and the current data (from 2007). They were separated because the collection methods and meaning of some variables changed.
==Paper Discussion==
Variables & Where to Find Them:{| class="wikitable sortable" style="border: 1px solid darkgray; bgcolor: #f9f9f9"| '''Variable''' || '''Location'''|-| Actual Return || CRSP|-| Abnormal Return || CRSP|-| Average Return || CRSP|-| Weighted Average Return || CRSP|-| Cumulative Ab. Return || CRSP|-| Boom || SDC|-| Competition || Compustat|-| Distance || SDC + google maps|-| IT Fixed Effect || SDC|-| Idiosyncratic Volatility || CRSP (Calculated)|-| Industry Fixed Effect || SDC|-| Momentum || CRSP (Calculated)|-| Private Financial Data || CRSP|-| Percent Cash || SDC|-| Previous Acquisitions || SDC|-| Sales || Compustat|-| Tobin's Q || Compustat|-| Turnover || CRSP|-| VC Fixed Event || SDC & VentureXpert|-| Governance || Compustat|-| Friendly vs. Hostile || SDC|}
==Importing the CRSP data into the `winner' database (Amir) ==
The code to create the SDC table is stored in \McNair\Projects\Winner's Curse\Data\SQL\SDC_TABLE.
LAG(revt) OVER (PARTITION BY gvkey ORDER BY tobinq.year) AS revtlag,
tobinq,
LAG(tobinq) OVER (PARTITION BY gvkey ORDER BY tobinq.year) AS tobinlag,
sumsharesq, countgvkey FROM tobinq
LEFT JOIN competitionfinal ON tobinq.year = competitionfinal.year
AND tobinq.naics3 = competitionfinal.naics3;
--SELECT 464894
DROP TABLE CPI;
CREATE TABLE CPI(
year int, avg real, twentytenbase real);
\COPY CPI FROM 'CPI Data.txt' WITH DELIMITER AS E'\t' HEADER NULL AS '' CSV;
DROP TABLE test;
CREATE TABLE test AS SELECT tobinqxcompetition.*, acq_cusip, pc_cash,
CASE WHEN (Tgt_stockEx = 'NYSE'
OR Tgt_stockEx = 'AMEX'
OR Tgt_stockEx = 'NASDAQ')
THEN 1::int ELSE 0::int END AS Tgt_Public,
date_announced,
date_effective FROM tobinqxcompetition LEFT JOIN sdc ON
LEFT(tobinqxcompetition.cusip, 6) = sdc.acq_cusip AND
EXTRACT
(year from tobinqxcompetition.datadate) = EXTRACT(year from sdc.date_effective);
Few columns seemed to have repeated twice ==STATA Work==All Stata work found in our datathe following folder: E:\McNair\Projects\Winner's Curse\Stata Code for most recent regression: set more off insheet using "Estimation.txt" log using "Estimation. To log", replace gen rmse=0 gen ressd=0 gen alpha=0 gen beta=0 tabstat acqkey, stats(min max) save time matrix acqnos=r(StatTotal) local min=acqnos[1,1] local max=acqnos[2, I1] forvalues acqnumber = `min'(1)`max' { capture reg ret vret if acqkey==`acqnumber've just added capture matrix betas=e(b) capture local beta=betas[1,1] capture local alpha=betas[1,2 at the end of the column name for any such occurrence] capture local rmse=e(rmse) capture predict res,r capture tabstat res, stats(sd) save capture matrix resmat=r(StatTotal) capture local ressd=resmat[1,1] capture replace rmse=`rmse' if acqkey==`acqnumber' capture replace ressd=`ressd' if acqkey==`acqnumber' capture replace alpha=`alpha' if acqkey==`acqnumber' capture replace beta=`beta' if acqkey==`acqnumber' capture drop res display `acqnumber' } /* reg ret vret if acqkey==2 matrix betas=e(b) local beta=betas[1,1] local alpha=betas[1,2] local rmse=e(rmse) predict res,r tabstat res, stats(sd) save matrix resmat=r(StatTotal) local ressd=resmat[1,1] replace rmse=`rmse' if acqkey==2 replace ressd=`ressd' if acqkey==2 replace alpha=`alpha' if acqkey==2 replace beta=`beta' if acqkey==2 drop res */ drop if reldayno !=-30 outsheet using "Estimation-processed.txt", replace