Code:
selection = "in(datacategories, 'model') && not(in(competitions, 'IQC2025S1')) && not(in(competitions, 'IQC2025S2')) && not(in(competitions, 'challenge'))"
combo = """
stats = generate_stats(alpha);
ts_ir(stats.returns, 252)
"""
region = "USA"
neut_list = [
'REVERSION_AND_MOMENTUM',
'STATISTICAL',
'CROWDING',
'FAST',
'SLOW',
'SLOW_AND_FAST',
'COUNTRY',
'SECTOR',
'INDUSTRY',
'SUBINDUSTRY',
]
REGION_UNIVERSE_MAP = {
"USA": "TOP3000",
"ASI": "MINVOL1M",
"GLB": "MINVOL1M",
"EUR": "TOP2500",
"IND": "TOP500",
}
universe = REGION_UNIVERSE_MAP.get(region, "MINVOL1M")
if region == "USA":
neut_list = [n for n in neut_list if n != "COUNTRY"]
elif region == "IND":
neut_list = [n for n in neut_list if n not in ("COUNTRY", "STATISTICAL")]
alpha_spec = [
ace.generate_alpha(
alpha_type="SUPER",
selection=selection,
combo=combo,
region=region,
universe=universe,
neutralization=neut,
truncation=0.01,
decay=2,
)
for neut in neut_list
]
sim_result = ace.simulate_alpha_list_multi(s, alpha_spec)