Source code for fastlife.model.Economic

"""Economic Assumptions

This Space includes economic assumptions, such as discount rates
and inflation rates. This Space is parametrized with :attr:`ScenID`.

.. rubric:: Space Parameters

Attributes:
    ScenID(:obj:`int`): Scenario ID

.. rubric:: References

Attributes:
    AsmpLookup: Reference to :func:`fastlife.model.Projection.Assumptions.AsmpLookup`
    Scenarios: `ExcelRange`_ object holding scenario data read from
        the input file.

.. _ExcelRange:
   https://docs.modelx.io/en/latest/reference/dataclient.html#excelrange

"""

from modelx.serialize.jsonvalues import *

_formula = lambda ScenID: None

_bases = []

_allow_none = None

_spaces = []

# ---------------------------------------------------------------------------
# Cells

[docs]def DiscRate(t): """Rates for discount cashflows""" return Scenarios[ScenID, "IntRate", t]
[docs]def InflFactor(t): """Inflation factors to adjust expense cashflows""" if t == 0: return 1 else: return InflFactor(t-1) / (1 + AsmpLookup("InflRate"))
[docs]def InvstRetRate(t): """Rate of investment return Set equal to the :func:`DiscRate` """ return DiscRate(t)
# --------------------------------------------------------------------------- # References ScenID = 1 Scenarios = ("Pickle", 3020541690632) AsmpLookup = ("Interface", ("..", "Projection", "Assumptions", "AsmpLookup"), "auto")