Nifty 50 Value-Momentum-Size Long-Short Strategy

Nifty 50 large caps Value, Momentum, Size factors Fama-MacBeth premia IC / IR diagnostics 20/20 long-short portfolio NSE yfinance data Interactive performance charts

Overview

Multi-factor investing asks whether observable stock characteristics — cheapness, past performance, and scale — help explain and predict returns beyond a single market beta. This project runs that workflow on Indian large caps: the Nifty 50 universe on the NSE, with prices and fundamentals from Yahoo Finance (*.NS tickers).

The pipeline mirrors a standard quant workflow (factor construction → Fama–MacBeth → IC/IR → long–short backtest), applied to up to fifty Nifty constituents that pass a minimum history filter.

With a broader cross-section, factor ICs and information ratios become more meaningful than in a four-stock demo, and the long–short book holds the top and bottom 20% of names each month (10 long / 10 short when 50 stocks qualify) rather than a fixed pair on each side.

Universe and data

Constituents are listed in nifty50_universe.json (NSE symbols with .NS suffix for yfinance). Daily adjusted closes are downloaded from 2015 onward, resampled to month-end prices, and filtered to names with at least five years of monthly history so 12–1 momentum is well defined.

Value uses trailing earnings yield from Yahoo fundamentals. Size uses each month when share count is available, otherwise log market cap. Momentum is 12–1: . Fundamentals are cached for 24 hours to limit API load.

Methodology

Fama–MacBeth regressions — Each month, a cross-sectional OLS regresses next-month stock returns on Value, Momentum, and Size exposures. The sequence of monthly coefficients estimates factor premia over time; t-statistics accompany each estimate.

Information Coefficient (IC) — For each factor and month, IC is the correlation between the factor score and the subsequent month’s return. Information Ratio (IR) is mean IC divided by the standard deviation of IC, summarising consistency of predictive power.

Long–short portfolio — Predicted return combines lagged Fama–MacBeth betas (prior month, no same-month look-ahead) with current factor scores. Each month the strategy goes long the top 20% and short the bottom 20%, equal-weight within each leg, dollar-neutral (50% long / 50% short notional).

Frictions — Brokerage and slippage applied to estimated one-way turnover; STT on sell legs; monthly short-stock borrow fee; excess returns vs a constant risk-free proxy; cross-sectional winsorisation and ±35% monthly return caps on single names.

Performance — Gross and net (after frictions) cumulative return, Sharpe, drawdown, hit rate, average turnover, and cumulative cost drag.

How to interpret the results

With roughly fifty Nifty names, cross-sectional regressions and IC series are far more stable than in a four-stock US demo. IR magnitudes and signs should be read as descriptive, not as guaranteed live alpha.

The long–short cumulative curve reflects Indian large-cap factor premia and regime shifts (e.g. COVID, rate cycles). Compare summary metrics and drawdowns across refresh dates when yfinance data updates.

Use the Fama–MacBeth and IC time-series panels to see when factor premia or predictive correlations shift. The latest cross-section table shows current factor scores used for ranking.

What you will see in the results

Summary metrics — Cumulative return, annualised Sharpe, and maximum drawdown for the long–short strategy.

Performance charts — Cumulative return and drawdown paths, plus monthly long–short returns.

Factor diagnostics — Information ratios and monthly IC series for Momentum, Size, and Value.

Fama–MacBeth premia — Time series of monthly cross-sectional coefficients and t-statistics.

Friction breakdown — Monthly trading and borrow cost drag stacked by rebalance.

Cross-section snapshot — Latest factor exposures by ticker.

Empirical results

Fama–MacBeth premia, information coefficients, and long–short performance from the latest pipeline run.

UniverseNifty 50 · 48 stocks · NSE
Study period2015-01-31 → 2026-05-31
Portfolio ruleLong 10 / Short 10 · β lag 1m
Data sourceyfinance (NSE .NS)
Data as of2026-05-31
Constituents
ADANIENTADANIPORTSAPOLLOHOSPASIANPAINTAXISBANKBAJAJ-AUTO
BAJAJFINSVBAJFINANCEBELBHARTIARTLBPCLBRITANNIA
CIPLACOALINDIADRREDDYEICHERMOTGRASIMHCLTECH
HDFCBANKHDFCLIFEHEROMOTOCOHINDALCOHINDUNILVRINDUSINDBK
INFYITCJSWSTEELKOTAKBANKLTM&M
MARUTINESTLEINDNTPCONGCPOWERGRIDRELIANCE
SBILIFESBINSHRIRAMFINSUNPHARMATATACONSUMTATASTEEL
TCSTECHMTITANTRENTULTRACEMCOWIPRO

Friction assumptions

Costs are applied each rebalance from estimated one-way turnover (weight changes). Net returns subtract trading costs and a flat monthly short-borrow fee on half the book. These are stylised India cash-market magnitudes — not a broker quote.

Commission (one-way)12 bps + GST
Slippage (one-way)8 bps
STT on sells10 bps
Short borrow (annual)8.00%
Risk-free (annual proxy)6.50%
Avg monthly turnover74.10%

Long–short performance (gross vs net)

Excess-return long–short on Nifty names: top/bottom 10 each side, Fama–MacBeth betas lagged one month, fundamentals lagged one month. Gross is before costs; net deducts turnover-based trading costs and short borrow.

