In the U.S., corporations often become involved in elections for public office via political campaign contributions, where a corporation donates money to a candidate's campaign. Corporations generally make these kinds of contributions through their political action committees (PACs). Though there are specific restrictions on where and how PACs can donate, many PACs make donations totaling in the millions; for example, the PAC associated with AT&T donated over $4.6 million USD in the 2016 election cycle.
There exist many views on why corporations might donate to candidates. Some political scientists take the view that corporations donate simply because they want to (for civic duty, political expression, or something similarly desirable). Meanwhile, others argue that corporations donate to gain influence over politicians.
In this investigation, we explore political campaign contributions from the latter perspective. Operating on the assumption that corporations donate in pursuit of political favor, we hypothesize that corporations who make "more" political campaign contributions perform better than one would ordinarily expect; and we expect their stock price to increase accordingly in general. Of course, this will not be true in all cases or for all corporations; but in general, we will hypothesize that more political campaign contributions are an indicator of higher-than-expected stock returns. In other words, we hypothesize that political campaign contributions are an alpha factor.
This piece is based in particular on the work of Cooper, Gulen, and Ovtchinnikov (2010), who find that corporations extending greater support for political candidates generate significantly higher future returns than one would ordinarily expect based on traditional style factors (like book-to-market ratio, firm size, momentum, etc.).
Here, we construct an alpha factor based on the findings of Cooper et al. In the notebook attached below, we transform raw data from the Federal Election Commission into a format that can be ingested by the platform's Self-Serve Data upload. Then, we analyze our factor using Alphalens, which can be found in a separate post here.
Note 1: This notebook is meant to be run locally (on your own machine). In order to run this notebook, you should clone it into your own Quantopian account, then download it as a .ipynb file. You'll need the
numpy packages to run this notebook; detailed running and installation instructions can be found in step 0 of the notebook.
Note 2: You'll probably see some strange HTML tags appearing above the cells displaying dataframes while viewing this notebook on the Quantopian platform. This is because the version of pandas used on the Quantopian platform (0.18.1) differs from the version of pandas used in this notebook (0.23.0, a more recent version). The tags should disappear when you run the notebook locally with the correct pandas version!