Tobin's q
Tobin’s Q
According to Kerin and Sethuraman (Kerin and Sethuraman 1998, 261), Tobins q is the “ratio of the market value of the firm to the replacement cost of its tangible assets, property, plant, equipment, inventory, cash, and investments in stocks and bonds”.
Market-to-book ratio is the equity capitalization of a firm divided by book equity. Equivalently, (share price multiplied by number of shares) over (common stock equity, capital surplus, and retained earnings).
Market-to-book ratio and Tobin’s q have been shown to be equivalent measures (Chung and Pruitt 1994)
Original Tobin’s q calculation (Lindenberg and Ross 1981)
\[ q = \frac{PREFST + VCOMS + LTDEBT + STDEBT - ADJ}{TOTASST - BKCAP + NETCAP} \]
where
- PREFST is the liquidating value of a firm’s preferred stock.
- VCOMS is the price of the firm’s common stock multiplied by the number of shares outstanding at year end (December 31st).
- LTDEBT is the long-term debt adjusted for its age structure
- STDEBT is the book value of the firm’s current liabilities
- ADJ is the net short-term assets
- TOTASST is the book value of the firm’s total assets
- BKCAP is the book value of the firm’s net capital stock
- NETCAP is information-adjusted net capital stock.
However, (Chung and Pruitt 1994) have proposed a simple reliable, and tractable approximation of Tobin’s q:
\[ q = \frac{MVE + PS + DEBT}{TA} \]
where
- MVE = share price x number of common stock share outstanding
- PS = liquidating value of outstanding preferred stock
- DEBT = short-term liability - short-term assets + book value of long-term debt
- TA is the book value of the total assets.
(Chung and Pruitt 1994) method assumes that the replacement values of a firm’s plant, equipment, and inventories equal to their book values.
Application
Retrieve data from WRDS
# to set up connection from R to WRDS (https://wrds-www.wharton.upenn.edu/pages/support/programming-wrds/programming-r/r-from-your-computer/)
library(RPostgres)
library(dplyr)
# I've set up wrds connection before hand. Please use your username and password here.
# wrds <- dbConnect(Postgres(),
# host='wrds-pgdata.wharton.upenn.edu',
# port=9737,
# dbname='wrds',
# sslmode='require',
# user='')
# Check variables (column headers) in COMP ANNUAL FUNDAMENTAL
#uses the already-established wrds connection to prepare the SQL query string and save the query as the result res.
# check avaiable databases: https://wrds-web.wharton.upenn.edu/wrds/tools/variable.cfm?vendor_id=7
res <- dbSendQuery(wrds, "select column_name
from information_schema.columns
where table_schema='compa'
and table_name='funda'
order by column_name")
data <- dbFetch(res, n=-1) # fetches the data that results from running the query res against wrds and stores it as data
dbClearResult(res) # closes the connection
head(data)
## column_name
## 1 acchg
## 2 acco
## 3 accrt
## 4 acctchg
## 5 acctstd
## 6 acdo
# select everything
res <- dbSendQuery(wrds, "select * from compa.funda")
# from compa.funda
# only select the following variables
res <- dbSendQuery(wrds, "select gvkey, datadate, fyear, indfmt, consol, popsrc, datafmt, tic, cusip, conm, curcd, fyr, act, at, bkvlps, ceq, ch, che, dltt, dlc, emp, np, exchg, cik, costat, naicsh,mkvalt from compa.funda") #check variables from (https://wrds-web.wharton.upenn.edu/wrds/ds/comp/funda/index.cfm?navId=80)
## Warning in result_create(conn@ptr, statement): Closing open result set,
## cancelling previous query
data1 <- dbFetch(res, n=-1)
dbClearResult(res)
data = data1 %>%
distinct(gvkey,datadate,fyear,tic,conm,.keep_all = T)
Calculate Tobin’s Q
tobin_q_dt = data %>%
mutate(mkvalt = coalesce(mkvalt,0),
dltt = coalesce(dltt,0),
at = coalesce(at,0),
dlc = coalesce(dlc,0),
act = coalesce(act,0)) %>%
mutate(tobin_q = (mkvalt + ifelse((dlc - act) >=0,as.numeric(dlc-act),0) + dltt)/at ) %>% #follow Chung (1994) (sum of stocks (preferred + common) + debt(short-term liabilities - short-term assets + long-term debt))/(total assets) # note: take only excess of short-term liabilities over short-term assets to be included in debt.
select(tobin_q,gvkey,datadate,fyear,conm)
head(tobin_q_dt)
## tobin_q gvkey datadate fyear conm
## 1 Inf 001000 1961-12-31 1961 A & E PLASTIK PAK INC
## 2 NaN 001000 1962-12-31 1962 A & E PLASTIK PAK INC
## 3 Inf 001000 1963-12-31 1963 A & E PLASTIK PAK INC
## 4 0.3686441 001000 1964-12-31 1964 A & E PLASTIK PAK INC
## 5 0.4995671 001000 1965-12-31 1965 A & E PLASTIK PAK INC
## 6 0.4563786 001000 1966-12-31 1966 A & E PLASTIK PAK INC
Chung, Kee H., and Stephen W. Pruitt. 1994. “A Simple Approximation of Tobins Q.” Financial Management 23 (3): 70. https://doi.org/10.2307/3665623.
Kerin, R. A., and R. Sethuraman. 1998. “Exploring the Brand Value-Shareholder Value Nexus for Consumer Goods Companies.” Journal of the Academy of Marketing Science 26 (4): 260–73. https://doi.org/10.1177/0092070398264001.
Lindenberg, Eric B., and Stephen A. Ross. 1981. “Tobins Q Ratio and Industrial Organization.” The Journal of Business 54 (1): 1. https://doi.org/10.1086/296120.