⌁tradecompanion
Markets Closed·01:20IST · Next open: 19 / 10 / 2026
🔔
The method

How a trade gets picked here

Everything on this site is computed from end-of-day data by rules you can read below. Nothing is discretionary. A name becomes a setup card only when it passes all three gates on the same evening. Each page shows the evidence behind the number so you can disagree with it.

1 · Shield

Hard filters on fundamentals, promoter and institutional holdings, pledges and exchange surveillance. One failure disqualifies the stock, caps its score at 4.9 and keeps it off the cards. The stock page says exactly which rule failed and by how much.

2 · Conviction score

Four sub-scores, each 0 to 10, weighted: F × 0.3, T × 0.25, M × 0.2, B × 0.25. F is fundamentals quality, T is technical strength, M is macro and sentiment (not yet sourced, held neutral), B is the stock's own backtest of the trigger. Setup at ≥ 8.0, watchlist at ≥ 6.5.

3 · Trigger

The entry rule must fire on tonight's bar. Default: close above the prior 20-day high on at least 1.5× average volume. The backtest term B measures how this exact rule has done on this stock over the last 250 sessions, counting only days the shield passed.

Then the card tells you the trade
Entry zone · reference close ± 0.25 × ATR(14). Buy at next open inside the zone; skip if it gaps beyond it.
Stop · entry − 1.5 × ATR. That distance is 1R.
Targets · 2.0R first, then 3.0R. Cards with reward-to-risk below 2.0 are suppressed.
Size · risk 0.75% of ₹5.0 Cr per trade, capped at 10.0% of capital and 2.0% of 20-day traded value. At most 12 open positions.
Time stop · exit at close 5 sessions after entry if neither stop nor target is hit (CNC).
Journal · every setup is tracked as a paper trade. Press Taken when you place the order; the scoreboard then compares realised and backtested win rates.
Shield rules 14 rules · shield_rules.yaml
RuleFieldTestApplies toIf missing
Debt-to-Equity < 0.5 for non-financialsdebt_to_equity< 0.5 non_financialfail
Capital adequacy ratio > 15% for banks/NBFCscapital_adequacy_ratio_pct> 15.0 financialfail
Net NPA < 1.0% for banks/NBFCsnet_npa_pct< 1.0 financialfail
Promoter holding >= 40% (mid caps; waived for large caps per decision 2026-10-17)promoter_holding_pct>= 40.0mid fail
Promoter holding >= 50% (small caps)promoter_holding_pct>= 50.0small fail
Promoter pledge < 2% of promoter holdingpromoter_pledge_pct< 2.0 allfail
FII + DII > 10% (mid and small caps)fii_dii_pct> 10.0mid, small fail
FII + DII not falling by more than 0.5 pp over 4 quartersfii_dii_change_4q_pp>= -0.5mid, small skip
Not in any ASM / GSM stagein_asm_gsm== False allfail
No audit qualification or mid-term auditor resignation in last 3 FYaudit_red_flag_3y== False allskip
3-year average ROCE >= 12% (non-financials)roce_3y_avg_pct>= 12.0 non_financialfail
3-year average ROE >= 12%roe_3y_avg_pct>= 12.0 allfail
US revenue share < 5% (mid and small; waived for large caps per decision 2026-10-17)us_revenue_share_pct< 5.0mid, small skip
Positive revenue and PAT compounding over last 3 FYrevenue_pat_positive_cagr_3y== True allskip
Triggers triggers.yaml
breakout_20d_volume
Close above prior 20-session high with volume > 1.5x the prior 20-session average
close > hh20 and volume > 1.5 * vol_avg20
ema_pullback disabled
Uptrend (close > EMA50), dips to EMA20 and closes back above it
close > ema50 and low <= ema20 and close > ema20
Technical signal score signals.yaml · shown on the screener

Score sums trend (close vs 50-day average), MACD vs its signal line, RSI momentum and 20-day breakouts/breakdowns. +2 or more is bullish, -2 or less is bearish. A breakout is volume-confirmed when volume is at least 1.5x its 20-day average. Informational only, not advice.

CheckConditionPoints
Price above 50-DMAclose > sma50+1
Price below 50-DMAclose < sma50-1
MACD above signalmacd_line > macd_signal+1
MACD below signalmacd_line < macd_signal-1
RSI momentum positive (>55)rsi14 > 55+1
RSI momentum negative (<45)rsi14 < 45-1
RSI overbought (>70)rsi14 > 70+0
RSI oversold (<30)rsi14 < 30+0
Close above 20-day highclose > hh20+1
Close below 20-day lowclose < ll20-1
Volume above 1.5x 20-day averagevolume >= 1.5 * vol_avg20+0
Fundamentals fundamentals.yaml · source Trendlyne · shown on every stock page

Fundamentals are the balance-sheet side of the picture: how profitable the business is, whether it is growing, how much it owes, and who owns it. The shield turns the worst of these into hard disqualifiers; the F sub-score rewards the best. Ratios are annual and update when results are filed; holdings update each quarter.

Quality
ROCE 3-yr average
Return on capital employed. Operating profit per rupee the business ties up. Above 12% clears the shield; 20%+ is excellent.
ROE 3-yr average
Return on equity. Profit per rupee of shareholder money. Above 12% clears the shield.
Debt / equity (non-financial)
Total borrowings divided by equity. Below 0.5 means the business is not leaning on lenders.
Capital adequacy (financial)
Capital a lender holds against its risk-weighted loans. Regulators want roughly 11%; the shield asks for 15%.
Net NPA (financial)
Bad loans after provisions
Growth
Revenue growth 3-yr CAGR
Compound annual growth in sales over three financial years. The shield wants both revenue and profit compounding.
Profit growth 3-yr CAGR
Compound annual growth in net profit over three financial years. The shield wants both revenue and profit compounding.
Who owns it
Promoter holding
Share held by the founders or parent. Skin in the game; the shield wants 40% for mid caps and 50% for small caps.
Promoter pledge of their holding
Share of the promoter stake pledged as loan collateral. Pledges above 2% can force selling when the price falls.
Foreign institutions FII
Foreign portfolio investors.
Domestic institutions DII
Mutual funds
FII + DII
Combined institutional ownership. Above 10% means professionals have done the diligence.
Institutional change 4 quarters
Change in institutional holding over the last four quarters

On the stock page each row carries the shield verdict (✓ pass, ✗ fail, – skipped) and, where the F sub-score uses it, the mapped 0–10 component score. Field coverage across the universe is on the Data page.

Glossary
ATR
Average true range: typical daily movement in rupees. Stops and entry zones are sized in ATRs so volatile names get wider stops.
R, R-multiple
One R is the rupees risked per share (entry minus stop). A +2R trade made twice its risk; expectancy is the average R per trade.
Win rate, profit factor
Share of backtested trades that closed positive; gross wins divided by gross losses. Both are only meaningful with enough trades (minimum 8).
RSI (14)
Momentum oscillator from 0 to 100. Above 70 is overbought, below 30 oversold.
MACD (12, 26, 9)
Difference of two exponential averages and its 9-day signal line. Line above signal is bullish; the histogram is the gap between them.
SMA / EMA
Simple and exponential moving averages of the close. Price above the 50-day average counts as an uptrend here.
Volume confirmation
Today's volume divided by its 20-day average. Breakouts on 1.5× or more are treated as confirmed.
ASM / GSM
NSE surveillance lists. Names on them are disqualified regardless of score.