def cvar_cubes(): res = [] for s in scenarios: data = fetch_opt_data_test_file(f"portfolio-regret-{s}-cvar") if data is None: data = _derive_main_cube(s) res.append(data) return res
def cvar_data() -> OptData: data = fetch_opt_data_test_file(f"active-cvar") if data is None: data = OptData(load_monte_carlo(total=True)) \ .cut_by_horizon(3) \ .calibrate_data(sd=adj.Vol) \ .alter_frequency('quarterly') \ .aggregate_assets(agg_weights) return data
def cvar_cubes(): data = fetch_opt_data_test_file("active-cvar") if data is not None: return [data] * len(scenarios) cube = load_monte_carlo(total=True) return [ OptData(cube, 'monthly').cut_by_horizon(3).calibrate_data(sd=adj.Vol). alter_frequency('quarterly').aggregate_assets(agg_weights) ] * len(scenarios)
def main_cubes(): res = [] for s in scenarios: d = fetch_opt_data_test_file(f"active-{s}") if d is None: break res.append(d) else: return res with ProcessPoolExecutor(max(cpu_count() - 1, 1)) as P: res = P.map(_derive_main_cube, scenarios) return list(res)
def scenario_data_map() -> Dict[str, OptData]: res = {} for s in scenarios: data = fetch_opt_data_test_file(f"active-{s}") if data is None: data = OptData(load_monte_carlo(total=True)) \ .calibrate_data(adj[s], adj.Vol) \ .alter_frequency('quarter') \ .aggregate_assets(agg_weights) \ .set_cov_mat(cov_mat) res[s] = data return res