Source code for ruspy.test.regression_sim_tests.regression_aux

import numba
import numpy as np


[docs]def discount_utility(df, disc_fac): v = 0.0 for i in df.index.levels[0]: v += np.sum( np.multiply( disc_fac ** df.loc[(i, slice(None))].index, df.loc[(i, slice(None)), "utilities"], ) ) return v / len(df.index.levels[0])
[docs]@numba.jit(nopython=True) def disc_ut_loop(utilities, disc_fac): num_buses, num_periods = utilities.shape v = 0.0 for i in range(num_periods): v += (disc_fac**i) * np.sum(utilities[:, i]) return v / num_buses