G-Cubed
Python G-Cubed 5.0.2.0 · build 1
Generation details
Source revision
4c4a95aded1b5ca5e8f9c292ad8250440cd9c18b (modified inputs)
Source fingerprint
e2c719b38e03c6b1748f10e26bc1caf1ead5674dd1beee6628a6ccf7b90fd39b
Generated (UTC)
2026-11-11T03:06:22.844261+00:00
Generator
pdoc 16.0.0, CPython 3.14.8
Generation metadata

gcubed.projections._ev_calculation

Pure regional lifetime equivalent variation with the example's terminal tail.

@dataclass(frozen=True)
class EVResult:

Percentage EV, utility diagnostics and optional anchored monetary amounts.

EVResult( ev_percent: float, phi: float, reference_utility: float, scenario_utility: float, terminal_tail_weight_share: float, ev_level: float | None = None, reference_wealth: float | None = None, counterfactual_wealth: float | None = None)
ev_percent: float
phi: float
reference_utility: float
scenario_utility: float
terminal_tail_weight_share: float
ev_level: float | None = None
reference_wealth: float | None = None
counterfactual_wealth: float | None = None
class EVInputError(builtins.ValueError):

An input does not satisfy the regional EV calculation contract.

Inherited Members
builtins.BaseException
BaseException
with_traceback
add_note
args
def calculate_ev( reference_path: pandas.DataFrame, scenario_path: pandas.DataFrame, *, weights: pandas.Series, sigma: float, time_preference: float, growth: float, include_monetary: bool = False) -> EVResult:

Compare declared household-factor paths under common preferences.

Weights must sum to one within absolute tolerance 1e-12. The initial observation is undiscounted; a frozen continuous tail follows the final annual observation. Inputs are read without mutation. Monetary results use reference prct/prid index levels and decimal intr; they remove the common quantity trend from the valuation year in log space.