Learn R Programming

exuber (version 1.0.2)

sim_div: Simulation of dividends

Description

Simulate (log) dividends from a random walk with drift.

Usage

sim_div(
  n,
  mu,
  sigma,
  r = 0.05,
  log = FALSE,
  output = c("pf", "d"),
  seed = NULL
)

Value

A numeric vector of length n.

Arguments

n

A positive integer specifying the length of the simulated output series.

mu

A scalar indicating the drift.

sigma

A positive scalar indicating the standard deviation of the innovations.

r

A positive value indicating the discount factor.

log

Logical. If true dividends follow a lognormal distribution.

output

A character string giving the fundamental price("pf") or dividend series("d"). Default is `pf'.

seed

An object specifying if and how the random number generator (rng) should be initialized. Either NULL or an integer will be used in a call to set.seed before simulation. If set, the value is saved as "seed" attribute of the returned value. The default, NULL, will not change rng state, and return .Random.seed as the "seed" attribute. Results are different between the parallel and non-parallel option, even if they have the same seed.

Details

If log is set to FALSE (default value) dividends follow:

$$d_t = \mu + d_{t-1} + \epsilon_t$$

where \(\epsilon \sim \mathcal{N}(0, \sigma^2)\). The default parameters are \(\mu = 0.0373\), \(\sigma^2 = 0.1574\) and \(d[0] = 1.3\) (the initial value of the dividend sequence). The above equation can be solved to yield the fundamental price:

$$F_t = \mu(1+r)r^{-2} + r^{-1}d_t$$

If log is set to TRUE then dividends follow a lognormal distribution or log(dividends) follow:

$$\ln(d_t) = \mu + \ln(d_{t-1}) + \epsilon_t$$

where \(\epsilon \sim \mathcal{N}(0, \sigma^2)\). Default parameters are \(\mu = 0.013\), \(\sigma^2 = 0.16\). The fundamental price in this case is:

$$F_t = \frac{1+g}{r-g}d_t$$

where \(1+g=\exp(\mu+\sigma^2/2)\). All default parameter values are those suggested by West (1988).

References

West, K. D. (1988). Dividend innovations and stock price volatility. Econometrica: Journal of the Econometric Society, p. 37-61.

Examples

Run this code
# Price is the sum of the bubble and fundamental components
# 20 is the scaling factor
pf <- sim_div(100, r = 0.05, output = "pf", seed = 123)
pb <- sim_evans(100, r = 0.05, seed = 123)
p <- pf + 20 * pb

autoplot(p)

Run the code above in your browser using DataLab