Repository Public
1"""Time-series momentum: hold an asset while its own past return is positive.23Universe-generic (version 3): the symbols are whatever the agent trades; same rule and parameters as version 1.4"""56META = {7 "name": "ts_momentum",8 "version": "3",9 "universe": ["*"],10 "interval": "1h",11 "lookback": 1500,12 "params": {"window": 720},13}141516def target_weights(data, params):17 window = int(params["window"])18 n = len(data)19 weights = {}20 for symbol, df in data.items():21 close = df["close"].to_numpy()22 if len(close) <= window:23 weights[symbol] = 0.024 continue25 weights[symbol] = 1.0 / n if close[-1] > close[-1 - window] else 0.026 return weights27