Methodology

How every figure on this site is produced: the sources and their refresh cadence, the formulas behind returns and risk, the tolerances that decide when a figure is withheld, the per-fund data-quality grades, and the checks that run on the live site every day.

Where the data comes from, and how often it refreshes

DatasetSourceRefresh
EGX share prices, quotes, technical indicatorsTradingView’s Egyptian Exchange feed, stored in our own price and quote tablesEvery 15 minutes during EGX trading hours (Sunday–Thursday), plus a post-close snapshot
Financial statements and fundamentalsCompany disclosures aggregated via TradingView — up to 20 years of annual statementsWeekly (Friday)
Dividends and analyst estimatesTradingViewDaily, after the close
Company and market newsLicensed Egyptian financial press, Arabic and EnglishEvery 30 minutes during market hours
Mutual-fund NAVsThe net asset value each fund manager publishes, collected from Mubasher’s per-fund price files; a browser-based collector covers funds that have no fileTwice daily — 08:00 and 19:00 Cairo, Sunday–Thursday
Fund NAV history for the 2025 gapEIMA’s weekly fund performance reports, inverted to reconstruct NAV points for the months in which the primary file was frozen; every reconstructed point is reconciled against NAV we already hold before it is writtenWeekly (Friday)
Fund profiles, fees, minimumsFund managers’ prospectuses and disclosuresOn change

Writes are add-only: a fetch that returns nothing can never delete a NAV that is already stored. Every data page carries an as-of date, and on price lists the date is shown per row, because managers publish on different schedules and one page-level timestamp would imply a uniform freshness that does not exist.

How fund returns are computed

  • Trailing returns (1M, 3M, 6M, 1Y, 3Y, 5Y) are the latest NAV divided by a reference NAV, minus one. The reference is the last NAV on or before the window’s start date.
  • Anchor rule: the reference must sit no further from the intended start date than the greater of 10 days or 10% of the window. If the nearest NAV is older than that, the return is not published and the page shows “—”. A “3-month return” measured from a 15-month-old NAV is a wrong figure, not a stale one.
  • Year-to-date compares the latest NAV with the last NAV of the previous calendar year.
  • Returns are recomputed from the full NAV history every trading day, and the figure a fund page shows is the computed one. Only where no computed row exists yet does the provider’s own reported figure appear.
  • Rankings (“best funds”) sort mechanically by trailing 1-year return within each category; a category with fewer than three ranked funds is omitted. Nothing is hand-picked and no ranking is a recommendation.

How risk figures are computed

  • Volatility is the standard deviation of consecutive period NAV returns, annualized by the fund’s actual observation frequency — roughly 52 periods a year for a weekly fund, roughly 250 for a daily one — never a fixed assumption. Periods spanning more than three times the fund’s median publication interval (floor: 10 days) are excluded, so a hole in the data cannot manufacture risk, and at least six clean periods are required before a figure is published.
  • Maximum drawdown is the largest fall from any earlier peak to the trough that followed it, expressed as a negative percentage.
  • Downside deviation is the root-mean-square of the negative period returns against a 0% target (positive periods count as zero), annualized by cadence in the same way as volatility.
  • CAGR is the geometric annual growth rate from the first usable NAV to the latest; it is not published for a fund with under 90 days of history, because annualizing a sub-quarter series manufactures meaningless extremes.
  • Series hygiene precedes all of the above: an adjacent NAV ratio outside 0.34–3.0 within 45 days is treated as a re-denomination and stitched; a single point deviating more than 50% from its local median is dropped as a bad tick; and a fund whose series still carries a re-pricing artefact has its whole analytics layer suppressed rather than published.
  • Not published: Sharpe ratio, alpha and beta. There is no documented benchmark per category and no reproducible EGP risk-free series, and a figure that cannot be reproduced is not published.

Per-fund data-quality grades

GradeCondition (all three must hold)
ACoverage ≥ 92%, longest gap under 21 days, newest NAV at most 7 days old
BCoverage ≥ 80%, longest gap under 45 days, newest NAV at most 14 days old
CCoverage ≥ 65%, longest gap under 90 days, newest NAV at most 30 days old
DCoverage ≥ 40%, longest gap under 365 days, newest NAV at most 60 days old
FBelow any D threshold, or fewer than two observations

Every fund’s NAV history is graded A to F on three measures: coverage (observations held divided by observations expected at the fund’s own cadence), the longest gap, and the age of the newest NAV. Tolerances derive from each fund’s own median publication interval — 54 of the funds publish weekly, and a seven-day interval is their rhythm, not a hole — and the Egyptian Exchange closure of 27 January to 23 March 2011 is excluded as real history rather than missing data.

  • The grades drive monitoring: an alarm fires when the number of funds below grade C rises, so one healthy fund can no longer mask a frozen one — the failure that once ran for thirteen months with every aggregate check green.

Missing is never zero

A dash (“—”) means the figure cannot be computed honestly from the data held: not enough history, a reference outside tolerance, or no disclosure. “0.00%” is shown only when the computed value is exactly zero. No figure is estimated, interpolated or carried forward from an older period.

Currencies

EGX lines trade in Egyptian pounds, except the few that trade in US dollars (for example FAITA, EGBE and VLMRA), which are shown in their trading currency. Company fundamentals — market capitalisation and statements — are in EGP. Fund NAVs are in the fund’s own currency, EGP unless the fund discloses otherwise. A legacy “SAR” label on an Egyptian line is corrected to EGP: no EGX line trades in Saudi riyal.

