Methodology

How Nepse 360 computes its signals.

An end-to-end walkthrough — data sources, factor scoring, walk-forward backtests, calibration, AI advisor, and the tradeoffs we explicitly accept. Plain language, no hand-waving.

Local-first data

Walk-forward backtests

Isotonic calibration

Multi-agent AI

1. Data sources

Every chart, signal, and table on Nepse 360 traces back to publicly-available sources. We never invent prices and we don't paywall the underlying numbers. Specifically:

  • Live prices & indices — synced from the Nepal Stock Exchange (NEPSE) official api.
  • Daily floorsheet — every executed contract (~30,000–80,000 rows per session) ingested from the Nepal Stock Exchange (NEPSE) official api, indexed by business_date + buyer_member_id + seller_member_id.
  • Fundamentals — EPS, P/E, P/B, ROE, BVPS, market cap, paid-up capital, dividends are calculated in realtime in system using formula from the Nepal Stock Exchange (NEPSE) official website and stored as time-stamped snapshots so historical analysis uses the data that was available at the time, not the retrospectively-revised version.
  • News — Nepali financial reports are synced from trusted sources in realtime
  • Corporate actions — dividends, bonus issues, rights, splits captured from official NEPSE filings; used to compute adjusted price histories.

2. Local-first architecture

All analytics run against our own PostgreSQL store, not against live API calls. This matters for two reasons: consistency (we can reproduce yesterday's signals on demand) and resilience (third-party outages don't take our site down).

The same architecture lets us serve broker analysis, hot stocks, and per-symbol leaderboards from SQL aggregations instead of recomputing on every request — typical p95 latency on these endpoints is under 200 milliseconds.

3. Factor scoring (T / F / M / S / R)

Our deterministic quant score combines five factor families into a single 0–1 number per stock:

  • T — Technical — moving-average alignment, RSI, MACD divergence, volume-confirmed breakouts. Weighted 40% by default because Nepali retail flow is momentum-heavy.
  • F — Fundamental — P/E and P/B relative to sector median, ROE trend, EPS growth. Weighted 20%.
  • M — Momentum — risk-adjusted return over 1/3/6 months. Weighted 15%.
  • S — Sentiment — FinBERT-tuned sentiment score over recent news mentioning the symbol. Weighted 15%.
  • R — Risk — realised volatility, drawdown depth, beta to NEPSE. Weighted 10%.

The blended score maps to a five-bucket recommendation: Strong Sell (≤0.2), Sell (≤0.4), Hold (≤0.6), Buy (≤0.8), Strong Buy (>0.8). Weights and thresholds are documented in code; they are not opaque magic numbers.

4. Walk-forward backtesting

Static backtests are the easiest way to fool yourself. We use purged walk-forward cross-validation instead: the model trains on data up to day T-1, predicts for day T, then rolls forward one day. Predictions never see data that wasn't available at the time. The purge window between train and test prevents short-term leakage from autocorrelation.

Reported metrics are always out-of-sample: Sharpe ratio, hit rate, maximum drawdown, and average return per signal type. Where a strategy has a positive in-sample Sharpe but negative OOS, we publish that — quietly killing the strategy rather than dressing it up.

5. Probability calibration

A raw classifier might report "70% probability of upside" but actually only be right 55% of the time at that confidence — overconfident. We apply isotonic regression calibration on a held-out validation set so the published probabilities track empirical hit rates. A 70% probability in our system should be right roughly 70% of the time over a meaningful sample.

6. Multi-agent AI advisor

For any stock you ask about, four specialist agents run in parallel via asyncio.gather: a technical analyst, a fundamental analyst, a sentiment analyst, and a risk analyst. Each agent reads from the local data store, forms an opinion, and returns a structured recommendation with rationale. An orchestrator agent then weighs the four opinions and produces a final consensus.

The reasoning of each agent is visible to you — not buried. Disagreement among agents is itself a signal: a stock where the technical agent is bullish but the fundamental agent is bearish demands a closer look, not an automated trade.

7. Broker-flow analytics

For every trading day we compute, per broker: total buy and sell amount, contract count, market share, and per-symbol concentration. The "leaderboard" page is two GROUP BY queries; the "popular stocks" panel is a window function over broker-symbol pairs. Tier-clustered broker labels (institutional vs retail-dominant) are derived weekly from a K-means clustering on historical trade size distributions.

8. What we don't claim

  • We are not a SEBON-registered investment adviser. None of our output is personalised investment advice.
  • Backtested performance is not a guarantee of future results. Markets evolve; models decay.
  • Our data is best-effort but sourced from third parties. Always cross-check time-sensitive decisions against your broker's terminal.
  • The AI agents are deliberately conservative on microcaps and illiquid names where their training distribution is thin.

9. Update cadence

Intraday

Prices, indices, top-movers: every 60 s during trading hours.

Daily

Floorsheet, broker analysis, news: end-of-session at 3:00 PM NPT.

Quarterly

Fundamentals, model retraining, factor weights review.

Continuous

Methodology page itself is reviewed and updated when anything material changes.

10. Editorial process

Long-form research articles (the pieces under /research) are drafted by one analyst, reviewed by a second for factual claims, and signed off by the founder before publication. Numbers cited in any article tie back to a primary disclosure (NEPSE filing, NRB directive, audited quarterly) — we don't paraphrase commentary as fact.

Honest about what works, honest about what doesn't.

If you spot a methodological error, please reach out — we'll review, correct, and credit you on the change-log section above.

Research

Long-form NEPSE guides →

About

Why Nepse 360 exists →

Disclaimer · Nepse Signal provides market data and analysis for informational purposes only — not investment advice. Trading securities involves risk, including loss of principal. Always make your own decisions and consult a licensed professional before acting. Read our full Terms of Use.