MetricGrossNet
Cumulative-13.40%-65.10%
Sharpe-0.14-1.25
Max DD-20.40%-64.10%
Hit rate48.00%30.90%
Ann. vol8.00%7.90%

Cumulative friction drag (trading + borrow): 90.50%

Cumulative return — gross vs net

Purple: net of frictions. Grey: gross paper portfolio. The gap illustrates how turnover and borrow erode a factor strategy in live trading.

Drawdown (net)

Peak-to-trough decline on the friction-adjusted cumulative curve.

Monthly turnover

One-way turnover from weight changes each rebalance. Higher turnover increases commission, slippage, and STT drag.

Monthly net returns

Friction-adjusted long–short return after ranking on lagged factor premia.

Factor information ratios

IC mean / IC std on excess returns with winsorised cross-sections.

FactorIR
Momentum0.072
Size-0.420
Value-0.089

Monthly information coefficients

Cross-sectional correlation of factor score with next-month excess return.

Fama–MacBeth factor premia (lagged for trading)

Monthly cross-sectional coefficients on excess returns. Portfolio formation uses the prior month’s coefficients to avoid same-month look-ahead.

Fama–MacBeth t-statistics

Cross-sectional significance of factor premia each month (same regressions as the coefficient panel).

Friction drag by month

Trading costs from turnover and flat short-borrow fee applied each rebalance.

Latest cross-sectional factor scores

Most recent month-end scores (value lagged one month). Used with prior-month betas for ranking.

TickerValue (z)Momentum (z)Size (z)
ADANIENT-0.5780-1.2880-0.2270
ADANIPORTS-0.35700.46900.1770
APOLLOHOSP-0.91500.3690-1.3350
ASIANPAINT-0.9470-0.5320-0.3690
AXISBANK0.7440-0.10000.4340
BAJAJ-AUTO-0.20900.6730-0.1270
BAJAJFINSV-0.3080-0.8930-0.0380
BAJFINANCE-0.3530-0.35700.9010
BEL-0.79101.56700.1300
BHARTIARTL-0.6530-0.19202.0310
BPCL3.8780-0.1840-1.1630
BRITANNIA-0.78900.0610-1.0410
CIPLA-0.3010-1.1040-1.4450
COALINDIA2.31401.38700.0520
DRREDDY-0.16800.3720-1.3650
EICHERMOT-0.53501.0970-0.5700
GRASIM-0.6730-0.3370-0.6300
HCLTECH0.3400-0.67700.4140
HDFCBANK0.4870-1.25702.0840
HDFCLIFE-0.9740-1.1140-1.0770
HEROMOTOCO0.50901.9300-1.4100
HINDALCO0.41401.9300-0.4390
HINDUNILVR-0.7590-0.57900.8560
INDUSINDBK-1.0430-0.5580-1.8470
INFY0.8000-0.77300.9240
ITC0.3970-1.63000.4310
JSWSTEEL0.96300.51700.0330
KOTAKBANK0.2290-1.08800.3950
LT-0.47000.32800.8390
M&M0.19900.09900.4080
MARUTI-0.24700.08700.5340
NESTLEIND-1.0230-0.0310-0.2420
NTPC0.12400.40700.4270
ONGC2.17701.25700.4220
POWERGRID0.8700-0.02400.0410
RELIANCE0.0340-0.21202.4530
SBILIFE-1.02000.0490-0.5900
SBIN1.75901.47301.7390
SHRIRAMFIN0.43401.9300-0.3860
SUNPHARMA-0.5740-0.16800.6590
TATACONSUM-1.0140-0.6710-1.4350
TATASTEEL-0.26701.9300-0.1630
TCS0.5570-1.60801.6620
TECHM-0.1700-0.2830-1.1330
TITAN-0.99400.95500.3910
TRENT-1.0610-1.8190-1.1990
ULTRACEMCO-0.6530-0.38500.2410
WIPRO0.6160-1.0240-0.4470

QuantifiedTrader is operated by an independent research-only group focused on building, documenting, and improving open quantitative-finance tools. Our purpose is to study markets, models, and methods—not to sell products, manage assets, or act on behalf of third parties.

No services. We do not provide investment, trading, brokerage, advisory, portfolio-management, custody, tax, legal, or any other professional or commercial services to any person or entity. Nothing on this site constitutes an offer, solicitation, recommendation, or endorsement to buy or sell securities or to adopt any investment strategy.

Research & education only. Content, data, backtests, charts, and software made available here are for informational and educational research. They may be incomplete, simulated, or based on third-party sources; past performance is not indicative of future results. You are solely responsible for your own decisions and for verifying any information before use.

No commercial benefit from shared knowledge. This site does not aim to profit from the knowledge, tools, or datasets published here. Materials are provided without charge for non-commercial research and learning, subject to applicable open-source or site terms where noted.

Disclaimer of warranties. All content and tools are supplied “as is” and “as available,” without warranties of any kind, express or implied, including accuracy, fitness for a particular purpose, or non-infringement. We disclaim liability for any loss or damage arising from use of or reliance on this site, to the fullest extent permitted by law.

Contact & disputes. For questions about this notice, the site, or any dispute relating to published materials, contact support@quantedx.com. We will endeavour to respond in good faith; this contact channel is for administrative and research correspondence only and does not create a client, advisory, or fiduciary relationship.

© 2026 QuantifiedTrader