Market screens and company pages

  • Oversold and overbought screens use the 14-period RSI with Wilder’s bands: at or below 30, at or above 70.
  • Dividend-yield rankings exclude trailing yields above 100% as implausible — a fund or company cannot pay out more than its own price in a year without a data error behind it.
  • Only companies whose market code is EGX are published; the EGX 30 is an index and is excluded from company lists, movers and sectors.
  • A company’s statements, dividends, technicals, history and seasonality pages exist only where that dataset exists. A missing page means nothing was disclosed, not that the page is broken; the sitemap applies the same rule.

Freshness signals

  • Every data page states its as-of date; price lists state it per row.
  • Sitemap “last modified” values are observed — the newest real data timestamp in each segment — never the time of the request.
  • Fund NAVs are collected twice daily; a fund flagged stale by the pipeline is labelled on the price list rather than hidden.

Automated checks on the live site

A crawler audits the live site every morning at 06:15 UTC and again after every deployment. It verifies canonical URLs, the language and direction declared on every Arabic page, hreflang pairs and their reciprocity, structured data, as-of dates on fund surfaces, currency labels on fund and company surfaces, sitemap integrity and the redirect from every non-canonical host. A critical finding fails the release. Duplicate-content detection, a competitor coverage scorecard and a review of open experiments run on the same schedule.

Corrections

If a figure on any page looks wrong, report it through the Corrections page or by email to corrections@startamarkets.com. Errors are corrected on the next refresh and, where an article is affected, noted on the article.

Fund coverage, reconciled to the regulator

Regulator type (Q2 2026)IssuancesPriced here?
Fund of funds1No — no public unit price
Exchange-traded funds1No — no public unit price
Real-estate funds6No — no public unit price
Private-equity funds7No — no public unit price

The Financial Regulatory Authority counts investment funds BY ISSUANCE: 224 at the end of June 2026 (report of 2026-07-28). This site prices publicly offered funds with a published net asset value. 15 of the regulator's issuances are private-equity, real-estate, fund-of-funds or exchange-traded vehicles that publish no public unit price, so they are outside what can be priced here.

A fund is CURRENT when its manager has published a NAV within 180 days and at least 2 NAV points are held; a fund outside that rule keeps its own page, marked dormant, and is not counted, ranked or listed as a current price. The marketplace, the category and provider pages, the rankings and the price list all read this one rule, so the number a crawler is served equals the number a visitor sees.

On 2026-09-05 this site priced 207 current funds against the regulator's 209 in-scope issuances (difference: 2). What remains is recent launches whose first NAVs publish with a lag and type-boundary differences the regulator's report does not itemise. The machine-readable reconciliation (content/fund-universe-reconciliation.json) is regenerated from the live data and re-checked at every build.

How funds are classified

FundVendor typeClassified asEvidence
BANK NXT Money Market Fundbalancedmoney market (override)fra.gov.eg
Nasser Social Bank and Azimut Egypt Islamic Money Market fundfixed_incomemoney market (override)nsb.gov.eg, almalnews.com
Mubasher Capital Daily Cumulative Return Fund Cash Mubasherfixed_incomemoney market (override)amwalalghad.com, fra.gov.eg
Granite Fixed Income Fund Issuance 1 EGPfixed_incomefixed income (vendor confirmed)registered name

A fund’s category comes from the type its manager disclosed to the price vendor (money market, fixed income, equity, balanced, gold). When no type is disclosed, the fund’s own registered name is read for the type words it carries — "Money Market", "Fixed Income", "Equity", an EGX index, a sector — in either language; a name that names no type leaves the fund uncategorised rather than guessed.

When the vendor’s type contradicts the fund’s prospectus or its issuer’s own description, the vendor is not trusted: a documented override replaces it, and every override cites the document it rests on (content/fund-taxonomy-overrides.json). 3 funds carry such an override today; they are listed below. A reviewed case where the vendor is right is recorded too, so the same question is not reopened.

Asset class, strategy and Shariah compliance are separate properties. An index fund is an equity fund with an index strategy; an Islamic money-market fund is a money-market fund that is Shariah-compliant. The category pages keep one canonical page per fund (a Shariah-compliant fund’s canonical hub is the Shariah page); the fund page’s "similar funds" module and the public API use the asset class. A fund whose registered name contradicts its disclosed type and has no recorded disposition is flagged by the daily live audit until someone reads its prospectus.

Who is ranked on the best-funds pages

  • A fund is ranked only when the audited engine (fund_metrics.py, recomputed daily from the NAV history) produced its trailing 12-month return. The same figure appears on the fund’s own page; the ranking never reads a second column family.
  • The 12-month return is withheld — not estimated — when no NAV was published within 10% of the window (about 36 days) of the anchor date, or when the history is shorter than 12 months.
  • A series flagged as a data artefact (a redenomination the cleaner could not repair) is not ranked even when a number exists; the fund page still shows what it can honestly support.
  • Every excluded fund is counted with its reason on the ranking page itself (eligible, excluded, reason table), so the ranked count and the directory count can never disagree silently.

Which companies are published as EGX-listed

Listing status is not inferred from the price feed. The security master (content/egx-security-master.json) is built from the Egyptian Exchange's own registers — the main-market register captured 2026-09-05 and the SME-market register captured 2026-09-05 — keyed by ISIN. TradingView supplies identity and prices only. A symbol the registers do not confirm (a delisted security such as Global Telecom Holding, delisted 9 September 2019; an ISIN alias of a company already published; a subscription-rights or preferred-share line; or a line neither register lists) keeps a reachable page that states its status, is not indexed, and is excluded from the directory, the market screens, sector pages and sitemaps.

Sector on company pages and in the directory is the exchange's own 18-sector classification from the register; the vendor's global classification is kept for the vendor-derived sector hubs and is labelled as such. A quote older than 14 days is withheld rather than shown as current.