Repository Public
1"""Moving-average trend following: hold an asset while its fast average is above its slow average."""23META = {4 "name": "ma_trend",5 "version": "2",6 "universe": ["ETH", "LINK", "AAVE"],7 "interval": "1h",8 "lookback": 1000,9 "params": {"fast": 72, "slow": 480},10}111213def target_weights(data, params):14 fast, slow = int(params["fast"]), int(params["slow"])15 n = len(data)16 weights = {}17 for symbol, df in data.items():18 close = df["close"].to_numpy()19 if len(close) < max(fast, slow) or fast >= slow:20 weights[symbol] = 0.021 continue22 weights[symbol] = 1.0 / n if close[-fast:].mean() > close[-slow:].mean() else 0.023 return weights24