Learn R Programming

capn (version 2.0.0)

pdotaprox: Compute Pdot-Approximation Coefficients

Description

Computes Pdot-approximation coefficients for the Chebyshev polynomial representation of the shadow price derivative using the approximation space defined by aproxdef. Currently, only the one-dimensional case is supported.

Usage

pdotaprox(aproxspace, stock, sdot, dsdotds, dsdotdss, dwds, dwdss)

Value

A list containing the approximation results. Individual elements can be accessed using results$item or results[["item"]]. The list includes:

degree

Degree of the Chebyshev polynomial.

lowerB

Lower bound of the Chebyshev domain.

upperB

Upper bound of the Chebyshev domain.

delta

Discount rate.

coefficient

Estimated Chebyshev polynomial coefficients.

Arguments

aproxspace

An approximation space defined by the aproxdef function.

stock

A vector of stock values, \(s\).

sdot

A vector of stock growth rates, \(\dot{s} = \frac{ds}{dt}\).

dsdotds

A vector of derivatives of stock growth with respect to stock, \(\frac{d \dot{s}}{d s}\).

dsdotdss

A vector of second derivatives of stock growth with respect to stock, \( \frac{d}{ds} \left( \frac{d \dot{s}}{ds} \right)\).

dwds

A vector of marginal welfare with respect to stock, \(\frac{dW}{ds}\).

dwdss

A vector of second derivatives of marginal welfare with respect to stock, \(\frac{d}{ds} \left( \frac{dW}{ds} \right)\).

Details

The Pdot-approximation solves for the shadow price of a stock, \(p(s)\), using the relationship:

\(p(s) = \frac{W_{s}(s) + \dot{p}(s)}{\delta - \dot{s}_{s}}\),

where \(W_{s} = \frac{dW}{ds}\), \( \dot{p}(s) = \frac{dp}{dt}\), \(\dot{s}_{s} = \frac{d\dot{s}}{ds}\), and \(\delta\) is the discount rate.

Taking the time derivative of this expression yields:

\( \dot{p} = \frac{ \left( W_{ss} \dot{s} + \ddot{p} \right) \left( \delta - \dot{s}_{s} \right) + \left( W_{s} + \dot{p} \right) \left( \dot{s}_{ss} \dot{s} \right) }{ \left( \delta - \dot{s}_{s} \right)^2 } \).

Let the approximation be \( \dot{p}(s) = \mathbf{\Phi}(s)\mathbf{\beta} \), where \(\mathbf{\Phi}(s)\) is a vector of Chebyshev basis functions and \(\mathbf{\beta}\) is the coefficient vector. Then,

\( \ddot{p} = \frac{d \dot{p}}{ds} \frac{ds}{dt} = \mathrm{diag}(\dot{s}) \mathbf{\Phi}_{s}(s) \mathbf{\beta} \).

Substituting and rearranging yields the linear system:

\( \mathbf{\beta} = A^{-1} B, \)
where

\( A = \mathrm{diag} \left( \delta - \dot{s}_{s} \right)^2 \mathbf{\mu} - \mathrm{diag} \left( \dot{s} (\delta - \dot{s}_{s}) \right) \mathbf{\mu}_{s} - \mathrm{diag} \left( \dot{s}_{ss} \dot{s} \right) \mathbf{\mu}, \)

and

\( B = W_{ss} \dot{s} (\delta - \dot{s}_{s}) + W_{s} \dot{s}_{ss} \dot{s}. \)

In the over-determined case, coefficients are obtained via least squares:

\( \mathbf{\beta} = \left( A^{T} A \right)^{-1} A^{T} B. \)

For additional theoretical background, see Fenichel and Abbott (2014).

References

Fenichel, Eli P. and Joshua K. Abbott. (2014). Natural Capital: From Metaphor to Measurement. Journal of the Association of Environmental Economists, 1(1/2), 1--27. tools:::Rd_expr_doi("10.1086/676034")

See Also

aproxdef, pdotsim

Examples

Run this code
## 1-D Reef-fish example: see Fenichel and Abbott (2014)
data("GOM")

param <- GOM$param
simData <- GOM$simData

Aspace <- aproxdef(param$order, param$lowerK, param$upperK, param$delta)

pdotC <- pdotaprox(
  Aspace,
  simData$stock,
  simData$sdot,
  simData$dsdotds,
  simData$dsdotdss,
  simData$dwds,
  simData$dwdss
)

Run the code above in your browser using DataLab