AArcher / Quant Research中文

FACTOR / MOMENTUM-20D

First formal case · Core research complete

20-Day Price Momentum Factor

The first factor carried through the full workflow, deliberately using a simple definition to clarify contracts between research, signals, and execution.

HYPOTHESIS

Research objective

Test whether stocks with stronger trailing 20-day performance earn relatively higher returns over the following five trading days. The first pass avoids complex optimisation until the signal itself is understood.

Factor definition
Momentumi,t = Pi,t / Pi,t−20 − 1

Validation target: forward five-trading-day return

METHOD

Research workflow

  1. 01Load an adjusted-close price matrix
  2. 02Calculate trailing 20-day return
  3. 03Calculate forward five-day return
  4. 04Align factor and target by date and security
  5. 05Produce IC, Rank IC, ICIR, and grouped returns
  6. 06Convert the Top 20% into an equal-weight target portfolio

IMPLEMENTATION

Production implementation

src/archer_factor_analyzer/calculate_factors.pyPYTHON
def calculate_momentum_factor(price_df, window=20):
    momentum_factor_df = calculate_return(
        price_df, period=window
    )
    return momentum_factor_df

Reuses the generic return utility while keeping the window configurable.

EVIDENCE & LIMITS

Evidence and boundaries

Related strategy: Top-20% Equal-Weight Momentum →