The Continuous Stochastic Gain-Loss in Production Facilities as a Result of an Exogenous Financial Shock¶

Gianmarco Corradini, MS¶

Modules¶


import pandas as pd
import numpy as np
import math as m
import matplotlib as mp
import scipy as sp
from scipy.integrate import quad

2 Assumptions¶

Define $f_{1}, f_{2}, f_{3}$ and supposing $r_{t=0}=0.025$¶

def f_1(r):
    f_1=(m.exp(-10*r)+10*r-1)/r**2
    return f_1
def f_2_frac_gamma(r):
    f_2_frac_gamma=(1-m.exp(-10*r)*(10*r+1))/r**2
    return f_2_frac_gamma
def f_3_frac_delta(r):
    f_3_frac_delta=(1-m.exp(-10*r))/r
    return f_3_frac_delta
r0=0.025
gamma = f_1(r0)/f_2_frac_gamma(r0)
delta = f_1(r0)/f_3_frac_delta(r0)
print(gamma, delta)
def f_2(r):
    f_2= gamma * (1-m.exp(-10*r)*(10*r+1))/r**2
    return f_2
def f_3(r):
    f_3=delta*(1-m.exp(-10*r))/r
    return f_3
print(f_1(r0), f_2(r0), f_3(r0))

3¶

Defining the Normal Distribution with mean $r_{t=0}$¶

def Gss (r,v):
    return (1/(v*m.sqrt(2*m.pi)))*m.exp(-0.5*(r-r0)**2/v**2)
 

Define the argument of the integral for calculating the mean¶

def z1(r,v):
    return f_1(r)*Gss(r,v)
def z2(r,v):
    return f_2(r)*Gss(r,v)
def z3(r,v):
    return f_3(r)*Gss(r,v)

Integral as a function of variance¶

def zz1(y):
    return quad(z1, 0, 1, args=(y, ))
def zz2(y):
    return quad(z2, 0, 1, args=(y, ))
def zz3(y):
    return quad(z3, 0, 1, args=(y, ))

Computing expected value as a function of variance (LOTUS Theorem used)¶

EXP_f1 = []
j=0.001
while j < 0.5:
    EXP_f1.append(zz1(j)[0])
    j+=0.001
print(EXP_f1)
EXP_f2 = []
j=0.001
while j < 0.5:
    EXP_f2.append(zz2(j)[0])
    j+=0.001
print(EXP_f2)
EXP_f3 = []
j=0.001
while j < 0.5:
    EXP_f3.append(zz3(j)[0])
    j+=0.001
print(EXP_f3)