{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "43ab2e90",
   "metadata": {},
   "source": [
    "# Momentum52: Independent Replication of an Intermediate-Horizon Momentum Strategy\n",
    "\n",
    "**Computational Finance — Post 3**  \n",
    "**Cenk Ufuk Yildiran · research draft · 26 October 2026**\n",
    "\n",
    "> **Status:** executable research protocol, **not an executed empirical result**. Do not cite reference-paper figures as notebook results until Yahoo Finance data have been downloaded, the notebook has run without errors, and final outputs have been independently audited.\n",
    "\n",
    "## Abstract\n",
    "\n",
    "This notebook independently implements the historically frozen **Momentum52 base policy** documented in *From Breakouts and Momentum to Short-Term Reversal: Sequential Strategy Development and Out-of-Sample Validation in U.S. Mid-Cap Equities*. Unlike Post 1, its ticker universe is not scraped anew: it uses a **frozen, reconstructed 399-ticker historical-paper membership file**, inferred from the documented Post 1 constituent reconciliation. Historical daily OHLCV prices are re-downloaded from Yahoo Finance for the fixed research calendar. The notebook specifies return signals mathematically, checks timing and portfolio accounting, executes full-calendar and original development/validation backtests, and compares prices with the MDY benchmark. Differing downloaded history can still produce differing results even with unchanged membership.\n",
    "\n",
    "**No trading orders are submitted. No imports from or changes to the original trading-system repository are required.**"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6f0778ae",
   "metadata": {},
   "source": [
    "## 1. Literature review and economic motivation\n",
    "\n",
    "**Intermediate-horizon cross-sectional momentum.** Jegadeesh and Titman (1993) established that ranking U.S. securities on intermediate-horizon past returns can predict future return spreads. Their evidence concerns diversified winner–loser portfolios, not the concentrated two-position long-only rules simulated here. Carhart (1997) incorporates a return-momentum factor when studying fund performance and emphasizes investment costs and survivorship. Novy-Marx (2012) further demonstrates the importance of the precise formation window: intermediate past performance rather than the most recent month accounts for much of conventional momentum's cross-sectional predictability. These motivate the two *skip-recent-month* historical indicators, not their particular cutoffs or portfolio rules.\n",
    "\n",
    "**Near-high conditioning.** George and Hwang (2004) document the information in a security's proximity to its 52-week high. Momentum52 operationalizes this idea by comparing the present close with the maximum **prior** 252-session high and screening at 95%. That threshold and the separate 55-session breakout gate are project-specific historical implementation choices—not parameters endorsed or estimated by George and Hwang.\n",
    "\n",
    "**Relative strength, volume, and market state.** Lee and Swaminathan (2000) show trading volume can be informative about momentum and its persistence or eventual reversal. Relative strength subtracts the benchmark's 126-session price return, while the MDY trend gate limits entry during weak benchmark configurations. Neither this particular subtraction nor the weighted percentile formula is a standard textbook factor. The literature motivates study, not a claim of optimal combination weights.\n",
    "\n",
    "**Momentum crash and research-selection risk.** Daniel and Moskowitz (2016) identify severe conditional drawdowns in momentum strategies, particularly around market rebounds after distressed conditions. Sullivan, Timmermann and White (1999) and White (2000) warn that technical-rule selection after seeing returns can yield false discoveries. In the historical project, the original Momentum52 holdout failed. Variants explored afterward must not be relabelled independent validation.\n",
    "\n",
    "**Key methodological distinction.** Conventional 12–2 long–short factor momentum is not identical to this implementation: 12–1 here is **C(t−21)/C(t−252)−1**; the portfolio is long-only, cash-constrained, and enters on the next trading day's open with fixed stop/trailing/time exits. Therefore, positive momentum premia in the literature do not imply positive returns for this specific policy.\n",
    "\n",
    "*References are fully cited in Section 11.*"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a997525b",
   "metadata": {},
   "source": [
    "## 2. Notation, mathematical specification and timing\n",
    "\n",
    "For security $i$ at session $t$, let $(O_{i,t},H_{i,t},L_{i,t},C_{i,t},V_{i,t})$ denote daily OHLCV. All indicators are known at the close of **signal session** $t$; buys can first occur at the **next MDY trading-session open**, $t+1$.\n",
    "\n",
    "### 2.1 Trend, volume and volatility\n",
    "\n",
    "$$SMA^{(k)}_{i,t}=\\frac{1}{k}\\sum_{j=0}^{k-1}C_{i,t-j},\\qquad k\\in\\{20,50,200\\}.$$\n",
    "\n",
    "$$\\Delta SMA^{(50,20)}_{i,t}=SMA^{(50)}_{i,t}-SMA^{(50)}_{i,t-20}.$$\n",
    "\n",
    "$$ADV^{(20)}_{i,t}=\\frac{1}{20}\\sum_{j=0}^{19}C_{i,t-j}V_{i,t-j},\\quad VR_{i,t}=\\frac{V_{i,t}}{\\frac{1}{20}\\sum_{j=0}^{19}V_{i,t-j}}.$$\n",
    "\n",
    "$$TR_{i,t}=\\max\\{H_{i,t}-L_{i,t},|H_{i,t}-C_{i,t-1}|,|L_{i,t}-C_{i,t-1}|\\},\\quad ATR^{(14)}_{i,t}=\\frac{1}{14}\\sum_{j=0}^{13}TR_{i,t-j}.$$\n",
    "\n",
    "`ATR(14)` is a **simple rolling average** of true range (not Wilder's recursive smoother). The prior high excludes the current observation:\n",
    "\n",
    "$$B^{(55)}_{i,t}=\\max_{1\\le j\\le55}H_{i,t-j},\\quad H^{(252)}_{i,t}=\\max_{1\\le j\\le252}H_{i,t-j}.$$\n",
    "\n",
    "### 2.2 Medium-horizon momentum and 52-week high\n",
    "\n",
    "$$MOM^{12-1}_{i,t}=\\frac{C_{i,t-21}}{C_{i,t-252}}-1,\\qquad MOM^{6-1}_{i,t}=\\frac{C_{i,t-21}}{C_{i,t-126}}-1.$$\n",
    "\n",
    "$$H52_{i,t}=\\frac{C_{i,t}}{H^{(252)}_{i,t}},\\quad a_{i,t}=\\frac{ATR^{(14)}_{i,t}}{C_{i,t}}.$$\n",
    "\n",
    "For $D_{i,M}$, the sorted intersection of stock and MDY trading dates, the reference implementation constructs *aligned* 126-session returns:\n",
    "\n",
    "$$RS^{(126)}_{i,t}=\\left(\\frac{C_{i,t}}{C_{i,t-126}}-1\\right)-\\left(\\frac{C_{M,t}}{C_{M,t-126}}-1\\right),\\quad t\\in D_{i,M}.$$\n",
    "\n",
    "The two returns use exactly the same aligned row positions. A missing stock trading session must not be patched with a future observation.\n",
    "\n",
    "### 2.3 Benchmark gate and eligibility\n",
    "\n",
    "$$G_t=\\mathbf{1}\\left[C_{M,t}>SMA^{(50)}_{M,t}>SMA^{(200)}_{M,t}\\right].$$\n",
    "\n",
    "A stock can be a candidate only when $G_t=1$ **and all** of the following hold:\n",
    "\n",
    "$$\\begin{aligned}\n",
    "&C_{i,t}\\ge10,\\quad ADV^{(20)}_{i,t}\\ge\\$5{,}000{,}000,\\\\\n",
    "&C_{i,t}>SMA^{(50)}_{i,t}>SMA^{(200)}_{i,t},\\quad \\Delta SMA^{(50,20)}_{i,t}>0,\\\\\n",
    "&C_{i,t}\\ge B^{(55)}_{i,t},\\quad VR_{i,t}\\ge1.20,\\\\\n",
    "&MOM^{12-1}_{i,t}\\ge0.10,\\quad MOM^{6-1}_{i,t}\\ge0.05,\\\\\n",
    "&H52_{i,t}\\ge0.95,\\quad RS^{(126)}_{i,t}\\ge0,\\quad a_{i,t}\\le0.08.\n",
    "\\end{aligned}$$\n",
    "\n",
    "Stock processing starts at row index **280** (zero-indexed) after the historical series has been downloaded; at least 280 observations are required. No additional gap cap or volatility floor applies to the governed base policy.\n",
    "\n",
    "### 2.4 Candidate ranking (within each signal date)\n",
    "\n",
    "Let $Q_t(x_i)$ be pandas' average-tie percentile rank `rank(method=\"average\",pct=True)` over **eligible candidates on date $t$**; for a singleton $Q_t=1$.\n",
    "\n",
    "$$S_{i,t}=100\\big[0.30Q_t(MOM^{12-1}_{i,t})+0.20Q_t(MOM^{6-1}_{i,t})+0.25Q_t(RS^{(126)}_{i,t})+0.15Q_t(H52_{i,t})+0.10Q_t(VR_{i,t})\\big].$$\n",
    "\n",
    "Round $S$ to **two decimals**, sort by rounded $S$ descending, then by raw $RS^{(126)}$ descending, then by raw $MOM^{12-1}$ descending; source-universe order is the final stable tie break.\n",
    "\n",
    "### 2.5 Entry, stops and portfolio rules\n",
    "\n",
    "$$P^{buy}_{i,t+1}=O_{i,t+1}(1+0.0005),\\quad P^{sell}_{i,s}=P^{raw\\ exit}_{i,s}(1-0.0005).$$\n",
    "\n",
    "$$s_{i,t}=\\begin{cases}0.05,& ATR^{(14)}_{i,t}\\le0,\\\\ \\min\\{0.08,\\max\\{0.04,1.5ATR^{(14)}_{i,t}/C_{i,t}\\}\\},&ATR^{(14)}_{i,t}>0.\\end{cases}$$\n",
    "\n",
    "$$q=\\min\\left\\{\\left\\lfloor\\frac{125}{P^{buy}s}\\right\\rfloor,\\left\\lfloor\\frac{2500}{P^{buy}}\\right\\rfloor,\\left\\lfloor\\frac{Cash-1}{P^{buy}}\\right\\rfloor\\right\\},\\qquad P^{stop}_{i,0}=P^{buy}(1-s).$$\n",
    "\n",
    "Starting equity $\\$5{,}000$; no leverage; maximum two open long positions, two new orders per day, $\\$2{,}500$ per stock, $\\$125$ **planned** risk per trade, and $\\$1$ entry / $\\$1$ exit commission. Upon a favourable **+10% intraday high** relative to executed entry price, activate a trailing stop at $0.95$ times the most recent highest high while active; never loosen stops. The adverse **previous stop check occurs before the bar's favourable high**. An open gap through the stop exits at the opening price. Surviving positions are closed at the session close after **30 holding bars including entry**, or at the research endpoint.\n",
    "\n",
    "$$Equity_t=Cash_t+\\sum_{i\\in Open_t}q_iC_{i,t},\\qquad DD_{max}=\\min_t\\left(\\frac{Equity_t}{\\max_{s\\le t}Equity_s}-1\\right).$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "569f42b0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Notebook Python 3.12.10 | Windows\n",
      "Frozen study window: 2021-09-13 through 2026-09-10\n",
      "Original holdout: 2025-02-21 through 2026-09-10\n"
     ]
    }
   ],
   "source": [
    "from pathlib import Path\n",
    "import hashlib, json, math, sys, platform\n",
    "from datetime import datetime, timezone\n",
    "from collections import defaultdict\n",
    "import numpy as np, pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# Running from research/post-3/ is the recommended workflow.\n",
    "WORKDIR = Path.cwd().resolve()\n",
    "UNIVERSE_FILE = WORKDIR / \"data/original_paper_universe_399.csv\"\n",
    "PROVENANCE_FILE = WORKDIR / \"data/universe_provenance.json\"\n",
    "RESULTS = WORKDIR / \"results\"\n",
    "FIGURES = WORKDIR / \"figures\"\n",
    "RESULTS.mkdir(exist_ok=True)\n",
    "FIGURES.mkdir(exist_ok=True)\n",
    "\n",
    "START_DATE = \"2021-09-13\"\n",
    "END_DATE = \"2026-09-10\"\n",
    "END_DATE_EXCLUSIVE = \"2026-09-11\"\n",
    "DEV_START = \"2022-10-21\"\n",
    "DEV_END = \"2025-02-20\"\n",
    "VAL_START = \"2025-02-21\"\n",
    "VAL_END = \"2026-09-10\"\n",
    "COMMON_START = \"2025-07-30\"\n",
    "\n",
    "STARTING_EQUITY = 5000.0\n",
    "MAX_POSITION_USD = 2500.0\n",
    "RISK_PER_TRADE_USD = 125.0\n",
    "MAX_OPEN_POSITIONS = 2\n",
    "MAX_DAILY_ORDERS = 2\n",
    "SLIPPAGE_BPS = 5.0\n",
    "COMMISSION_PER_ORDER = 1.0\n",
    "MAX_HOLDING_BARS = 30\n",
    "TRAILING_ACTIVATION = 0.10\n",
    "TRAILING_DISTANCE = 0.05\n",
    "MINIMUM_HISTORY_BARS = 280\n",
    "\n",
    "print('Notebook Python',sys.version.split()[0], '|',platform.system())\n",
    "print('Frozen study window:',START_DATE,'through',END_DATE)\n",
    "print('Original holdout:',VAL_START,'through',VAL_END)\n",
    "assert UNIVERSE_FILE.exists() and PROVENANCE_FILE.exists(), 'Start Jupyter from research/post-3 folder; keep data/ files in place.'"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0cc79ca4",
   "metadata": {},
   "source": [
    "## 3. Frozen historical-paper universe, without Wikipedia access\n",
    "\n",
    "**Provenance:** Post 1's 21 October 2026 *post-publication reconciliation* documents a 393-security intersection between the original 399-ticker universe and its independently downloaded 400-ticker Wikipedia universe. The original-only tickers were `CPRI, ILMN, OLN, P, SAM, TWLO`; the Post-1-only tickers were `AGNC, CORT, CTVA, EAT, FORM, HUBS, MOG-A`. We reconstructed and froze the 399 historical-paper tickers from Post 1's published reproducibility-manifest ticker keys and these membership differences. This is **membership derived from an audited reconciliation**, not a byte-level copy of the historical the original historical-universe CSV file. The provenance is packaged with this notebook and separately hashed.\n",
    "\n",
    "The source data file is a local input, not dynamically scraped. Any change in symbols or file bytes **raises an assertion error before downloading historical prices**."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "9fa16b3e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Frozen stocks: 399  | SHA-256: 9422952966c99a5e19a541705742f72c629b7bd1d4d2becc37b392eb25de6c52\n",
      "Universe provenance: Membership reconstruction from published Section 6, not a direct byte-for-byte original data/universe.csv archive\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>symbol</th>\n",
       "      <th>yahoo_symbol</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>AA</td>\n",
       "      <td>AA</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>AAL</td>\n",
       "      <td>AAL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>AAON</td>\n",
       "      <td>AAON</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>ACI</td>\n",
       "      <td>ACI</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>ACM</td>\n",
       "      <td>ACM</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>ADC</td>\n",
       "      <td>ADC</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>AEIS</td>\n",
       "      <td>AEIS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>AFG</td>\n",
       "      <td>AFG</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>AGCO</td>\n",
       "      <td>AGCO</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>AHR</td>\n",
       "      <td>AHR</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  symbol yahoo_symbol\n",
       "0     AA           AA\n",
       "1    AAL          AAL\n",
       "2   AAON         AAON\n",
       "3    ACI          ACI\n",
       "4    ACM          ACM\n",
       "5    ADC          ADC\n",
       "6   AEIS         AEIS\n",
       "7    AFG          AFG\n",
       "8   AGCO         AGCO\n",
       "9    AHR          AHR"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "provenance = json.loads(PROVENANCE_FILE.read_text(encoding='utf-8'))\n",
    "actual_sha = hashlib.sha256(UNIVERSE_FILE.read_bytes()).hexdigest()\n",
    "assert actual_sha == provenance['sha256'], 'Frozen universe file SHA-256 has changed.'\n",
    "universe = pd.read_csv(UNIVERSE_FILE,dtype=str)\n",
    "assert len(universe) == 399 and universe['symbol'].is_unique\n",
    "assert universe['yahoo_symbol'].is_unique and not universe.isna().any().any()\n",
    "assert not {'AGNC','CORT','CTVA','EAT','FORM','HUBS','MOG-A'}.intersection(universe.symbol)\n",
    "assert {'CPRI','ILMN','OLN','P','SAM','TWLO'}.issubset(set(universe.symbol))\n",
    "assert (universe.symbol.sort_values().tolist() == universe.symbol.tolist())\n",
    "print('Frozen stocks:',len(universe),' | SHA-256:',actual_sha)\n",
    "print('Universe provenance:', provenance['verification_status'])\n",
    "display(universe.head(10))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3d3f18b6",
   "metadata": {},
   "source": [
    "## 4. Indicator functions and controlled synthetic tests\n",
    "\n",
    "These functions mirror the historical signal processing in the original governed indicator and Momentum52 implementation without importing or modifying the original repository. A few deliberately simple numerical checks run before any research outcome is calculated."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "ebbd081c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Indicator, eligibility, ranking and stop functions: READY\n"
     ]
    }
   ],
   "source": [
    "def clean_ohlcv(df):\n",
    "    if df is None or df.empty:\n",
    "        return pd.DataFrame(columns=['open','high','low','close','volume'])\n",
    "    out = df.copy()\n",
    "    out.columns = [str(x).strip().lower() for x in out.columns]\n",
    "    cols=['open','high','low','close','volume']\n",
    "    if not set(cols).issubset(out):\n",
    "        raise ValueError('Missing OHLCV columns')\n",
    "    out=out[cols].copy()\n",
    "    out.index=pd.to_datetime(out.index)\n",
    "    if out.index.tz is not None:\n",
    "        out.index=out.index.tz_localize(None)\n",
    "    out.index.name='date'\n",
    "    if not out.index.is_unique:\n",
    "        raise ValueError('Duplicate dates in OHLCV')\n",
    "    out=out.apply(pd.to_numeric,errors='coerce').dropna(subset=cols[:4]).sort_index()\n",
    "    out['volume']=out['volume'].fillna(0)\n",
    "    return out\n",
    "\n",
    "def add_momentum52_features(prices):\n",
    "    d=clean_ohlcv(prices)\n",
    "    d['sma20']=d.close.rolling(20).mean()\n",
    "    d['sma50']=d.close.rolling(50).mean()\n",
    "    d['sma200']=d.close.rolling(200).mean()\n",
    "    pclose=d.close.shift(1)\n",
    "    tr=pd.concat([d.high-d.low,(d.high-pclose).abs(),(d.low-pclose).abs()],axis=1).max(axis=1)\n",
    "    d['atr14']=tr.rolling(14).mean()\n",
    "    d['avg_volume20']=d.volume.rolling(20).mean()\n",
    "    d['volume_ratio']=d.volume/d.avg_volume20.replace(0,np.nan)\n",
    "    d['avg_dollar_volume20']=(d.close*d.volume).rolling(20).mean()\n",
    "    d['prior_breakout_high']=d.high.shift(1).rolling(55).max()\n",
    "    d['prior_high252']=d.high.shift(1).rolling(252).max()\n",
    "    d['sma50_slope20']=d.sma50-d.sma50.shift(20)\n",
    "    d['momentum_12_1']=d.close.shift(21)/d.close.shift(252)-1.0\n",
    "    d['momentum_6_1']=d.close.shift(21)/d.close.shift(126)-1.0\n",
    "    d['high52_ratio']=d.close/d.prior_high252\n",
    "    d['atr_pct']=d.atr14/d.close\n",
    "    return d\n",
    "\n",
    "def aligned_relative_strength_126(stock,mdy):\n",
    "    j=stock[['close']].rename(columns={'close':'stock'}).join(\n",
    "        mdy[['close']].rename(columns={'close':'benchmark'}),how='inner'\n",
    "    )\n",
    "    return (j.stock/j.stock.shift(126)-1)-(j.benchmark/j.benchmark.shift(126)-1)\n",
    "\n",
    "def eligible_momentum52(row,rs):\n",
    "    need=['close','sma50','sma200','sma50_slope20','volume_ratio','avg_dollar_volume20',\n",
    "          'prior_breakout_high','momentum_12_1','momentum_6_1','high52_ratio','atr_pct']\n",
    "    if any(pd.isna(row[k]) for k in need) or pd.isna(rs):\n",
    "        return False\n",
    "    return bool(row.close>=10 and row.avg_dollar_volume20>=5_000_000\n",
    "        and row.close>row.sma50>row.sma200 and row.sma50_slope20>0\n",
    "        and row.close>=row.prior_breakout_high and row.volume_ratio>=1.2\n",
    "        and row.momentum_12_1>=0.10 and row.momentum_6_1>=0.05\n",
    "        and row.high52_ratio>=0.95 and rs>=0 and row.atr_pct<=0.08)\n",
    "\n",
    "def percentile_score(candidates):\n",
    "    if candidates.empty:\n",
    "        return candidates.copy()\n",
    "    d=candidates.copy()\n",
    "    weights={'momentum_12_1':0.30,'momentum_6_1':0.20,'rs126':0.25,\n",
    "             'high52_ratio':0.15,'volume_ratio':0.10}\n",
    "    total=sum(w*d[col].rank(method='average',pct=True) for col,w in weights.items())\n",
    "    d['score']=(100*total).round(2)\n",
    "    return d.sort_values(['score','rs126','momentum_12_1'],ascending=False,kind='stable').reset_index(drop=True)\n",
    "\n",
    "def stop_fraction(close,atr14):\n",
    "    if close<=0: raise ValueError('Invalid close')\n",
    "    return 0.05 if atr14<=0 else min(0.08,max(0.04,1.5*atr14/close))\n",
    "\n",
    "print('Indicator, eligibility, ranking and stop functions: READY')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "4908681a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "SYNTHETIC INDICATOR AND CROSS-SECTIONAL RANKING TESTS: PASS\n"
     ]
    }
   ],
   "source": [
    "# Synthetic tests: never presented as historical results.\n",
    "n=330\n",
    "ix=pd.bdate_range('2024-01-01',periods=n)\n",
    "close=pd.Series(50+np.arange(n)*0.16,index=ix)\n",
    "synthetic=pd.DataFrame({'open':close*0.999,'high':close*1.003,\n",
    "    'low':close*0.997,'close':close,'volume':np.full(n,500000)},index=ix)\n",
    "f=add_momentum52_features(synthetic)\n",
    "assert np.isclose(f.iloc[-1].momentum_12_1,close.iloc[-22]/close.iloc[-253]-1)\n",
    "assert np.isclose(f.iloc[-1].momentum_6_1,close.iloc[-22]/close.iloc[-127]-1)\n",
    "assert np.isclose(f.iloc[-1].prior_high252,synthetic.high.iloc[-253:-1].max())\n",
    "assert np.isclose(f.iloc[-1].prior_breakout_high,synthetic.high.iloc[-56:-1].max())\n",
    "assert 0.04 <= stop_fraction(100,3) <=0.08\n",
    "assert stop_fraction(100,0)==0.05\n",
    "assert percentile_score(pd.DataFrame([dict(momentum_12_1=.2,momentum_6_1=.1,rs126=.1,high52_ratio=.98,volume_ratio=1.5)])).score.iloc[0]==100\n",
    "# A 2-candidate rank test where all features rank in the same order: scores 50 and 100.\n",
    "p=pd.DataFrame([dict(momentum_12_1=.20,momentum_6_1=.10,rs126=.05,high52_ratio=.97,volume_ratio=1.3),dict(momentum_12_1=.30,momentum_6_1=.15,rs126=.10,high52_ratio=.98,volume_ratio=1.5)])\n",
    "assert percentile_score(p).score.tolist()==[100,50]\n",
    "print('SYNTHETIC INDICATOR AND CROSS-SECTIONAL RANKING TESTS: PASS')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "199a54d4",
   "metadata": {},
   "source": [
    "## 5. Yahoo Finance data retrieval — the only external price source\n",
    "\n",
    "**Fixed date range:** 2021-09-13 to 2026-09-10 inclusive; `yfinance` uses an **exclusive** end date of 2026-09-11. Pull raw `Open/High/Low/Close/Volume` with `auto_adjust=False`, `actions=False`, and `repair=False`. Historical Yahoo `Close` is generally split-adjusted, but is not dividend-adjusted `Adj Close`—we do **not** describe this series as wholly unadjusted. Data may have been revised since the original paper.\n",
    "\n",
    "**Strict research policy:** The downloader attempts every one of the 399 frozen tickers, checks the MDY benchmark has the **1,254** reference sessions, and produces a failure table. The default `REQUIRE_ALL_TICKERS=True` stops before research results if Yahoo does not provide a single constituent. It never substitutes Wikipedia/new ETF members, never changes tickers automatically, and never invents missing prices. A name that has been delisted or changed ticker can require a separately reviewed, provenance-recorded historical data source; *do not fix by silently remapping to a different contemporary security*.\n",
    "\n",
    "The notebook saves price caches only under the website project's `research/post-3/data/prices/`. This cache is intentionally excluded from the publication package until separately reviewed; its price fingerprints and retrieval settings are retained in the reproducibility manifest."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "f6f94b1b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MDY: 1254 sessions; Yahoo yfinance 1.7.0\n"
     ]
    }
   ],
   "source": [
    "import yfinance as yf\n",
    "import time\n",
    "\n",
    "REQUIRE_ALL_TICKERS = True\n",
    "PRICE_CACHE = WORKDIR/'data/prices'\n",
    "PRICE_CACHE.mkdir(parents=True,exist_ok=True)\n",
    "DOWNLOAD_UTC = datetime.now(timezone.utc).isoformat()\n",
    "\n",
    "def yahoo_one(symbol):\n",
    "    raw=yf.download(tickers=symbol,start=START_DATE,end=END_DATE_EXCLUSIVE,interval='1d',\n",
    "       auto_adjust=False,actions=False,repair=False,threads=False,progress=False,\n",
    "       group_by='ticker',timeout=30)\n",
    "    if isinstance(raw.columns,pd.MultiIndex):\n",
    "        if symbol in raw.columns.get_level_values(0): raw=raw[symbol]\n",
    "        elif symbol in raw.columns.get_level_values(1):raw=raw.xs(symbol,axis=1,level=1)\n",
    "        else: raise ValueError('Unrecognized yfinance columns for '+symbol)\n",
    "    return clean_ohlcv(raw)\n",
    "\n",
    "mdy=yahoo_one('MDY')\n",
    "assert mdy.index.min()==pd.Timestamp(START_DATE)\n",
    "assert mdy.index.max()==pd.Timestamp(END_DATE)\n",
    "assert len(mdy)==1254, f'MDY calendar differs from historical reference: {len(mdy)}'\n",
    "print('MDY:',len(mdy),'sessions; Yahoo yfinance',yf.__version__)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "1d698d1e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "20/399 requested; success=20\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "40/399 requested; success=40\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "60/399 requested; success=60\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "80/399 requested; success=80\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "100/399 requested; success=100\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "120/399 requested; success=120\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "140/399 requested; success=140\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "160/399 requested; success=160\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "180/399 requested; success=180\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "200/399 requested; success=200\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "220/399 requested; success=220\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "240/399 requested; success=240\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "260/399 requested; success=260\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "280/399 requested; success=280\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "300/399 requested; success=300\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "320/399 requested; success=320\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "340/399 requested; success=340\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "360/399 requested; success=360\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "380/399 requested; success=380\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "399/399 requested; success=399\n",
      "status\n",
      "OK    399\n",
      "Name: count, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# Fetch in batches of twenty, retry individual failures, keep immutable membership.\n",
    "prices={}\n",
    "download_log=[]\n",
    "raw_names=universe.to_dict('records')\n",
    "BATCH_SIZE=20\n",
    "for batch_start in range(0,len(raw_names),BATCH_SIZE):\n",
    "    group=raw_names[batch_start:batch_start+BATCH_SIZE]\n",
    "    names=[row['yahoo_symbol'] for row in group]\n",
    "    bulk_error=None\n",
    "    try:\n",
    "        raw=yf.download(tickers=names,start=START_DATE,end=END_DATE_EXCLUSIVE,\n",
    "            interval='1d',group_by='ticker',auto_adjust=False,\n",
    "            actions=False,repair=False,threads=False,progress=False,\n",
    "            multi_level_index=True,timeout=30)\n",
    "    except Exception as exc:\n",
    "        bulk_error=repr(exc)[:200]\n",
    "        raw=pd.DataFrame()\n",
    "    for item in group:\n",
    "        symbol=item['symbol'];ticker=item['yahoo_symbol'];frame=pd.DataFrame()\n",
    "        note='' if bulk_error is None else 'Bulk error: '+bulk_error\n",
    "        if not raw.empty and isinstance(raw.columns,pd.MultiIndex):\n",
    "            try:\n",
    "                if ticker in raw.columns.get_level_values(0):\n",
    "                    frame=clean_ohlcv(raw[ticker])\n",
    "                elif ticker in raw.columns.get_level_values(1):\n",
    "                    frame=clean_ohlcv(raw.xs(ticker,axis=1,level=1))\n",
    "            except Exception as exc:note='Bulk extraction: '+repr(exc)[:150]\n",
    "        elif not raw.empty and len(group)==1:\n",
    "            try:frame=clean_ohlcv(raw)\n",
    "            except Exception as exc:note='Bulk extraction: '+repr(exc)[:150]\n",
    "        if frame.empty:\n",
    "            for attempt in range(2):\n",
    "                try:\n",
    "                    frame=yahoo_one(ticker)\n",
    "                    if not frame.empty:break\n",
    "                except Exception as exc:note='Individual retry: '+repr(exc)[:180]\n",
    "                time.sleep(1.0*(attempt+1))\n",
    "        if not frame.empty:\n",
    "            prices[symbol]=frame\n",
    "            frame.to_csv(PRICE_CACHE/f'{ticker}.csv',date_format='%Y-%m-%d',float_format='%.10f')\n",
    "            status='OK';note=''\n",
    "        else:\n",
    "            status='FAILED'\n",
    "            if not note:note='Yahoo returned no usable history'\n",
    "        download_log.append({'symbol':symbol,'yahoo_symbol':ticker,\n",
    "            'status':status,'observations':len(frame),'reason':note})\n",
    "    print(f'{min(batch_start+BATCH_SIZE,len(raw_names))}/{len(raw_names)} requested; success={len(prices)}')\n",
    "    time.sleep(0.4)\n",
    "\n",
    "download_audit=pd.DataFrame(download_log)\n",
    "download_audit.to_csv(RESULTS/'post3_yahoo_download_audit.csv',index=False)\n",
    "print(download_audit.status.value_counts(dropna=False))\n",
    "failures=download_audit[download_audit.status!='OK']\n",
    "if not failures.empty:display(failures)\n",
    "if REQUIRE_ALL_TICKERS and not failures.empty:\n",
    "    raise RuntimeError('STOP: original-paper tickers failed on Yahoo; inspect the audit. Do not substitute new index members.')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c5c42a6b",
   "metadata": {},
   "source": [
    "## 6. Data quality and historical signal calendar\n",
    "\n",
    "An original security with fewer than 280 valid observations is omitted **only from signal generation**, while remaining present in the frozen membership and download audit. The benchmark's closing series is used for the risk-on filter. Every signal date has an exact benchmark session, and indicator and relative-strength calculations use past or same-date data only. Ranking is across eligible securities **on the same date**, not across days or the entire universe."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "aa48f3df",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Full download: 399 | >=280 bars: 398\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>symbol</th>\n",
       "      <th>observations</th>\n",
       "      <th>first_date</th>\n",
       "      <th>last_date</th>\n",
       "      <th>missing_mdy_sessions</th>\n",
       "      <th>invalid_bars</th>\n",
       "      <th>history_eligible</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>399</td>\n",
       "      <td>399.000000</td>\n",
       "      <td>399</td>\n",
       "      <td>399</td>\n",
       "      <td>399.000000</td>\n",
       "      <td>399.0</td>\n",
       "      <td>399</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>unique</th>\n",
       "      <td>399</td>\n",
       "      <td>NaN</td>\n",
       "      <td>18</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>top</th>\n",
       "      <td>AA</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-09-13</td>\n",
       "      <td>2026-09-10</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>freq</th>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>382</td>\n",
       "      <td>399</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>398</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1236.182957</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>17.817043</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>NaN</td>\n",
       "      <td>101.229423</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>101.229423</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>NaN</td>\n",
       "      <td>224.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1254.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1254.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1254.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1254.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1030.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       symbol  observations  first_date   last_date  missing_mdy_sessions  \\\n",
       "count     399    399.000000         399         399            399.000000   \n",
       "unique    399           NaN          18           1                   NaN   \n",
       "top        AA           NaN  2021-09-13  2026-09-10                   NaN   \n",
       "freq        1           NaN         382         399                   NaN   \n",
       "mean      NaN   1236.182957         NaN         NaN             17.817043   \n",
       "std       NaN    101.229423         NaN         NaN            101.229423   \n",
       "min       NaN    224.000000         NaN         NaN              0.000000   \n",
       "25%       NaN   1254.000000         NaN         NaN              0.000000   \n",
       "50%       NaN   1254.000000         NaN         NaN              0.000000   \n",
       "75%       NaN   1254.000000         NaN         NaN              0.000000   \n",
       "max       NaN   1254.000000         NaN         NaN           1030.000000   \n",
       "\n",
       "        invalid_bars history_eligible  \n",
       "count          399.0              399  \n",
       "unique           NaN                2  \n",
       "top              NaN             True  \n",
       "freq             NaN              398  \n",
       "mean             0.0              NaN  \n",
       "std              0.0              NaN  \n",
       "min              0.0              NaN  \n",
       "25%              0.0              NaN  \n",
       "50%              0.0              NaN  \n",
       "75%              0.0              NaN  \n",
       "max              0.0              NaN  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "quality=[]\n",
    "for s in universe.symbol:\n",
    "    d=prices.get(s)\n",
    "    if d is None:continue\n",
    "    bad=((d.high < d[['open','close','low']].max(axis=1))|\n",
    "         (d.low > d[['open','close','high']].min(axis=1))|\n",
    "         (d[['open','high','low','close']]<=0).any(axis=1))\n",
    "    quality.append({'symbol':s,'observations':len(d),'first_date':str(d.index.min().date()),\n",
    "          'last_date':str(d.index.max().date()),'missing_mdy_sessions':len(mdy.index.difference(d.index)),\n",
    "          'invalid_bars':int(bad.sum()),'history_eligible':len(d)>=MINIMUM_HISTORY_BARS})\n",
    "quality=pd.DataFrame(quality)\n",
    "assert not quality.invalid_bars.any(), 'Invalid OHLCV bars; inspect raw data'\n",
    "quality.to_csv(RESULTS/'post3_price_quality.csv',index=False)\n",
    "print('Full download:',len(prices),'| >=280 bars:',int(quality.history_eligible.sum()))\n",
    "display(quality.describe(include='all'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "84bdb89b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Eligible stocks: 398 | signal dates: 459 | candidates: 1977\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>symbol</th>\n",
       "      <th>signal_date</th>\n",
       "      <th>signal_close</th>\n",
       "      <th>momentum_12_1</th>\n",
       "      <th>momentum_6_1</th>\n",
       "      <th>rs126</th>\n",
       "      <th>high52_ratio</th>\n",
       "      <th>volume_ratio</th>\n",
       "      <th>stop_pct</th>\n",
       "      <th>score</th>\n",
       "      <th>rank</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>VICR</td>\n",
       "      <td>2026-01-05</td>\n",
       "      <td>133.639999</td>\n",
       "      <td>0.920944</td>\n",
       "      <td>1.044944</td>\n",
       "      <td>1.870512</td>\n",
       "      <td>1.108770</td>\n",
       "      <td>4.051436</td>\n",
       "      <td>0.080000</td>\n",
       "      <td>98.18</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>AMKR</td>\n",
       "      <td>2026-01-05</td>\n",
       "      <td>48.130001</td>\n",
       "      <td>0.710004</td>\n",
       "      <td>1.048974</td>\n",
       "      <td>1.171120</td>\n",
       "      <td>1.017978</td>\n",
       "      <td>2.356949</td>\n",
       "      <td>0.063044</td>\n",
       "      <td>84.55</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>MKSI</td>\n",
       "      <td>2026-01-05</td>\n",
       "      <td>176.190002</td>\n",
       "      <td>0.565284</td>\n",
       "      <td>0.599139</td>\n",
       "      <td>0.650561</td>\n",
       "      <td>1.034161</td>\n",
       "      <td>1.291448</td>\n",
       "      <td>0.046283</td>\n",
       "      <td>68.64</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>AA</td>\n",
       "      <td>2026-01-05</td>\n",
       "      <td>61.439999</td>\n",
       "      <td>0.167284</td>\n",
       "      <td>0.479369</td>\n",
       "      <td>0.987304</td>\n",
       "      <td>1.085321</td>\n",
       "      <td>1.651456</td>\n",
       "      <td>0.050406</td>\n",
       "      <td>61.36</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>FTI</td>\n",
       "      <td>2026-01-05</td>\n",
       "      <td>48.290001</td>\n",
       "      <td>0.612647</td>\n",
       "      <td>0.341863</td>\n",
       "      <td>0.314693</td>\n",
       "      <td>1.019637</td>\n",
       "      <td>1.492692</td>\n",
       "      <td>0.040000</td>\n",
       "      <td>60.91</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>FIVE</td>\n",
       "      <td>2026-01-05</td>\n",
       "      <td>196.639999</td>\n",
       "      <td>0.554402</td>\n",
       "      <td>0.261794</td>\n",
       "      <td>0.447055</td>\n",
       "      <td>1.009601</td>\n",
       "      <td>1.312047</td>\n",
       "      <td>0.040000</td>\n",
       "      <td>47.73</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>CMC</td>\n",
       "      <td>2026-01-05</td>\n",
       "      <td>72.690002</td>\n",
       "      <td>0.327823</td>\n",
       "      <td>0.290360</td>\n",
       "      <td>0.350428</td>\n",
       "      <td>1.008743</td>\n",
       "      <td>1.307983</td>\n",
       "      <td>0.040000</td>\n",
       "      <td>45.91</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>NOV</td>\n",
       "      <td>2026-01-05</td>\n",
       "      <td>17.480000</td>\n",
       "      <td>0.117808</td>\n",
       "      <td>0.282011</td>\n",
       "      <td>0.299385</td>\n",
       "      <td>1.030660</td>\n",
       "      <td>2.213544</td>\n",
       "      <td>0.042477</td>\n",
       "      <td>40.00</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  symbol signal_date  signal_close  momentum_12_1  momentum_6_1     rs126  \\\n",
       "0   VICR  2026-01-05    133.639999       0.920944      1.044944  1.870512   \n",
       "1   AMKR  2026-01-05     48.130001       0.710004      1.048974  1.171120   \n",
       "2   MKSI  2026-01-05    176.190002       0.565284      0.599139  0.650561   \n",
       "3     AA  2026-01-05     61.439999       0.167284      0.479369  0.987304   \n",
       "4    FTI  2026-01-05     48.290001       0.612647      0.341863  0.314693   \n",
       "5   FIVE  2026-01-05    196.639999       0.554402      0.261794  0.447055   \n",
       "6    CMC  2026-01-05     72.690002       0.327823      0.290360  0.350428   \n",
       "7    NOV  2026-01-05     17.480000       0.117808      0.282011  0.299385   \n",
       "\n",
       "   high52_ratio  volume_ratio  stop_pct  score  rank  \n",
       "0      1.108770      4.051436  0.080000  98.18     1  \n",
       "1      1.017978      2.356949  0.063044  84.55     2  \n",
       "2      1.034161      1.291448  0.046283  68.64     3  \n",
       "3      1.085321      1.651456  0.050406  61.36     4  \n",
       "4      1.019637      1.492692  0.040000  60.91     5  \n",
       "5      1.009601      1.312047  0.040000  47.73     6  \n",
       "6      1.008743      1.307983  0.040000  45.91     7  \n",
       "7      1.030660      2.213544  0.042477  40.00     8  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mdy_sma50=mdy.close.rolling(50).mean()\n",
    "mdy_sma200=mdy.close.rolling(200).mean()\n",
    "risk_on=(mdy.close>mdy_sma50)&(mdy_sma50>mdy_sma200)\n",
    "mdy_context=pd.DataFrame({'r20':mdy.close/mdy.close.shift(20)-1,\n",
    "    'r63':mdy.close/mdy.close.shift(63)-1,\n",
    "    'vol20':mdy.close.pct_change().rolling(20).std()*np.sqrt(252),\n",
    "    'dist_sma50':mdy.close/mdy_sma50-1},index=mdy.index)\n",
    "\n",
    "raw_by_date=defaultdict(list)\n",
    "eligible_prices={}\n",
    "for row in universe.itertuples(index=False):\n",
    "    symbol=row.symbol\n",
    "    d=prices.get(symbol)\n",
    "    if d is None or len(d)<MINIMUM_HISTORY_BARS:continue\n",
    "    eligible_prices[symbol]=d\n",
    "    feat=add_momentum52_features(d)\n",
    "    rs=aligned_relative_strength_126(d,mdy)\n",
    "    for idx in range(MINIMUM_HISTORY_BARS,len(feat)):\n",
    "        date=feat.index[idx]\n",
    "        if date not in risk_on.index or not bool(risk_on.loc[date]):continue\n",
    "        line=feat.iloc[idx]\n",
    "        r=rs.get(date,np.nan)\n",
    "        if not eligible_momentum52(line,r):continue\n",
    "        context=mdy_context.loc[date]\n",
    "        if context.isna().any():continue\n",
    "        raw_by_date[date].append({'symbol':symbol,'signal_date':date,'signal_close':float(line.close),\n",
    "          'momentum_12_1':float(line.momentum_12_1),'momentum_6_1':float(line.momentum_6_1),\n",
    "          'rs126':float(r),'high52_ratio':float(line.high52_ratio),\n",
    "          'volume_ratio':float(line.volume_ratio),'stop_pct':stop_fraction(float(line.close),float(line.atr14))})\n",
    "\n",
    "signal_calendar={}\n",
    "for date,candidates in raw_by_date.items():\n",
    "    rank=percentile_score(pd.DataFrame(candidates))\n",
    "    rank['rank']=np.arange(1,len(rank)+1)\n",
    "    signal_calendar[date]=rank.to_dict('records')\n",
    "signals=pd.DataFrame([x for date,rows in signal_calendar.items() for x in rows])\n",
    "assert not signals.empty, 'No momentum signals; investigate upstream market data'\n",
    "assert not signals.duplicated(['symbol','signal_date']).any()\n",
    "assert signals.score.between(0,100).all()\n",
    "assert signals.stop_pct.between(.04,.08).all()\n",
    "assert all(bool(risk_on.loc[d]) for d in signal_calendar)\n",
    "signals.to_csv(RESULTS/'post3_all_ranked_signals.csv',index=False)\n",
    "print('Eligible stocks:',len(eligible_prices),'| signal dates:',len(signal_calendar),'| candidates:',len(signals))\n",
    "display(signals.head(8))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f6aef271",
   "metadata": {},
   "source": [
    "## 7. Independent next-open, capital-constrained backtest engine\n",
    "\n",
    "This engine preserves the reference execution order: (1) current-position overnight gap stops; (2) fund previously generated signals at today's open in ranked order, accounting for commission and cash; (3) process daily lows against stops **before** highs that could activate/tighten trails; (4) increment holding bars including entry and exit at the 30th close; (5) mark surviving positions to market; (6) liquidate any remaining positions at the evaluation endpoint. It does not buy on the signal close."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "cc16edc4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Offline deterministic portfolio engine: READY\n"
     ]
    }
   ],
   "source": [
    "def buy_price(p):return p*(1+SLIPPAGE_BPS/10_000)\n",
    "def sell_price(p):return p*(1-SLIPPAGE_BPS/10_000)\n",
    "\n",
    "def close_position(pos,date,raw_price,reason,cash):\n",
    "    px=sell_price(raw_price)\n",
    "    proceeds=pos['qty']*px-COMMISSION_PER_ORDER\n",
    "    pnl=proceeds-(pos['qty']*pos['entry_price']+COMMISSION_PER_ORDER)\n",
    "    entry_cost=pos['qty']*pos['entry_price']+COMMISSION_PER_ORDER\n",
    "    record={k:pos[k] for k in ['symbol','signal_date','entry_date','entry_price','qty','stop_pct','rank','score']}\n",
    "    record.update(exit_date=date,exit_price=round(px,4),exit_reason=reason,\n",
    "        holding_bars=pos['bars'],trailing_activated=pos['trailing_active'],\n",
    "        net_pnl_usd=round(pnl,2),net_return_pct=round(pnl/entry_cost,6),\n",
    "        gross_return_pct=round(px/pos['entry_price']-1,6),\n",
    "        planned_risk_usd=round(pos['qty']*pos['entry_price']*pos['stop_pct'],4))\n",
    "    return cash+proceeds,record\n",
    "\n",
    "def run_momentum52_window(first_date,last_date=END_DATE):\n",
    "    first_date=pd.Timestamp(first_date);last_date=pd.Timestamp(last_date)\n",
    "    dates=[x for x in mdy.index if first_date<=x<=last_date]\n",
    "    if not dates:raise ValueError('Empty portfolio evaluation window')\n",
    "    full_dates=list(mdy.index)\n",
    "    forward_dates={full_dates[i]:full_dates[i+1] for i in range(len(full_dates)-1)}\n",
    "    orders=defaultdict(list)\n",
    "    for d,cs in signal_calendar.items():\n",
    "        nx=forward_dates.get(d)\n",
    "        if nx is not None and first_date<=nx<=last_date:orders[nx].extend(cs)\n",
    "    cash=STARTING_EQUITY; open_positions={}; trades=[]; equity_rows=[]\n",
    "    max_positions=0; max_day_orders=0\n",
    "    for date in dates:\n",
    "        # 1. Overnight stop gap (cash is released before entries).\n",
    "        for sym,pos in list(open_positions.items()):\n",
    "            frame=eligible_prices[sym]\n",
    "            if date not in frame.index:continue\n",
    "            op=float(frame.at[date,'open'])\n",
    "            if op<=pos['stop']:\n",
    "                reason='gap_trailing_stop' if pos['trailing_active'] else 'gap_stop'\n",
    "                cash,tr=close_position(pos,date,op,reason,cash)\n",
    "                trades.append(tr);del open_positions[sym]\n",
    "        # 2. Next-session-open ranked entries; no extra gap cap.\n",
    "        day_orders=0\n",
    "        for item in sorted(orders[date],key=lambda c:(c['score'],c['rs126'],c['momentum_12_1']),reverse=True):\n",
    "            if day_orders>=MAX_DAILY_ORDERS or len(open_positions)>=MAX_OPEN_POSITIONS:break\n",
    "            sym=item['symbol']; f=eligible_prices[sym]\n",
    "            if sym in open_positions or date not in f.index:continue\n",
    "            raw_open=float(f.at[date,'open'])\n",
    "            if raw_open<=0:continue\n",
    "            ep=buy_price(raw_open); s=item['stop_pct']\n",
    "            proposed=min(math.floor(RISK_PER_TRADE_USD/(ep*s)),math.floor(MAX_POSITION_USD/ep))\n",
    "            affordable=math.floor(max(0.0,cash-COMMISSION_PER_ORDER)/ep)\n",
    "            qty=min(proposed,affordable)\n",
    "            if qty<1:continue\n",
    "            cost=qty*ep+COMMISSION_PER_ORDER\n",
    "            if cost>cash+1e-9:continue\n",
    "            cash-=cost\n",
    "            open_positions[sym]={'symbol':sym,'signal_date':item['signal_date'],'entry_date':date,\n",
    "                'entry_price':ep,'qty':qty,'stop_pct':s,'stop':ep*(1-s),\n",
    "                'trigger':ep*(1+TRAILING_ACTIVATION),'trailing_active':False,\n",
    "                'anchor':ep,'bars':0,'rank':item['rank'],'score':item['score']}\n",
    "            day_orders+=1;max_positions=max(max_positions,len(open_positions))\n",
    "        max_day_orders=max(max_day_orders,day_orders)\n",
    "        # 3. Daily lows tested against prior stop before high-based trailing changes.\n",
    "        for sym,pos in list(open_positions.items()):\n",
    "            f=eligible_prices[sym]\n",
    "            if date not in f.index:continue\n",
    "            bar=f.loc[date];lo=float(bar.low);hi=float(bar.high);cl=float(bar.close)\n",
    "            if lo<=pos['stop']:\n",
    "                reason='trailing_stop' if pos['trailing_active'] else 'initial_stop'\n",
    "                cash,tr=close_position(pos,date,pos['stop'],reason,cash)\n",
    "                trades.append(tr);del open_positions[sym];continue\n",
    "            if not pos['trailing_active'] and hi>=pos['trigger']:\n",
    "                pos['trailing_active']=True;pos['anchor']=hi\n",
    "                pos['stop']=max(pos['stop'],hi*(1-TRAILING_DISTANCE))\n",
    "            elif pos['trailing_active']:\n",
    "                pos['anchor']=max(pos['anchor'],hi)\n",
    "                pos['stop']=max(pos['stop'],pos['anchor']*(1-TRAILING_DISTANCE))\n",
    "            pos['bars']+=1\n",
    "            if pos['bars']>=MAX_HOLDING_BARS:\n",
    "                cash,tr=close_position(pos,date,cl,'time',cash)\n",
    "                trades.append(tr);del open_positions[sym]\n",
    "        # 4. Mark to market; allow missing daily bars to retain latest known close.\n",
    "        market_value=0.0\n",
    "        for sym,pos in open_positions.items():\n",
    "            hist=eligible_prices[sym].loc[:date]\n",
    "            if not hist.empty:market_value+=pos['qty']*float(hist.iloc[-1].close)\n",
    "        equity_rows.append({'date':date,'cash':round(cash,2),\n",
    "            'market_value':round(market_value,2),'equity':round(cash+market_value,2),\n",
    "            'open_positions':len(open_positions)})\n",
    "    # 5. Final exit; preserve portfolio equity reconciliation.\n",
    "    if open_positions:\n",
    "        last=dates[-1]\n",
    "        for sym,pos in list(open_positions.items()):\n",
    "            hist=eligible_prices[sym].loc[:last]\n",
    "            if hist.empty:raise RuntimeError('Cannot close a position with no price data')\n",
    "            cash,tr=close_position(pos,last,float(hist.iloc[-1].close),'end_of_test',cash)\n",
    "            trades.append(tr);del open_positions[sym]\n",
    "        equity_rows[-1].update(cash=round(cash,2),market_value=0.0,equity=round(cash,2),open_positions=0)\n",
    "    out_trades=pd.DataFrame(trades)\n",
    "    out_equity=pd.DataFrame(equity_rows).set_index('date')\n",
    "    assert out_equity.open_positions.max()<=MAX_OPEN_POSITIONS\n",
    "    assert max_day_orders<=MAX_DAILY_ORDERS\n",
    "    assert out_equity.cash.min()>=-0.01\n",
    "    assert abs((out_trades.net_pnl_usd.sum() if len(out_trades) else 0)-(cash-STARTING_EQUITY))<0.01*len(out_trades)+0.02\n",
    "    return out_trades,out_equity,cash\n",
    "\n",
    "print('Offline deterministic portfolio engine: READY')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "84b49e29",
   "metadata": {},
   "source": [
    "## 8. Empirical windows, archival reference, and the original validation gate\n",
    "\n",
    "We run **independently funded** portfolio windows with $5,000 starting cash each (not filtered subsets of a single cash path). Original paper references are comparisons, **never asserted as results from this notebook**:\n",
    "\n",
    "| Window | Dates | Original reference trades | Return | Profit factor | Status |\n",
    "|---|---|---:|---:|---:|---|\n",
    "| Full historical simulation | 2021-09-13 – 2026-09-10 (signals begin after warm-up) | 113 | −34.2906% | 0.7974 | Archived historical reproduction |\n",
    "| Development | 2022-10-21 – 2025-02-20 | 59 | +1.4010% | 1.0169 | Strategy development |\n",
    "| Original holdout | 2025-02-21 – 2026-09-10 | 54 | −34.1037% | 0.5985 | Pristine **in original chronology only** |\n",
    "| Cross-strategy common period | 2025-07-30 – 2026-09-10 | 53 | −9.7493% | 0.8844 | Retrospective comparison |\n",
    "\n",
    "The historic decision rule required **development profit factor ≥ 1.20**, **validation profit factor ≥ 1.20**, and **positive validation total return**. It failed historically. Re-running the unchanged policy on Yahoo's updated data is **replication** of a known failed holdout, not a new independent out-of-sample test. No parameter search is authorised in this notebook."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "beba99c1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>trades</th>\n",
       "      <th>win_rate_pct</th>\n",
       "      <th>total_return_pct</th>\n",
       "      <th>cagr_pct</th>\n",
       "      <th>max_drawdown_pct</th>\n",
       "      <th>profit_factor</th>\n",
       "      <th>ending_equity_usd</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>full</th>\n",
       "      <td>113</td>\n",
       "      <td>32.7434</td>\n",
       "      <td>-34.2906</td>\n",
       "      <td>-8.0693</td>\n",
       "      <td>-40.3500</td>\n",
       "      <td>0.7974</td>\n",
       "      <td>3285.4680</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>development</th>\n",
       "      <td>59</td>\n",
       "      <td>35.5932</td>\n",
       "      <td>1.4010</td>\n",
       "      <td>0.5975</td>\n",
       "      <td>-18.5644</td>\n",
       "      <td>1.0169</td>\n",
       "      <td>5070.0517</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>validation</th>\n",
       "      <td>54</td>\n",
       "      <td>29.6296</td>\n",
       "      <td>-34.1037</td>\n",
       "      <td>-23.5975</td>\n",
       "      <td>-34.1038</td>\n",
       "      <td>0.5985</td>\n",
       "      <td>3294.8127</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>common</th>\n",
       "      <td>53</td>\n",
       "      <td>32.0755</td>\n",
       "      <td>-9.7493</td>\n",
       "      <td>-8.7947</td>\n",
       "      <td>-24.9773</td>\n",
       "      <td>0.8844</td>\n",
       "      <td>4512.5326</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             trades  win_rate_pct  total_return_pct  cagr_pct  \\\n",
       "full            113       32.7434          -34.2906   -8.0693   \n",
       "development      59       35.5932            1.4010    0.5975   \n",
       "validation       54       29.6296          -34.1037  -23.5975   \n",
       "common           53       32.0755           -9.7493   -8.7947   \n",
       "\n",
       "             max_drawdown_pct  profit_factor  ending_equity_usd  \n",
       "full                 -40.3500         0.7974          3285.4680  \n",
       "development          -18.5644         1.0169          5070.0517  \n",
       "validation           -34.1038         0.5985          3294.8127  \n",
       "common               -24.9773         0.8844          4512.5326  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ORIGINAL MOMENTUM52 POLICY GATE: FAIL\n",
      "This is a fresh Yahoo-data historical replication, not new untouched OOS evidence.\n"
     ]
    }
   ],
   "source": [
    "def summarize_performance(trades,equity,cash):\n",
    "    profit=trades.net_pnl_usd[trades.net_pnl_usd>0].sum() if len(trades) else 0.0\n",
    "    loss=-trades.net_pnl_usd[trades.net_pnl_usd<0].sum() if len(trades) else 0.0\n",
    "    years=max((equity.index[-1]-equity.index[0]).days,1)/365.25\n",
    "    return {'trades':int(len(trades)),'win_rate_pct':round(float((trades.net_pnl_usd>0).mean()*100),4) if len(trades) else 0.0,\n",
    "        'total_return_pct':round((cash/STARTING_EQUITY-1)*100,4),\n",
    "        'cagr_pct':round(((cash/STARTING_EQUITY)**(1/years)-1)*100,4) if cash>0 else -100.0,\n",
    "        'max_drawdown_pct':round(float((equity.equity/equity.equity.cummax()-1).min()*100),4),\n",
    "        'profit_factor':round(float(profit/loss),4) if loss>0 else float('inf'),\n",
    "        'ending_equity_usd':round(float(cash),4)}\n",
    "\n",
    "windows={'full':START_DATE,'development':DEV_START,'validation':VAL_START,'common':COMMON_START}\n",
    "ends={'full':END_DATE,'development':DEV_END,'validation':VAL_END,'common':VAL_END}\n",
    "all_runs={};sums={}\n",
    "for key,start in windows.items():\n",
    "    tr,eq,closing_cash=run_momentum52_window(start,ends[key])\n",
    "    all_runs[key]=(tr,eq,closing_cash)\n",
    "    sums[key]=summarize_performance(tr,eq,closing_cash)\n",
    "    tr.to_csv(RESULTS/f'post3_{key}_trades.csv',index=False)\n",
    "    eq.to_csv(RESULTS/f'post3_{key}_equity.csv')\n",
    "summary=pd.DataFrame.from_dict(sums,orient='index')\n",
    "summary.to_csv(RESULTS/'post3_evaluated_summary.csv')\n",
    "display(summary)\n",
    "passed=bool(sums['development']['profit_factor']>=1.20 and sums['validation']['profit_factor']>=1.20 and sums['validation']['total_return_pct']>0)\n",
    "print('ORIGINAL MOMENTUM52 POLICY GATE:', 'PASS' if passed else 'FAIL')\n",
    "print('This is a fresh Yahoo-data historical replication, not new untouched OOS evidence.')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9e3036b0",
   "metadata": {},
   "source": [
    "## 9. Execution audits, MDY comparison and diagnostics\n",
    "\n",
    "The fundamental checks concern the order of information (close-only signal, next open entry), financial feasibility, chronology, at most two positions, and end-of-window capital reconciliation. MDY is used as a **raw `Close` price-return benchmark**; it is not dividend-inclusive total return. A passive benchmark's transaction costs and execution timing are not necessarily identical to the active portfolio unless a separate execution-aligned benchmark is constructed."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "d578c75d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "full execution/accounting: PASS\n",
      "development execution/accounting: PASS\n",
      "validation execution/accounting: PASS\n",
      "common execution/accounting: PASS\n",
      "MDY raw-close price return, common window: 15.6469%\n",
      "Momentum52 portfolio return, same window: -9.7493 %\n"
     ]
    }
   ],
   "source": [
    "for key,(tr,eq,closing_cash) in all_runs.items():\n",
    "    assert eq.index.is_unique and (eq.index.max()<=pd.Timestamp(ends[key]))\n",
    "    assert (eq.open_positions<=2).all() and (eq.cash>=-.01).all()\n",
    "    assert abs(closing_cash-float(eq.equity.iloc[-1]))<0.02\n",
    "    if not tr.empty:\n",
    "        assert (pd.to_datetime(tr.entry_date)>pd.to_datetime(tr.signal_date)).all()\n",
    "        assert (pd.to_datetime(tr.exit_date)>=pd.to_datetime(tr.entry_date)).all()\n",
    "        assert (tr.qty>=1).all()\n",
    "        assert (tr.qty*tr.entry_price<=MAX_POSITION_USD+1e-6).all()\n",
    "        assert (tr.planned_risk_usd<=RISK_PER_TRADE_USD+1e-6).all()\n",
    "        assert (tr.groupby('entry_date').size().max()>=1)\n",
    "        assert (tr.groupby('entry_date').size().max()<=MAX_DAILY_ORDERS)\n",
    "        assert (tr.exit_date.astype(str)<=str(ends[key])).all()\n",
    "    print(key,'execution/accounting: PASS')\n",
    "\n",
    "common_trades,common_equity,_=all_runs['common']\n",
    "mdy_common=mdy.close.reindex(common_equity.index)\n",
    "assert mdy_common.notna().all()\n",
    "mdy_return=(float(mdy_common.iloc[-1]/mdy_common.iloc[0])-1)*100\n",
    "print('MDY raw-close price return, common window: %.4f%%'%mdy_return)\n",
    "print('Momentum52 portfolio return, same window:',sums['common']['total_return_pct'],'%')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "3f641212",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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hrfeeiv/f4899pihUaNGhry8PImyDBMnTix02+eff97g5ORk+PDDDw2xsbGGY8eOGYYNG2aoVq2aYefOnfnLtW7d2tCrVy/D6NGjDQcOHDDEx8cbpk2bZnB3dzds3rzZMHz4cMO+ffvU9Y8++qjB0dHRcPjw4UKP9c033xgcHBwML7zwgiE8PFw93ttvv62WnT9/fqHHuu666ww333yzYffu3YakpCTDp59+qtb/999/L3SfnTt3NgwaNKjY18XX19dw//33X3L9LbfcYmjSpEmh66zx/J566im1jgEBAQZnZ2dD7dq1DRMmTDCcPHnSYIkZM2ao27/++uuG8sjMzFTrNmTIEENwcLAhMTHxsl7LJ5980uDq6mr49ttvDQkJCYb9+/cbhg4daujXr5+hQYMGNn0fym3d3NxKvG95L8rtHnrooULXubi4GO655x5D79691eseHR1tqAjynpH1k/eMpT777DN1mxdffNEQGRlpCA0NNYwfP169d5YtW5a/nLy/ZTvKNtyxY4favq+88or63K5Zs0Z9Xrdt26auf+ONN9R9rl27ttBjWeM+yrO+bdq0UZ+zTZs2GZKTkw2//fab+sx88MEHFr02kydPVo8l70Nz8tmT61evXq3WtUWLFuoif6ekpKjnJo/do0cPQ3Z2trrNX3/9pW5z6623qseX94jsb86fP29YsWKF+p+8BiYRERGGWrVqGTp27GjYtWuXehz5rHh4eBhuu+22/OXCwsIM1atXV++9gwcPGuLi4gxffPGFehy5z59//rnU5yjrKsu98847ha6X/YpcP3bsWPX3pEmT1Gfj+++/z/9cyvOTxzbft8hnb/DgwYYRI0YYDh06ZDh79qzhn3/+Uf+rW7eu4c477yx2PeSzKLctytLHlX3puHHjCt22uOssvb/iDBgwwODn52fIzc0t9BrJe/bvv/9W70HZ/iImJkZ9z9x77735t5d9kbzX5bWW7S7v32effVbtP9avX1/sY8p+TLaRfC/IZyc9PT3/f82bN1fvb3Oyjyz6nE0CAwMN119/vbqNbBt5/q+++qp6DkuWLCn1uRPR5WHgTUQ2YQp4hBz4h4SEqN+zsrIMNWvWzA/kigY8586dUwcs5gcoQg5g5P7MA1o58JCDFAmYTeSAWg6k5IDo9OnT+denpqaqwP2ZZ57Jv04OSj09PYs9+JNgVw5k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A28iIiIiIiKioka3C0RoQjbi07Ku6MXxdq8648RV55kQERERERFRhZOA+eOx7eHg4FDRq1JpsLgaERERERERkQ0x8CYiIiIiIiKyIQbeRERERERERDbEwJuIiIiIiIjIhhh4ExEREREREdkQA28iIiIiIiIiG2LgTURERERERGRDDLyJiIiIiIiIbIiBNxEREREREZENMfAmIiIiIiIisiEG3kREREREREQ2xMCbiIiIiIiIyIYYeBMRERERERHZEANvIiIiIiIiIhti4E1ERERERERkQwy8iYiIiIiIiGyIgTcRERERERGRDTHwJiIiIiIiIrIhBt5ERERERERENsTAm4iIiIiIiMiGGHgTERERERER2RADbyIiIiIiIiIbYuBNREREREREZEMMvImIiIiIiIhsiIE3EREREREREQNvIiIiIiIiomsTR7yJiIiIiIiIbIiBNxEREREREZENMfAmIiIiIiIisiFnVBIzZ87EhQsX8MADD8DLy6vQ/44cOYK1a9fC3d0dw4cPR1BQ0CW3t9YyRERERERERFVuxHvevHl48MEH8cwzzyAxMbHQ/7766it07twZ69atw+zZs9GsWTOsX7/eJssQERERERERVbnAOywsDI899hjeeeedS/539uxZPPnkk/jyyy9VsLxs2TLcdtttmDx5MgwGg1WXISIiIiIiIqpygXdOTg7uuOMOvPzyy2jevPkl/58/fz5cXV1x55135l8nqegnT57Enj17rLoMERERERERUZWb4/3KK6+gZs2auP/++7Fy5cpi52Q3aNAAbm5u+de1aNEi/3+dOnWy2jJFZWZmqotJcnKy+ikj5Bwlr/xM24nbqurjtrYv3N5VF7et/eC2th/c1vbJnra7oRzPscIC71WrVuGXX37Bvn37SlwmJSUFfn5+ha7z9vaGk5OT+p81lylKUt9ff/31S65PSkqyizfRtU62UWpqqvrdwcGholeHbIjb2r5we1dd3Lb2g9vafnBb2yd72u7JxsHZSh14P/roo+jSpQt+/fVX9feJEyfUz+nTp2PgwIEYMGAAPDw8LnkyshFzc3Ph6emp/rbWMkU9//zzal64idy+fv368PX1hY+Pj1VeA7Id08kR2V5V/QNv77it7Qu3d9XFbWs/uK3tB7e1fbKn7e5QjudXYYG3zLeOj49HZGSk+jshIUH9jImJyR+Flnnff/zxh5oL7uysV/XUqVPqZ0hIiFWXKUrS0s1T081f3Kr+BqoqTNuK26vq47a2L9zeVRe3rf3gtrYf3Nb2yV62u0M5nl+FFVd74YUX8OGHH+Zf7rvvPnX9Sy+9hFGjRqnfR44cqUampTiaiaSn161bF127drXqMkRERERERERVrrhaWZo0aYIXX3wRkyZNwsaNG9UIubQDmzt3rpqfbc1liIiIiIiIiKp04C1Vx5966ilV9MycFDiTOd+rV69GrVq1VDE2U0Vyay9DREREREREZG0OBpbotogUV5MCAVLVnMXVKj95W8u2soeiDvaO29q+cHtXXdy29oPb2n5wW9sne9ruyeWIEStsjjcRERERERGRPWDgTURERERERGRDDLyJiIiIiIiIbIiBNxEREREREZENMfAmIiIiIiIisiEG3kREREREREQ2xMCbiIiIiIiIyIYYeBMRERERERHZEANvIiIiIiIiIhti4E1ERERERERkQwy8iYiIiIiIiGyIgTcRERERERGRDTHwJiIiIiIiIrIhBt5ERERERERENsTAm4iIiIiIiMiGGHgTERERERER2RADbyIiIiIiIiIbYuBNREREREREZEMMvImIiIiIiIhsiIE3ERERERERkQ0x8CYiIiIiIiKyIQbeRERERERERDbEwJuIiIiIiIjIhhh4ExEREREREdkQA28iIiIiIiIiG2LgTURERERERGRDDLyJiIiIiIiIbIiBNxEREREREZENMfAmIiIiIiIisiEG3kREREREREQ2xMCbiIiIiIiIyIYYeBMRERERERHZEANvIiIiIiIiIhti4E1ERERERERkQwy8iYiIiIiIiGyIgTcRERERERGRDTHwJiIiIiIiIrIhBt5ERERERERENsTAm4iIiIiIiMiGGHgTERERERER2RADbyIiIiIiIiIbYuBNREREREREZEPO5b1BZGQkvv32W2zZsgUJCQnw9fVF165d8cADDyA4ONg2a0lERERERERkDyPee/bsQevWrfHRRx8hLy8PjRs3hpOTE7755ht1/fr16223pkRERERERERVfcR78uTJGDx4MH744Qd4e3vnX5+eno7HH38cd999N06dOqWCcSIiIiIiIiIqx4j3oUOHEBERgV9++aVQ0C2qVauGr7/+Gi4uLhz1JiIiIiIiIrqcwHvv3r0YOHCgCrKLI6Pcw4cPV+noRERERERERFTOwDsuLg516tQpdRn5vyxHREREREREROUMvLOyssqcu+3s7IzMzExL75KIiIiIiIioyitXcbXly5djypQpJf7/wIED6NOnjzXWi4iIiIiIiMi+Au969erBx8cHR48eLXEZKa7WqFEja60bERERERERkf0E3rfffru6EBEREREREZEN5ngTERERERERkY0Db2kVduTIkfy/09PT1ZzvwMBAdOjQAStWrLiMVSAiIiIiIiKquiwOvHNzczF+/Hi4u7vnX/fWW2/hjz/+wJ133ommTZti9OjRiI+Pt9W6EhEREREREVXdwHv9+vWoX79+oeJpM2bMwGuvvYaPP/4Yc+fORa9evTB//nxbrSsRERERERFR1Q28pZp5s2bN8v8ODw9Xl1GjRuVf17t3b3UdEREREREREZUz8Pbz88OZM2fy/96wYQNq1KiBkJCQ/OtSU1Ph6elp6V0SERERERERVXkWB959+vTB6tWr8c0332Djxo149913ceONN8LRseAu9u7di86dO9tqXYmIiIiIiIiqbh/vevXq4cMPP8QjjzyiCq01bNgQb7zxRv7/jx07hvPnz6N///7lXgmDwQAHB4dKswwRERERERFRhbQTmzZtmqpafvDgQRVoS/BtUqtWLaxcudLioFaC959//hkdO3ZUldJr1qyJiRMnIjo6utByp0+fxpAhQ+Dm5gYvLy/ce++9SEtLs8kyRERERERERBUaeAsfHx+0bt0arq6uha6X+d61a9dGeYq1SV9wqYx+8eJFbNmyBYcOHcJdd92Vv0x2djZuuOEGVKtWTY2my/KS5n7//fdbfRkiIiIiIiIiW3AwSO61BaZPn44333zzkutljrekocsc8BdffFEF5pdL2pLJYyQkJKi///vvP9x0002qUrq0MhOzZ89WfcPPnTuHoKAgqy1TluTkZPj6+iIpKemKniNdHfK2lm0l24xTC6o2bmv7wu1ddXHb2g9ua/vBbW2f7Gm7J5cjRrR4jnfbtm0xZcqUS67Py8tDZGSkGrmWVPMdO3YUKrhWFhmNlsvx48fx22+/qWDYREbBGzdunB8siwEDBqjH3L59u2plZq1liIiIiIiIiGzB4sC7V69e6lISSReX+doLFy4sVyArI9ErVqxATk4Ohg4divfeey//f1FRUWruuDmZCy5nTuR/1lymqMzMTHUxP5thOoNjYZIAVSDTduK2qvq4re0Lt3fVxW1rP7it7Qe3tX2yp+1uKMdztDjwLouHhwduvvlmHD58uFyB9+LFi9UKy5zvSZMmqRZla9asyU9LkFHp4p6cedqCtZYx98477+D111+/5HpJI7CHN9G1TraR9JUXVT3Fxd5xW9sXbu+qi9vWfnBb2w9ua/tkT9s92Tg4e1UDb9MLWzTAtfR2LVu2xPvvv49+/fqptPPmzZurYm3SO9xcTEyM2pimednWWqao559/Hk8++WShF1VS1SWHn3O8Kz/TyRF7mFti77it7Qu3d9XFbWs/uK3tB7e1fbKn7e5QjudntcA7IyMD8+fPx//+97/Lvo/09HT108nJSf3s3bs33n77bYSGhqo52mLVqlXq/z169LDqMkVJ2zG5FPfiVvU3UFVh2lbcXlUft7V94fauurht7Qe3tf3gtrZP9rLdHcrx/Cyuai5FyIqOGpsXV1uwYAG8vb1Vqy5T4FyaTz/9VJ0NkdRymW+9d+9ePPTQQ2oEWlLNTb2+u3TpAn9/f1VVXXqI33rrrWou+HfffWfVZcrCqubXFnuqpmjvuK3tC7d31cVtaz+4re0Ht7V9sqftnmyLquY7d+7Ehx9+eMn1UsG8bt26al73q6++alHQLSZPnowPPvhAzQuXwF1akt1+++2F0rvlvhYtWoTHHnsM3bp1UyPQ48aNw7vvvmv1ZYiIiIiIiIhsweIRb3vHEe9riz2dabN33Nb2hdu76uK2tR/c1vaD29o+2dN2Ty7HiLflDbeJiIiIiIiIqNwYeBMRERERERHZEANvIiIiIiIiIhti4E1ERERERETEwJuIiIiIiIjo2sQRbyIiIiIiIiIbYuBNREREREREZEMMvImIiIiIiIhsiIE3ERERERERkQ0x8CYiIiIiIiKyIQbeRERERERERDbEwJuIiIiIiIjIhhh4ExEREREREdkQA28iIiIiIiIiG2LgTURERERERGRDDLyJiIiIiIiIbIiBNxEREREREZENMfAmIiIiIiIisiEG3kREREREREQ2xMCbiIiIiIiIyIYYeBMRERERERHZEANvIiIiIiIiIhti4E1ERERERERkQwy8iYiIiIiIiGyIgTcRERERERGRDTHwJiIiIiIiIrIhBt5ERERERERENsTAm4iIiIiIiMiGGHgTERERERER2RADbyIi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AADAQyTeAAAAAAB4iMQbAAAAAAAPkXgDAAAAAOAhEm8AAAAAADxE4g0k4KijjjITJ04stvuqILb/sMMOM1OnTjVFQVHaluKwXQAAAPAWibePZWdnmwYNGtifX375JeS93Nxc06pVK/vezJkz8y3fsGFD06JFC3PyySebu+++26xevdous2PHDtOhQwdz77335lvfK6+8Yv9m3bp1prj5448/zPbt201xVRDbv3btWhv/oqAobUtx2C4AAAB4i8Tbx/Ly8mwisGfPHvPCCy+EvPfuu++aP//8076/a9eukOWHDh1q5syZYz744ANz++23m59//tm0bNnSfPjhh6Z8+fI26b7vvvvM3LlzA+UpMe/bt6+56aabTL169Qr8s/rdN998Yy688MLC3gwAAADAl0i8YXr37m1efvllm4C7xo4da/r06RNx79SoUcPWejdr1syceeaZ5u233zY9evSw5fz999/mtNNOM1dddZX9e9XuOY5jLr/8cnPsscea66+/PmYzXK23V69etuz777/fvt61a9dALbtq04cMGRJ4GCCPP/64+ec//xn4XQ8EtOykSZMCr1166aVm2LBhUde9d+9e89hjj5ljjjnGHHLIIebqq682f/31V9TlVXt8xx132FYBzZs3t593/fr1Icu88847tkWA3j/77LPN7NmzQ9b36KOP2ibgWt8FF1xgfvrpp5jfRu2f5557zu5n/f9xxx1nP2si+1DrD1423ufdl+0TtWaItX2JlKu/1YOgf/3rX3b/qpy33norXznu9h966KHm2muvzRcvxSNWGVrP6NGjA9urst577z3z66+/2ocUBx98sOncubNZsGBByN/F+z7GikO4V1991X4/gh9SAQAAIA05SEhWVpaj3aV/w+3cudNZtGiR/TcgL89xcrYV/I/Wm6AtW7bYzzR16lSnadOmzpQpU+zrq1evdsqWLev89NNP9v0PP/wwZPm33347X1lLliyx702ePNn+vn37dqdZs2bO9ddf74wcOdKpVq2as3bt2pjbU6VKFadChQrOs88+6/z666/O1q1b7esbNmxw1qxZY7frs88+c9q2bWvLdU2bNs3JzMx0cnJy7O99+/Z1KlWq5Fx22WVOXl6es3fvXqdq1aqBzxdJ7969nQYNGjgTJ060sdQ23H777YH369ev77z44ouB3y+44AKnZcuWzsyZ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6dKlnUceecSZMmWK06FDB+fII490cnNzkyqna9euNh7BsV68eHHc7bz00kudTp06OYMGDbLfl2XLlu3TMn73j3/8w7nxxhudyZMnOx988IHdXzqG/vzzz8AyK1assMeS9ufUqVOdK664wqlUqZKzdOnSpMrJy8tzunXr5jRt2tR+Hz777DPnmmuuscdhLImsX9/HFi1aOI8++qhTsWJFjmnHcfr16+ecf/75dl9/+umnznXXXeeUKVPGmTt3bmC/7d6922nbtq1z3HHHOe+++67z4IMP2nPym2++mVQ58tBDDzkVKlSwMZg5c6YzfPhw54YbbogZ20TW/+GHHzonn3yyM3bsWPudefzxx51y5co5jz32WMyy/WTatGl2P+q6qRiNHDnSHgf33XdfyHJ33HGHU716dXstHj9+vNOgQQN7XCVbjmKv13Usajkdf8cee2zc7Yy3fqlfv749ZwdfE3Ttxn/l5OQ4TZo0ce6++257rtWxcsghhzgnnniis2fPnpBY6lgaPHiw8/777ztdunSx1+S///47qXK2bt3qtGrVysb37bfftsejrtvffPNN3O9krPXLvHnzQuKse0Ndq7UehLrooovssTJu3Djn448/di688EKnSpUqIfc1ipXusxQfxbR///72Pu2LL75Iqhzp27evU7NmTWfMmDH2fD5gwABn6NChMcOSyPq1Xn0vHnjgAZsH6Pun6/lPP/1ULEJO4o0CEXyidOnmq3Xr1oHff/zxR3vCnDFjRuC15557zt6gbd68OeFyROXopJ2MRNavA1wXdTc5FCX9Ouns2rUrqfWlK12M9RNMJ1Dt21WrVgVe0wX71ltvDfy+du1ap0SJEvZmKplydIK+6aabkt5OneBFF+toSXUiy/hd+DG5bds2m9ToBsh19dVX2xsvJc6if3VzftlllyVVjo41XYR/+eWXkGV37twZcxsTWX9WVlbg/3U88zAt8vlWN8+9e/cO/K5kWjdBGzduDLymZLlZs2ZJlaOHZSVLlnRee+21pGKbyPq3b98e8Tuhh3343/HmHh8uPfRUkuvSPta+fvXVVwOvKYnSudF92JlIOXr/0EMPdXr27JlUrBNZv+gaHf4wHk7I/g8/Jr799lu7H5XIuo4++minV69eIcexHpaMGDEiqXJ0fdYDEn03kol3vPVHooe3derUCblHw//2X7C9e/fa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",
      "text/plain": [
       "<Figure size 1000x540 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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b2PQDYXl5kZwRw1o+jXqiql95I2le2Vzpjnr7ewEq7VgaRod33ur1ByOHZgmGw4UynXH9PXaYxAReYvOcjf3Gt5akizLielScyxjhmUo0VDtmEFpzf48S82JqCkenfF98803cumll8pnn30mXbp0kZEjR6o53p9//rma701EHY8+oSj14a7mxjJzo6n9befl2cO8bz3Xe/muPGnL/fRWqTnMPa6frL1nhhw7KN1rj0FE5C1/mzlA3rl8gpw5tnubHGQ9xzvXUmr+zcZM9fmo/ik2jd6cwfQe4HJiRNRqGe9Zs2apD8Ac719//VV1NT/zzDNVWU5dXdsuy0NE3of1S329uZqjwBtrkE/u2/wa3WlxEepzeXVtm+5niJdKzQGlmY7mtRMR+YOosBCZ0q/tqiqxVjhWmkAztXX7Cw1l5uZS8uZE+0kvFCLys+ZqOTk58tNPP6mPxYsXq/ndKDk/6qijWncPicgn+EOpuW5YhqmACZGhquHNmB4JNmvB+kKmwlgS781ScyIicl1idJhadvGzNQflga83qwaduDg6fXDzZebAUnMiavXAe9iwYWopseTkZBVoYx3vadOmqdvbovkFEbVfkxtfbhpjXKILcwMLyovkqGbKzO0zFWVtkPHWjdWQ7EZGnoiIfMPFk3upwPt3y4oYk/om2yxD2RRmvImo1QPvq6++Wo4++mgG2kQBxB8y3jW15oA2LDhILj2yt7z3+z45Z1x3t06Yytsg421dSozZbiIinzKye4KM7pEga/YVqv+7s8SkdTmxNriAS0QBEnhff/31rb8nROTT/GEdbz13GnP0ThnVVX24qi0zFTozjwsERETke1nvNfvWqmlLM4a63pyyodScvY6IqBXneEN5ebns27dPamttT1RRck5EHUustbma73Y115nkEA8CWj3Hu7wNS81DgllmTkTka04c3lmW7cyT7klRkhZrbrzp1gVcH64MIyI/C7yzsrLUcmILFixw+H10NieiDlpq7tMZb88zyeieC6UsNSciCmiYBvTwGSPc/rkYy/sILgJX19ar9b+JiDSPXhFuvvlmCQkJUZ3MYffu3Wo5se7du8vTTz/tySaJyMfpEjpfXk6s1lBq7unv1zbLiTU0gSMioo4hOtxcOQVlPnyRmoj8KOP9ww8/yMqVK6VHjx7q/wi4e/XqJV26dFGN1+bOndva+0lE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7QPMfv36SUpKivX/F110keoIjiXB8DiYy42A2dhd3dG2cT/jXGks1YX1snExAMuMffnll3LdddepEnl0SEdZ/GmnnSbp6ek2JfKe7jcuVmC5MJTJI+BGw7Rbb71VVQdomAOP3+2OO+6w2RaCc0fLkxERERERdbRS8zyWmjfSyeTJmlQdHDK78fHxqgO3feOxyspK2b17twremgpkqe3gTxgl3gjKPS2/9yX8G2t+vPHcxHO0I4w3NY3j3bFxfAMLxzuwcLwD09bDxTLzqV8lITJU1t4zQwI5brTHOd5ERERERETUYsmWteYLK2qkpq6eR9SAgTcRERERERG1WEJUmARZChILOM/bBgNvIiIiIiIiarHgoE6qzBxyuZa3DQbeRERERERE1CqSos2Bd14Z1/I2YuBNRERERERErSIpyhJ4M+Ntg4E3ERERERERtWrgncslxWww8CYiIiIiIqJWkagz3myuZoOBNxEREREREbXuHG9mvG0w8CYiIiIiIqJWwTnejjHwJjJ48cUXZebMmTwmREREREQtmePNUnMbDLwDxC233CLdunWTf/zjH42+93//93/qe3PmzGl0f3z07t1bxowZI3/9619l/vz51vs8/fTTMnLkSCksLLTZXnFxsYwePVqeeOIJ8TclJSWSlZXV3rtBREREROSXWGruGAPvAJGfny+1tbXy0ksvSUVFhfX2+vp6ee6559T3cnJybO7fvXt3Wb58ufz8888yb948GTp0qFx44YVy9tlnS11dnVxzzTXSqVMnuf76620ea+7cuWp71113XZv+jkRERERE1L5Yat4BAu+8vDx54IEH5KSTTpJTTjlFHn30USkvL2+UvZ04caLNxwUXXNBu++xLRo0apTLYn376qfW277//XgXRxx57bKP7h4eHq/v36NFDjjjiCPnnP/8pixcvVj+PQDwsLEzeeust+fjjj9UHfPHFF/Lee+/J22+/rX7eEWTCTzvtNHn++edl7NixKqMOn332mTXLPnDgQDn99NNl3bp11p8rKipS+/Lnn39abxs3bpzMmjXL+v9ff/1V+vfvrwJ/Z1atWiVnnHGGut8xxxwjCxcubPK4LViwQN2vT58+cvTRR6vf0SgzM1Muu+wyGTZsmIwfP17uv/9+qa6utnm8U089Vfr16ydTpkyR//73v+qCBxERERFRRw28K2rqpLza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iIjIixh4k98LDw+Xe+65R32mjo/jHVg43h0bxzewcLwDC8c7MHHcnWNzNSIiIiIiIiIvYsabiIiIiIiIyIsYeBMRERERERF5EQNvIiIiIiIiIi/iOt7kFRs2bJCXXnpJNm3aJKmpqXLOOefIqaee2mjB+Xnz5snnn38utbW1MmvWLJk7d66Ehoa6tZ2TTz5ZsrOzbW7761//Ktdee22T++jK4+fm5soTTzwhq1evluDgYDn99NPl0ksvlU6dOrXwCHUsmzdvVscS45WSkiKnnXaanH322Y2O0+uvvy4fffSRVFVVyfTp0+Xmm2+2aYrnynbOPfdc2bNnj812zzrrLLn11lub3EeM8ZdffimvvvqqGtfly5d7dB8S2bFjh7z44ouybt06SUhIkL/85S9ywQUXSFCQ7bXcd999V9577z0pKyuTadOmyd/+9jeJiopyezuZmZnW52HXrl3l73//uwwfPrzZoWju8evq6uTrr7+WV155RbKysmTx4sUSGRkZ8EO8detWNS54HiYlJanXXDzv7J/Pb775pnzwwQdSWVkpxx13nNxyyy0SERHh9nYOHDggTz75pKxZs0Z69Ogh//znP2Xw4MHNjkNzj5+XlyfPPfecLF26VL2uT5o0Sb0vuLreaqDYuXOnGqe1a9eq5+FJJ50kc+bMafQ8fP/99+Wdd95Rz6ejjz5aPZ+io6Pd3s7hw4fVeK9atUq6dOmins8jRoxodj+be/zLL79cNm7caPMzeF+/9957W3B0Op59+/bJ888/r15PY2NjZebMmXLJJZdISIhtSPDZZ5/JG2+8IUVFRTJ58mT1vDSuyezqdvBe+tRTT6n307S0NPW+P27cuGb3s6nHz8/PlxNPPNHhz91www3qfYSk0fsoxuv3339X74PHHnusXHnllRIWFmZzv4ULF6rzbhzjI444Qm6//Xb1+u3udgoLC+W///2vLFmyRBITE+X666+XqVOnNjsszT1+dXW1el3H+3Vpaal6b8f5n/G93aeZiFrZ999/bxo1apTpv//9r2nRokWmp59+2hQTE2P6z3/+Y3O/f/zjH6akpCTT66+/bnr//fdN3bp1M1100UVub6dr166mu+66y7Rs2TLrx759+5rdz+Yev6CgwNSrVy/T8ccfb/rmm29M7733nqlPnz6mf/7zn61ynDqKpUuXmoYNG2Z68skn1Zg9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RERERF4U4s2NExERke/49ttvpaCgQH0dEREhKSkpMnz4cImPj/doe19++aX6+d69e7fynhIREXUsnUwmk6m9d4KIiIi8b9SoUVJRUSGjR4+W2tpaOXDggKxfv15mz54tTz/9tHTu3Nmt7XXr1k3uv/9+ufjii722z0RERB0BM95EREQB5IQTTpCnnnrK+v/9+/fLWWedJdOmTZM1a9ZIVFSUun3RokWSm5srnTp1UgE5gvXY2Fib7DmC+BUrVqjseXBwsNoOVFdXy/Lly6WoqEiGDBkiffv2bYfflIiIyHcw8CYiIgpg3bt3lw8//FAFx6+//rpce+216vaff/5Ztm/fLiiM27Vrl+zbt08++eQTOfLII9X3Fy9erALv1atXq/L1sLAwFXivXbtWTj31VElKSpKuXbuqAPyMM86QF154oZ1/UyIiovbDUnMiIqIAKjVHZtuY8daOOOIIFXx/8MEHDn/2wQcflPfee082bNjgtNS8pqZGBgwYIDfeeKPcdNNN6racnBwZOXKkPPHEE3Luued67XcjIiLyZcx4ExERkWRkZKgg2QhZ7s2bN0thYaGEhobKxo0bpby83FqObg9Z8L1790paWpp8/PHHKluODwT0+B4DbyIiClQMvImIiEhKSkokLi7OeiRuuOEGee2112TcuHGq+znKygHBec+ePR0esT179qiSc3Q7N0LJOTLhREREgYqBNxERUYBDUI252XPnzlX/x7ztZ599Vs3x1o3RMFf766+/VhlsZxC4o7Hayy+/LDExMW22/0RERL4uqL13gIiIiNrXPffcI1VVVXLppZeq/x8+fFgiIyNtMtsoHbeH4LqystL6f8wfR8Z73rx5Nverq6uTrKwsr/4OREREvowZbyIiogCybds2ef/999U63ocOHZLPP/9ctmzZojqb9+7dW91n0qRJKqg+++yz1RrfWDLso48+ctiQ7dVXX1VzvhGoo6s5GrehTB3bnDBhglorHN3Q0ZwN2yIiIgpE7GpOREQUIG677TY1DxvCw8PV3O0xY8bIySefbLNGN+zevVuef/55lf0eOHCgnHLKKaqD+TPPPCOpqanqPvn5+fLcc89Zlx1788031e1YDxzd0TMzM6VPnz6qqRq2QUREFKgYeBMRERERERF5Eed4ExEREREREXkRA28iIiIiIiIiL2LgTURERERERORFDLyJiIiIiIiIvIiBNxEREREREZEXMfAmIiIiIiIi8iIG3kRERERERERexMCbiIiIiIiIyIsYeBMRERERERF5EQNvIiIiIiIiIi9i4E1ERERERETkRQy8iYiIiIiIiMR7/h8ray+w+JwfygAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x520 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Common-period exit reasons:\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>trades</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>exit_reason</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>initial_stop</th>\n",
       "      <td>33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>trailing_stop</th>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>time</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>gap_stop</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               trades\n",
       "exit_reason          \n",
       "initial_stop       33\n",
       "trailing_stop      13\n",
       "time                4\n",
       "gap_stop            3"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Largest 10 losses:\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>symbol</th>\n",
       "      <th>entry_date</th>\n",
       "      <th>exit_date</th>\n",
       "      <th>exit_reason</th>\n",
       "      <th>net_pnl_usd</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>CDE</td>\n",
       "      <td>2025-09-16</td>\n",
       "      <td>2025-09-17</td>\n",
       "      <td>gap_stop</td>\n",
       "      <td>-156.50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>BTSG</td>\n",
       "      <td>2025-10-24</td>\n",
       "      <td>2025-11-14</td>\n",
       "      <td>gap_stop</td>\n",
       "      <td>-130.92</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>TWLO</td>\n",
       "      <td>2026-06-05</td>\n",
       "      <td>2026-06-08</td>\n",
       "      <td>initial_stop</td>\n",
       "      <td>-127.70</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>VAL</td>\n",
       "      <td>2026-05-19</td>\n",
       "      <td>2026-05-21</td>\n",
       "      <td>initial_stop</td>\n",
       "      <td>-127.60</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>VICR</td>\n",
       "      <td>2026-03-03</td>\n",
       "      <td>2026-03-05</td>\n",
       "      <td>initial_stop</td>\n",
       "      <td>-127.58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>LIVN</td>\n",
       "      <td>2026-02-27</td>\n",
       "      <td>2026-03-03</td>\n",
       "      <td>initial_stop</td>\n",
       "      <td>-127.41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>P</td>\n",
       "      <td>2025-10-09</td>\n",
       "      <td>2025-10-22</td>\n",
       "      <td>initial_stop</td>\n",
       "      <td>-127.18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>VIAV</td>\n",
       "      <td>2026-05-01</td>\n",
       "      <td>2026-05-18</td>\n",
       "      <td>initial_stop</td>\n",
       "      <td>-126.94</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>52</th>\n",
       "      <td>OKTA</td>\n",
       "      <td>2026-08-28</td>\n",
       "      <td>2026-09-02</td>\n",
       "      <td>initial_stop</td>\n",
       "      <td>-126.76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>SANM</td>\n",
       "      <td>2025-10-07</td>\n",
       "      <td>2025-10-07</td>\n",
       "      <td>initial_stop</td>\n",
       "      <td>-126.24</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   symbol entry_date  exit_date   exit_reason  net_pnl_usd\n",
       "5     CDE 2025-09-16 2025-09-17      gap_stop      -156.50\n",
       "18   BTSG 2025-10-24 2025-11-14      gap_stop      -130.92\n",
       "44   TWLO 2026-06-05 2026-06-08  initial_stop      -127.70\n",
       "41    VAL 2026-05-19 2026-05-21  initial_stop      -127.60\n",
       "30   VICR 2026-03-03 2026-03-05  initial_stop      -127.58\n",
       "29   LIVN 2026-02-27 2026-03-03  initial_stop      -127.41\n",
       "15      P 2025-10-09 2025-10-22  initial_stop      -127.18\n",
       "39   VIAV 2026-05-01 2026-05-18  initial_stop      -126.94\n",
       "52   OKTA 2026-08-28 2026-09-02  initial_stop      -126.76\n",
       "11   SANM 2025-10-07 2025-10-07  initial_stop      -126.24"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax=plt.subplots(figsize=(10,5.4))\n",
    "ax.plot(common_equity.index,common_equity.equity,label='Momentum52 historical simulation')\n",
    "ax.plot(common_equity.index,STARTING_EQUITY*(mdy_common/mdy_common.iloc[0]),label='MDY raw-close price benchmark')\n",
    "ax.axhline(STARTING_EQUITY,color='grey',ls='--',alpha=.6)\n",
    "ax.set(title='Momentum52 and MDY — Common-Period Portfolio Wealth',xlabel='Date',ylabel='USD',ylim=(0,None))\n",
    "ax.grid(alpha=.2);ax.legend();fig.tight_layout()\n",
    "fig.savefig(FIGURES/'momentum52_common_equity_vs_mdy.png',dpi=150)\n",
    "plt.show()\n",
    "\n",
    "fig,ax=plt.subplots(figsize=(10,5.2))\n",
    "ax.plot(common_equity.index,(common_equity.equity/common_equity.equity.cummax()-1)*100,label='Momentum52')\n",
    "wealth=STARTING_EQUITY*(mdy_common/mdy_common.iloc[0])\n",
    "ax.plot(common_equity.index,(wealth/wealth.cummax()-1)*100,label='MDY raw-close')\n",
    "ax.axhline(0,color='grey',ls='--',alpha=.6)\n",
    "ax.set(title='Historical Drawdown — Common Period',xlabel='Date',ylabel='Drawdown (%)')\n",
    "ax.grid(alpha=.2);ax.legend();fig.tight_layout()\n",
    "fig.savefig(FIGURES/'momentum52_common_drawdown_vs_mdy.png',dpi=150)\n",
    "plt.show()\n",
    "\n",
    "if not common_trades.empty:\n",
    "    print('Common-period exit reasons:')\n",
    "    display(common_trades.exit_reason.value_counts().to_frame('trades'))\n",
    "    print('Largest 10 losses:')\n",
    "    display(common_trades.nsmallest(10,'net_pnl_usd')[['symbol','entry_date','exit_date','exit_reason','net_pnl_usd']])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "604625b2",
   "metadata": {},
   "source": [
    "## 10. Reproducibility manifest and disclosure controls\n",
    "\n",
    "A fully repeatable run depends on frozen **membership**, frozen **evaluation dates**, **symbol identity**, vendor price snapshots, software versions, exact arithmetic, and portfolio state transitions. New Yahoo requests can return revised data and may not be identical to the paper's original cache. The notebook therefore stores reproducibility **hashes** of canonical OHLCV series, rather than silently claiming data equivalence."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "7203ba80",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Research results and fingerprints written exclusively within research/post-3/results/\n",
      "Publication checklist: review these, compare archives, and approve article before setting draft=false.\n"
     ]
    }
   ],
   "source": [
    "def fingerprint(frame):\n",
    "    t=frame[['open','high','low','close','volume']].to_csv(index=True,date_format='%Y-%m-%d',float_format='%.10f',lineterminator='\\n')\n",
    "    return hashlib.sha256(t.encode('utf-8')).hexdigest()\n",
    "\n",
    "manifest={'study':'Momentum52 — Post 3','research_status':'Executed historical reconstruction' if len(all_runs)==4 else 'Draft',\n",
    "   'universe_count':len(universe),'universe_sha256':actual_sha,\n",
    "   'universe_provenance':provenance,'download_utc':DOWNLOAD_UTC,\n",
    "   'vendor':'Yahoo Finance (yfinance)','vendor_library_version':yf.__version__,\n",
    "   'price_auto_adjust':False,'price_repair':False,'dates':{'start':START_DATE,'end_inclusive':END_DATE},\n",
    "   'python':sys.version,'pandas':pd.__version__,'numpy':np.__version__,\n",
    "   'benchmark_sha256':fingerprint(mdy),\n",
    "   'ticker_sha256':{s:fingerprint(p) for s,p in prices.items()},\n",
    "   'ticker_data_failures':failures.to_dict('records'),\n",
    "   'summary':sums,'original_policy_gate_passed':passed,\n",
    "   'warning':'Historic development/holdout is already known; not a new prospective validation.'}\n",
    "(RESULTS/'post3_reproducibility_manifest.json').write_text(json.dumps(manifest,indent=2,default=str,allow_nan=False)+'\\n',encoding='utf-8')\n",
    "assert manifest['universe_count']==399 and not manifest['ticker_data_failures']\n",
    "assert len(manifest['ticker_sha256'])==399\n",
    "print('Research results and fingerprints written exclusively within research/post-3/results/')\n",
    "print('Publication checklist: review these, compare archives, and approve article before setting draft=false.')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "29edac85",
   "metadata": {},
   "source": [
    "## 11. References and limitations\n",
    "\n",
    "- Carhart, M. M. (1997). On Persistence in Mutual Fund Performance. *The Journal of Finance, 52*(1), 57–82. https://doi.org/10.1111/j.1540-6261.1997.tb03808.x\n",
    "- Daniel, K., & Moskowitz, T. J. (2016). Momentum Crashes. *Journal of Financial Economics, 122*(2), 221–247. https://doi.org/10.1016/j.jfineco.2015.12.002\n",
    "- George, T. J., & Hwang, C.-Y. (2004). The 52-Week High and Momentum Investing. *The Journal of Finance, 59*(5), 2145–2176. https://doi.org/10.1111/j.1540-6261.2004.00695.x\n",
    "- Jegadeesh, N., & Titman, S. (1993). Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency. *The Journal of Finance, 48*(1), 65–91. https://doi.org/10.1111/j.1540-6261.1993.tb04702.x\n",
    "- Lee, C. M. C., & Swaminathan, B. (2000). Price Momentum and Trading Volume. *The Journal of Finance, 55*(5), 2017–2069. https://doi.org/10.1111/0022-1082.00280\n",
    "- Novy-Marx, R. (2012). Is Momentum Really Momentum? *Journal of Financial Economics, 103*(3), 429–453. https://doi.org/10.1016/j.jfineco.2011.05.003\n",
    "- Sullivan, R., Timmermann, A., & White, H. (1999). Data-Snooping, Technical Trading Rule Performance, and the Bootstrap. *The Journal of Finance, 54*(5), 1647–1691. https://doi.org/10.1111/0022-1082.00163\n",
    "- White, H. (2000). A Reality Check for Data Snooping. *Econometrica, 68*(5), 1097–1126. https://doi.org/10.1111/1468-0262.00152\n",
    "- Yildiran, C. U. (2026). *From Breakouts and Momentum to Short-Term Reversal: Sequential Strategy Development and Out-of-Sample Validation in U.S. Mid-Cap Equities*. Working paper (SSRN 7636019). https://papers.ssrn.com/sol3/papers.cfm?abstract_id=7636019\n",
    "\n",
    "### Interpretation boundaries\n",
    "\n",
    "1. Current-contemporaneous stock membership projected historically: **survivorship, listing and delisting bias**; the frozen file is an audit-derived reconstruction, not a point-in-time constituent database.\n",
    "2. Yahoo Finance historical prices might be revised or differ in split/corporate-action handling; `auto_adjust=False` is not an institutional corporate-actions audit.\n",
    "3. Daily OHLC bars conceal intraday event sequence; the simulation assumes adverse stop ordering and simplistic per-order costs.\n",
    "4. Concentrated, cash-constrained long-only exposure cannot be equated with diversified conventional long–short momentum factors.\n",
    "5. The original validation period is no longer untouched, and additional post-holdout variants are intentionally **not** optimized here.\n",
    "6. Successful execution and accounting checks are not evidence of live profitability or investable alpha.\n",
    "\n",
    "**Publication control:** The `content/writing/post-3/index.md` article is `draft = true` until actual research outputs, figures, provenance and results reconcile. Do not claim the archived 113 trades as newly re-estimated notebook outputs."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4e5819f1-20ec-4f17-80b8-c7f2399eb180",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
