Frequently Asked Questions
How the broker signals, scores, and trade levels are calculated — in plain language.
NEPSE basics
Trading hours, holidays, and how the live data on this site stays in sync.
What is the opening time of NEPSE?
NEPSE's continuous trading session runs from 11:00 AM to 3:00 PM Nepal Time (NPT, UTC+5:45). That's the window where regular buy / sell orders are matched on the floor.
- 10:30 – 11:00 AM — Pre-open session (order entry only, no matching)
- 11:00 AM – 3:00 PM — Continuous trading
- 3:00 – 3:10 PM — Post-close session
Which days is NEPSE open?
Sunday through Thursday. NEPSE follows the Nepali working week — Friday is a half-holiday for most institutions and Saturday is the weekly public holiday, so the exchange stays closed both days.
Public holidays declared by the government also close the market — see the "holidays" question below.
How often does the live data on this site update?
Inside the trading window, the backend polls upstream sources roughly every 60 seconds and upserts prices, indices, top gainers/losers, and floorsheet trades. Pages built on React Query refetch on the same cadence so what you see is at most ~1 minute behind the floor.
Outside trading hours the sync loop sleeps and the dashboard shows the last available close.
Why does the market sometimes show "closed" during trading hours?
The "open / closed" badge isn't just a clock check. Two sources agree:
- Local schedule — Sun–Thu, 10:30 – 15:15 NPT
- Upstream NEPSE flag — the
isOpenfield returned by NEPSE's own status API
On a public holiday, an unscheduled half-day, or a tech outage, NEPSE will report closed even though the clock says trading hours — and we honor that.
What does the NEPSE Index actually measure?
The NEPSE Index is a market-cap-weighted index of every listed ordinary share on the exchange. It's anchored at a base value of 100 (Feb 12, 1994). Bigger companies (more shares × higher price) move it more — so a 1% rally in NABIL shifts the index more than a 1% rally in a small hydropower.
Is NEPSE open on public holidays?
No. NEPSE follows the Nepal Government calendar — Dashain, Tihar, Chhath, May Day, Constitution Day, and many regional festivals all close the market. Some of these are multi-day closures (Dashain is typically a full week).
The exchange publishes its annual holiday list on nepalstock.com; the platform picks up the daily isOpen flag automatically so the dashboard reflects holidays without manual updates.
What is a circuit breaker on NEPSE?
A daily price band that limits how far an individual stock can move from its previous close. NEPSE applies a ±10% circuit on most ordinary shares — once a stock hits that ceiling or floor, trading in it pauses for the session.
Bonus shares, rights issues, and IPO listings have different bands on their first trading day.
What's the difference between NEPSE Index and Sensitive Index?
NEPSE Index covers all listed ordinary shares — hydropower, micro-finance, banks, hotels, every sector.
Sensitive Index is a curated subset: only "Class A" companies (commercial banks, large insurance, blue-chip names). It moves slower and is treated as a quality benchmark.
What is the floorsheet?
The floorsheet is the per-trade record of every match on NEPSE for a given day — buyer broker, seller broker, symbol, quantity, rate, and amount. Everything on the Broker Analysis page (top buys, top sells, active holdings, broker turnover) is aggregated from this raw feed.
Broker tiers
How brokers get classified into Tier 1, 2, and 3.
How are brokers split into tiers?
We use a K-Means clustering model that looks at 5 features for each broker on a given stock:
- Average trade size — how big a typical order is
- Market share — % of the day's volume they handle
- Trade count — how often they show up
- Direction consistency — do they keep buying or flip-flop?
- Volume rank — where they rank vs others on this stock
Market share alone doesn't decide tier — a broker with low share but high trade count and consistent direction can still be Tier 1.
What's the difference between Tier 1, 2, and 3?
Tier 1 — Heavy hitters
Big institutional / dominant brokers. When they buy a lot, the stock usually moves. This is the only tier the signal uses.
Tier 2 — Active mid-tier
Regular participants. They influence price but rarely lead it.
Tier 3 — Background flow
Small or one-off brokers. Mostly retail noise — ignored by the signal.
What does "Dominant Broker" mean?
The single Tier-1 broker with the largest market share on this stock for the selected window. Identified by broker ID (e.g. #42). It's just the biggest player — not necessarily the smartest one.
Today's signal
How the BUY / HOLD / SELL recommendation is calculated.
How is today's signal calculated?
Three steps:
Step 1 — Score (0 to 1)
Volume-weighted average of every Tier-1 broker's buy ratio:
Score = Σ (buy_ratio × volume) ÷ Σ (volume)
Where buy_ratio = bought ÷ (bought + sold). Higher score = more institutional buying.
Step 2 — Delta (Δ)
Compare today's score to 10 days ago:
Δ = Score(today) − Score(10 days ago)
Positive Δ = accumulation building. Negative Δ = distribution.
Step 3 — Map to a label
- Strong BuyScore > 0.65, Δ > +0.15
- BuyScore > 0.55, Δ > +0.05
- HoldAnything in between
- SellScore < 0.45, Δ < −0.05
- Strong SellScore < 0.35, Δ < −0.15
What does the Δ (delta) mean?
Δ is the shift in accumulation, not the level. It compares today's score against 10 days ago. A high score with a flat Δ means accumulation is already priced in. A medium score with a strong positive Δ means the move is just starting — usually the better entry.
What are the sanity-check filters?
A BUY or SELL can be downgraded to HOLD if the broker math says one thing but the price chart disagrees. We check three filters:
- Volume confirmed — today's volume isn't unusually low compared to the 21-day average
- Not overextended — the stock hasn't already run up too far recently
- Tier-1 ≥ 2 — at least 2 big brokers agree (one broker isn't enough)
Why does the live signal sometimes differ from the snapshot?
The right-side "Today's Broker Signal Snapshot" is computed once per day by a scheduled job at 16:00 NPT (post-close). The hero card on the left re-computes live on every page load.
Between the snapshot run and now, more floorsheet trades for today may have been upserted. A small score drift (e.g., 0.596 → 0.53) can flip BUY → HOLD because there's no hysteresis on the threshold (BUY needs score > 0.55).
When this happens, the hero shows an amber pill explaining the divergence. Both numbers are correct — they're just snapshots of the data at two different times.
What does "low confidence" mean?
Confidence reflects how many Tier-1 brokers were active on this stock today:
- High — 3 or more active
- Medium — 2 active
- Low — fewer than 2 (signal is downgraded to HOLD)
Low confidence = not enough institutional voices to form a meaningful read. The signal forces HOLD as a safety floor when this happens.
ATR-based entry / stop / target
Trade levels suggested when a BUY fires.
What are the ATR-based levels?
Once a BUY signal fires, we suggest where to enter, where to cut losses, and where to take profit — sized to the stock's actual recent volatility (14-day ATR), not a flat percentage.
Entry = today's close Stop Loss = Entry − (multiplier × ATR₁₄) Take Profit = Entry + (multiplier × ATR₁₄)
Stronger signals (STRONG_BUY) get tighter stops and bigger targets.
Why do ATR levels only show on BUY signals, not HOLD or SELL?
By design — they only make sense for actionable, long-direction trades:
- HOLD — no trade is being suggested, so no entry / stop / target.
- SELL / STRONG_SELL — NEPSE doesn't allow retail short-selling, so a SELL means "exit your existing position", not "open a short". The exit price IS the signal — no additional levels needed.
What does "SKIP – poor RR ratio" mean?
R:R = Risk : Reward — how much you stand to gain vs. how much you'd lose if the trade goes wrong.
Example (DLBS BUY signal):
- Entry:
Rs. 1320.00 - Stop Loss:
Rs. 1237.86 - Take Profit:
Rs. 1422.68 - Risk:
1320 − 1237.86 = Rs. 82.14per share - Reward:
1422.68 − 1320 = Rs. 102.68per share - R:R:
102.68 ÷ 82.14 ≈ 1.25 : 1
The system requires at least 1.5 : 1 before recommending the trade. The reasoning is statistical:
- At 1.5:1 R:R, you can be wrong 40% of the time and still break even.
- At 1.25:1 R:R, you need to be right ~45% of the time just to break even.
- After commissions and slippage, anything under 1.5:1 is mathematically a coin flip.
Bottom line: the broker accumulation might be flashing BUY, but if THIS specific trade doesn't pay enough for the risk, the system tells you to walk away. Wait for a lower entry, or take the next setup.
Why is ATR (Average True Range) used instead of a flat % stop?
Different stocks move at different speeds. A 5% stop on a quiet bank stock is way too wide; on a volatile hydropower it's way too tight. ATR measures the stock's actual day-to-day range over the last 14 days, so the stops and targets adapt to this stock's volatility — not a one-size-fits-all percentage.
Backtest
How to read the strategy backtest results.
What does "Win Rate (7d)" mean?
Of all BUY/STRONG_BUY signals fired in the date range, what % went up over the next 7 trading days. A 60% win rate means roughly 6 out of 10 signals would have been profitable if you'd taken them.
Why do some trades show "pending" in the Return column?
The signal fired recently and we don't have 7 (or 15) trading days of forward data yet. The result will fill in once enough time has passed.
Why is a negative return shown as green sometimes?
Direction-aware coloring. A SELL signal "wins" when the price drops, so a negative return is green for a SELL. A BUY signal wins on positive returns. Color always means "the strategy was right", not "the price went up".
Got a question that isn't here? Ping the team and we'll add it.