Our Methodology
A transparent, end-to-end look at how PSX Expert turns raw Pakistan Stock Exchange data into technical indicators, fundamental ratios, a composite 0–100 score, and an explainable forecast — with nothing hidden behind a black box.
1. Data collection
Everything we publish starts with real numbers from the official PSX Data Portal (dps.psx.com.pk). Our collectors fetch end-of-day (EOD) prices, traded volumes, and company metadata directly from the exchange's own published feeds — we do not buy second-hand datasets or re-key numbers by hand, both of which introduce errors and delay.
- History depth: roughly five years of daily EOD bars per symbol, enough to estimate long-window indicators and to backtest across multiple market cycles.
- Coverage: the full universe of listed equities you can browse on the stocks and sectors pages.
- Raw-response archiving: every fetched payload is stored verbatim before parsing. If a number ever looks wrong, we can replay the exact upstream response to audit it — data lineage you can trust.
- Refresh cadence: EOD data is updated after each trading session; fundamentals refresh as the exchange republishes them.
Before any indicator is computed, the raw series is cleaned: duplicate dates are removed, non-trading days are excluded, obvious bad ticks are flagged, and prices are aligned to a consistent calendar. Clean inputs are the foundation of every figure below.
2. Technical indicators
From the cleaned price-and-volume history we compute a standard toolkit of technical indicators. Each one summarises a different aspect of price behaviour — trend, momentum, volatility, or participation. We compute them with conventional parameters so the numbers match what you would see in widely used charting software.
- SMA & EMA: simple and exponential moving averages smooth price to reveal the underlying trend. The EMA weights recent days more heavily, so it turns faster than the SMA.
- RSI (Relative Strength Index): a 0–100 momentum oscillator measuring the speed of recent gains versus losses. Readings above 70 are often called overbought, below 30 oversold.
- MACD: the difference between a fast and a slow EMA, plotted with its own signal line. Crossovers and the histogram flag shifts in trend momentum.
- ATR (Average True Range): the average size of daily price swings — a pure volatility gauge. We use it to size realistic target and stop-loss distances.
- Bollinger Bands: a moving average plus and minus a multiple of standard deviation. The bands widen in volatile periods and contract in calm ones, framing relative price extremes.
- Stochastic Oscillator: locates the close within its recent high–low range to highlight momentum exhaustion and potential turning points.
- ADX (Average Directional Index): measures trend strength (not direction). A high ADX says the prevailing move is robust; a low one says the market is ranging.
- OBV (On-Balance Volume): a running total that adds volume on up days and subtracts it on down days, showing whether volume is confirming the price move.
- Williams %R: a fast oscillator, inverse to the Stochastic, that flags short-term overbought and oversold conditions.
- Momentum & rate-of-change: raw price change over fixed look-back windows, the simplest read on whether a stock is accelerating or fading.
No single indicator is reliable on its own — each can give false signals. Their value comes from being read together, which is exactly what our scoring step does. You can compare and filter on these readings using the screener.
3. Fundamentals
Technicals describe price; fundamentals describe the business behind it. For each company we surface the headline valuation, profitability, income, and risk metrics so you can judge whether a chart is supported by underlying value.
- P/E (price-to-earnings): price per rupee of annual earnings — a quick read on how expensive the stock is relative to profits.
- EPS (earnings per share): profit attributable to each share, the denominator behind the P/E.
- P/B (price-to-book): price relative to net asset value, useful for asset-heavy sectors such as banks.
- Dividend yield: trailing dividends as a percentage of price — what an income investor earns from payouts alone.
- ROE (return on equity): how efficiently the company converts shareholder capital into profit.
- Beta: sensitivity of the stock to the broad market; above 1 means it tends to swing more than the index.
- Volatility: the dispersion of recent returns — a direct measure of how bumpy the ride has been.
- 52-week range & market cap: where price sits between its yearly high and low, and the company's total equity value.
These same metrics feed our market-cap-weighted KSE-100 index reconstruction, so the benchmark you see is built from the same audited inputs as the individual stocks.
4. Scoring
To make many indicators digestible, we distil them into four sub-scores, each on a common scale, then blend them into a single overall figure from 0 to 100. The score is a relative ranking aid — not a price prediction or a buy order.
- Trend: moving-average alignment, MACD posture, and ADX strength — is price in a healthy directional move?
- Momentum: RSI, Stochastic, Williams %R, and rate-of-change — is that move gaining or losing energy?
- Value: P/E, P/B, dividend yield, and earnings quality — is the price reasonable for the fundamentals?
- Stability: volatility, ATR, beta, and drawdown behaviour — how steady and predictable is the stock?
The four sub-scores are combined with fixed, published weights to produce the overall 0–100 score shown on each stock page. Because the weights are constant and the inputs are visible, two analysts looking at the same data will always arrive at the same score — there is no hidden tuning per stock.
5. The forecast engine
Our forecast is produced by a logistic regression model, versioned logistic-v1 and shown on every stock page next to the verdict. It is trained on the indicator and fundamental features described above, across the full price history of every listed stock, and it outputs a probability that is then mapped to a signal.
We chose logistic regression deliberately, and the reason is inspectability. It is a linear model: each input feature carries a weight, so any output can be decomposed into the exact contribution of each factor. It is not a neural network or any model whose reasoning cannot be traced. That transparency costs us some predictive power, and we think that is the right trade for a site that publishes its reasoning.
Being a trained statistical model rather than a hand-written rule set has a consequence worth stating plainly: it learned its weights from history, so it assumes the future resembles the past. In a genuine regime change — a policy shock, a currency crisis — that assumption breaks precisely when a forecast would be most valuable.
For each stock the model emits:
- Signal: a directional read — bullish, neutral, or bearish.
- Confidence: derived from the model's output probability — how far it sits from a coin flip. It is a measure of the model's own conviction, not a probability of profit.
- Target: a reference price objective, scaled by recent ATR so it reflects the stock's actual volatility rather than an arbitrary percentage.
- Stop-loss: a risk-management level, also ATR-aware, to frame the downside if the thesis fails.
- Suggestion: a short, plain-language summary that explains the signal in everyday terms.
Every contributing factor is displayed alongside the verdict — the RSI level, the moving-average cross, the valuation read, and so on — so you can see which conditions the model was reading and weigh each yourself. This is information to support your own research, not financial advice.
6. Backtesting & accuracy
A forecast is only meaningful if you know how often it has been right. We backtest the engine against roughly five years of real PSX history — the same audited EOD data described above — and measure directional accuracy: how frequently the signal matched the subsequent move.
We report that figure honestly. In practice, directional accuracy sits in the ~50% range, which is what an honest baseline on a noisy, near-efficient market looks like. We deliberately do not publish inflated win rates or cherry-picked trades. Markets are hard, edges are small, and a tool that pretends otherwise is misleading you. Our promise is transparency about what the method can and cannot do.
7. Limitations & roadmap
We want you to use these tools with clear eyes. The most important limitations:
- Outputs are derived from historical price and fundamental data; they cannot anticipate news, policy shifts, results surprises, or liquidity shocks.
- EOD data means intraday moves are not captured, and thinly traded symbols can produce noisier indicators.
- A ~50% directional accuracy means the engine is wrong roughly as often as it is right — position sizing and risk management remain entirely your responsibility.
- Nothing here is a recommendation to buy or sell. Always do your own research and consider consulting a licensed financial adviser.
On the roadmap, we are developing a machine-learning forecast model to sit alongside the rule engine. We will only promote it if it demonstrably beats the transparent baseline in honest, out-of-sample backtests — and even then, we will keep the explainable engine available so you can always see the reasoning.
Questions about how any number is produced? Read more about us, review our disclaimer, check the FAQ, or contact us at support@psxexpert.com. This page was last updated in 2026.