I assume a simple model whereby the firm has random-walk cash flows.
# Number of years
T = 10000
sigma = 0.1
# Earnings is a random walk
dE = rnorm(T, mean = 0, sd = sigma)
E = cumsum(dE)
# No lag function in base R
lag <- function(x) {
return(c(NA, x[1:(length(x) - 1)]))
}
# Earnings are priced accordingly
r = 0.1
P = E/r
dP = P - lag(P)
d2P = dP - lag(dP)
The discount rate is constant \( r = 0.1 \) and prices reflect the fact that (cash-flow) earnings (\( E \)) are a random walk \( P=E/r \). I simulate \( T=104 \) years of data and look at the time-series of earnings and prices (and changes therein) to measure properties of each.
With fair value accounting applied to the asset that is generating \( E \), earnings would be changes in price. Measuring volatility as the standard deviation of levels, volatility of fair value earnings approximately equals \( \sigma/r = 1 \), which can be compared with the volatility of a cash-flow measure of earnings. Measured this way, there's no clear pattern (though a little math might reveal one).
# Volatility of fair value earnings and cash-flow earnings.
sd(dP, na.rm = TRUE)
## [1] 0.9971
sd(E)
## [1] 1.755
# Ratio of volatility of fair value earnings and cash-flow earnings.
sd(dP, na.rm = TRUE)/sd(E)
## [1] 0.5681
The above might be a property of using levels with a random walk.
What if I use changes in earnings? For cash-flow earnings, I recover the value 0.1 for sigma above. Doing the same thing for fair value earnings (i.e., measuring the standard deviation of changes in changes in price), I get a much higher number. It is about 14 times higher (not sure why it's 14).
sd(dE)
## [1] 0.0997
sd(d2P, na.rm = TRUE)
## [1] 1.397
# Ratio of volatility of fair value earnings and cash-flow earnings.
sd(d2P, na.rm = TRUE)/sd(dE)
## [1] 14.01