Source code for cashflows.utilityfun

"""
Economic utility functions
===============================================================================

Overview
-------------------------------------------------------------------------------


Functions in this module
-------------------------------------------------------------------------------



"""
from math import log, exp

[docs]def exp_utility_fun(r_param): """Exponential utility function. U(x) = 1 - exp(-x / r_param) """ def utility_fun(x, inverse=False): if inverse is False: return (1 - exp( -x / r_param)) return - r_param * log(1 - x) return utility_fun
[docs]def log_utility_fun(r_param): """Exponential utility function. U(x) = log(x + r_param) """ def utility_fun(x, inverse=False): if inverse is False: return log(x + r_param) return exp(x) - r_param return utility_fun
[docs]def sqrt_utility_fun(r_param): """Exponential utility function. U(x) = + sqrt(x + r_param) """ def utility_fun(x, inverse=False): if inverse is False: return (x + r_param) ** 0.5 return x * x - r_param return utility_fun