"""Momentum for tfrun: each morning, hold the names that rose most over the last week.

    python tfrun.py momentum_bot.py --days 60 --every day
    python tfrun.py momentum_bot.py --suite tf-quick-2026.2 --every day
"""

from tfrun import target

LOOKBACK = 5        # trading days
HOLD = 3            # names held, equal weight


def on_step(market):
    rise = {}
    for t in market.tickers:
        closes = market.closes(t, LOOKBACK + 1)
        if len(closes) > LOOKBACK:
            rise[t] = closes[-1] / closes[0] - 1
    if not rise:
        return []                   # not enough history yet
    best = sorted(rise, key=rise.get, reverse=True)[:HOLD]
    return [target(t, 0.9 / HOLD if t in best else 0) for t in market.tickers]
