corporate-governance-and-asset-pricing

This solves a nonlinear stochastic singular control problem related to corporate governance

https://github.com/arashfahim/corporate-governance-and-asset-pricing

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.9%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

This solves a nonlinear stochastic singular control problem related to corporate governance

Basic Info
  • Host: GitHub
  • Owner: arashfahim
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 67 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 4 years ago · Last pushed 8 months ago
Metadata Files
Readme Citation

README.md

A finite regime singular control problem in infinite horizon

This program aims to solve the singular control problem below

$$\sup\mathbb{E}\Big[\int0^\tau e^{-rt}\big(\mu-\rho{It}-dPt\big)+e^{-r\tau}X_\tau\Big]$$

where $dXt=\gamma Xt -dPt + \theta{It}dBt$, and the supremum is over all nondecreasing adapted processes $Pt$, possibly singular, and all adapted processes $It$ taking values in a finite set $[N]:=\lbrace1,...,N\rbrace$. There are $N$ possible values for the pair $(\thetai,\rhoi)$ which are ordered by $0<\theta1<\cdots<\thetaN$ $\mu>\rho1>\cdots>\rhoN=0$. The loser the level of noise, $\thetai$, is, the higher $\rhoi$ is. $\rho_i$ are considered a cost associated to level $i$.

This problem arises in the optimal case of the agency problem with monitoring in theoretical economics. The principal obseves te process $X$ and have freedom to choose $\thetai$ for $i\in [N]$. The small $\thetai$ is, the higher the level of monitoring is. While monitoring level $\thetai$ is applied, the principal pays a running cost at rate $\rhoi$. In the problem $\thetai=\lambda\sigmai$, where $1-\lambda$ is a proportional cost of stealing from the company by the agent. The higher $\lambda$ is, the lower the agent benefits from stealing.

Process $P_t$ is the cumulative payment made by principal to the agent.

The code first solves the variational HJB

$$0=\min\Big(\infi\lbrace-\frac{\theta^2i}{2}V^{\prime\prime}-\rho_i\rbrace-\gamma x V^{\prime} + r V - \mu, V^{\prime} + 1\Big)$$

by turing it into a systm of nonlinear ODEs.

$$\begin{cases} V^{\prime}=U\ U^{\prime}= H^{-1}(\gamma x U - r V + \mu)\ V(0)=0\ U(0)= u_0 \end{cases}$$

where $H(\Gamma)=\infi\lbrace-\frac{\theta^2i}{2}\Gamma-\rhoi\rbrace$. Then, we determine triplet $(x0,x1,x2)$ such that $V(x0)=\mu/r-\gamma/r x0$, $U(x1)+1=0$, and $U^{\prime}(x2)=0$. By iterating over $u0$, we converge towrad achieving $x0=x1=x2$. Upon achieving this goal, $V$ is the solution to the variational HJB and $U$ and $U^\prime$ are its first and second derivatives of $V$.

In each iteration of the code, the nonlinear system of ODEs is solved by from scipy import integrate .

After finding $V$ and $V^{\prime\prime}$, the optimal contract is described as below:

  1. Optimal monitoring strategy: $I(x)=argmini \lbrace -\frac{\theta^2i}{2} V^{\prime\prime}(x)-\rhoi\rbrace $, and, therefore, $\theta(x)=\lambda\sigma{I(x)}$ and $\rho(x)=\rho_{I(x)}$
  2. Optimal payment: $Pt$ is the local time of $dXt=\gamma Xt + \theta(Xt)dBt$ at point $x0$, described by $V(x0)=\mu/r-\gamma/r x0$, $V^{\prime}(x0)+1=0$, and $V^{\prime\prime}(x0)=0$.

Implementation of the contract

To implement the contract, principal create a cash reserve given by $Mt=\frac{Xt}{\lambda}$ and transfers a $\lambda$ portion of ownership of the company to the agent by issuing a non-transferable security that pays dividend when $Mt$ hits $m0=\frac{x0}{\lambda}$ at rate equal to the local time $\lambda^{-1}Pt$.

The value of the principal as a function of $M_t$ is given by

$$f(m):=\mathbb{E}\Big[\int0^\tau e^{-rt}\big(\mu-\rho(Mt)-dP_t\big)\Big]$$

where $\rho(m)=\rho(\lambda m)$, $\sigma(m)=\sigma(\lambda m)$, and $dMt=\gamma Mt dt -\lambda^{-1}dPt + \sigma(Mt)dB_t$

Price of the asset of the company

The value of the security, issued by the principal is given by

$$S(m)=\lambda^{-1}\mathbb{E}\Big[\int0^\tau e^{-rt} dPt\Big]$$

and satisfies the ODE

$$\begin{cases} -\frac{\sigma^2(m)}{2}S^{\prime\prime}-\gamma m S^{\prime} + r S=0\ S(0)=0\ S^\prime(m_0)= 1 \end{cases}$$

Credit worthiness of the company

The credit worthiness of the company can be measured by

$$\mathbb{E}[e^{-r\tau} ]$$

The function $T(m)=\mathbb{E}\Big[\int_0^\tau e^{-rt} dt\Big]=r^{-1}(1-\mathbb{E}[e^{-r\tau}])$, measurng survival of the company, satisfiess the ODE

$$\begin{cases} -\frac{\sigma^2(m)}{2}T^{\prime\prime}-\gamma m T^{\prime} + r T -1=0\ T(0)=0\ T^\prime(m_0)= 0 \end{cases}$$

Monitoring cost

The cost of monitoring is measured by

$$C(m)=\mathbb{E}\Big[\int0^\tau e^{-rt} \rho(Mt) dt\Big]$$

$$\begin{cases} -\frac{\sigma^2(m)}{2}C^{\prime\prime}-\gamma m C^{\prime} + r C -\rho(m)=0\ C(0)=0\ C^\prime(m_0)= 0 \end{cases}$$

An identity

While the program solves each of the above functions separately, it also passes the verification step that the identity below holds true.

$$f(m)=\mu T(m) - C(m) -\lambda S(m)$$

Solving the boundary value problems for $S$, $T$, and $C$

We use the package from scipy.integrate import solve_bvp to solve the ODEs above. Note that the ODEs are are linear but with discontinuous coefficients.

How to run the program:

To run the file, you need to run main.py. A UI window appears and you choose up to 6 sets of parameters. Then, you must click on the 'Save Parameters' and close the UI window. Then, the program runs to solve the problems and show verbose at each step of the solution. Finally, it plots the solutions. Note that the PA_plot.myfigures allows for ploting many combined functions such as $\lambda S(m)$, or $C(m)+\lambda S(m)$.

Finally, tikzplotlib yields tikz files that can be plotted in $\LaTeX$.

Owner

  • Login: arashfahim
  • Kind: user

Citation (CITATION.cff)

cff-version: 0.0.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: "Fahim"
    given-names: "Arash"
    orcid: "https://orcid.org/0000-0001-8028-2471"
  - family-names: "Gervais"
    given-names: "Simon"
  - family-names: "Krishna"
    given-names: "Vijay R"
title: "Corporate Governance and Asset Pricing"
version: "0.0.0"
url: "https://github.com/arashfahim/Corporate-Governance-and-Asset-Pricing"

GitHub Events

Total
  • Push event: 3
Last Year
  • Push event: 3