Info onlyNot investment advice. GSE prices are end-of-day; FX and news refresh live.How we source
GSE · Closed · Weekend
Live
GSE-CI14,873.11 0.00%GSE-FSI1,745.04 +2.81%MTNGHGH₵2.45 +1.66%GCBGH₵6.85 -0.72%EGHGH₵8.25 +1.85%SCBGH₵24.50 +1.66%CALGH₵0.38 -7.32%SOGEGHGH₵1.35 +1.50%ACCESSGH₵4.10 +1.23%RBGHGH₵0.72 +2.86%EGLGH₵3.20 +2.56%SICGH₵0.44 +2.33%FMLGH₵5.20 +0.39%UNILGH₵14.50 +2.11%GGBLGH₵3.10 +1.64%PZCGH₵0.68 +1.49%GOILGH₵1.55 +1.97%TOTALGH₵9.40 +1.08%TLWGH₵16.80 -1.75%BOPPGH₵22.50 +0.90%AYRTNGH₵0.11 0.00%MACGH₵5.40 0.00%ADBGH₵5.06 0.00%AGAGH₵37.00 0.00%ALWGH₵0.10 0.00%ASGGH₵8.87 0.00%CLYDGH₵0.03 0.00%CMLTGH₵0.10 0.00%CPCGH₵0.02 0.00%DASPHARMAGH₵0.40 0.00%DIGICUTGH₵0.09 0.00%ETIGH₵0.15 0.00%HORDSGH₵0.10 0.00%IILGH₵0.04 0.00%MMHGH₵0.11 0.00%GSE-CI14,873.11 0.00%GSE-FSI1,745.04 +2.81%MTNGHGH₵2.45 +1.66%GCBGH₵6.85 -0.72%EGHGH₵8.25 +1.85%SCBGH₵24.50 +1.66%CALGH₵0.38 -7.32%SOGEGHGH₵1.35 +1.50%ACCESSGH₵4.10 +1.23%RBGHGH₵0.72 +2.86%EGLGH₵3.20 +2.56%SICGH₵0.44 +2.33%FMLGH₵5.20 +0.39%UNILGH₵14.50 +2.11%GGBLGH₵3.10 +1.64%PZCGH₵0.68 +1.49%GOILGH₵1.55 +1.97%TOTALGH₵9.40 +1.08%TLWGH₵16.80 -1.75%BOPPGH₵22.50 +0.90%AYRTNGH₵0.11 0.00%MACGH₵5.40 0.00%ADBGH₵5.06 0.00%AGAGH₵37.00 0.00%ALWGH₵0.10 0.00%ASGGH₵8.87 0.00%CLYDGH₵0.03 0.00%CMLTGH₵0.10 0.00%CPCGH₵0.02 0.00%DASPHARMAGH₵0.40 0.00%DIGICUTGH₵0.09 0.00%ETIGH₵0.15 0.00%HORDSGH₵0.10 0.00%IILGH₵0.04 0.00%MMHGH₵0.11 0.00%
Trust · Data quality

Data-quality diagnostics

The reconciler walks every canonical dataset and reports coverage, verification status, and last-known-good timestamps. Editorial placeholders are explicitly counted as demo so we never accidentally render them as live data. Private user data (portfolio, watchlist, alerts) is never inspected by this view.

Generated 2026-05-23T17:11:58Z. Server-rendered fresh on every request.

Demo data gate
ON — every surface renders editorial placeholders. Charts at /market, /macro, /stocks/[ticker], etc. should be visible.

Driven by env var NKOSUO_ALLOW_DEMO_DATA = (unset). To force OFF, set it to "false".

Canonical schemas
23
declared in code
Populated
15
8 schemas pending data
Total rows reconciled
208
across all editorial datasets
Demo share
55%
25 verified · 13 source-linked
SchemaRowsVerifiedSource-linkedDerivedScheduledUnverifiedDemoStatus
SourceMetadata
Shared provenance contract. Every external-origin entity embeds it.
rawnormalizedderiveddisplayeduser-entereddemo
11Fully verified
DataQualityStatus
Enum drives FreshnessLabel rendering across the platform.
derived
11Fully verified
MarketMetric
Discriminated union over IndexValue / SecurityPrice / MacroMetric / TBillAuction / FXRate.
rawdisplayed
5151All demo
Instrument
Coverage is the tracked universe — not every GSE listing. Confidence high → editor reconciled; medium → source-linked; low → synthesised from STOCKS dataset.
normalized
3319212Partial coverage
newest 2026-04-24
SecurityPrice
Static editorial dataset until a live GSE feed adapter lands (Phase 3).
rawdisplayed
3333All demo
IndexValue
GSE-CI + GSE-FSI placeholders. Replace with verified end-of-day feed (Phase 3).
rawdisplayed
22All demo
newest 2026-04-24 · oldest 2023-08-30
MacroMetric
BoG / GSS / WB / FRED adapters required to flip rows from demo to live.
rawnormalizeddisplayed
1313All demo
newest 2026-04-23 · oldest 2026-03-31
TBillAuction
Auction figures captured manually. `lib/live/bog.ts` parses official notices when available.
rawdisplayed
33All demo
newest 2026-04-18
FXRate
Currently embedded in MacroMetric rows. Dedicated FX adapter pending (Phase 3).
raw
33All demo
CorporateAction
Announcements live on the Stock object today. Source URL on file but not formally reconciled.
raw
88Unverified
CorporateCalendarEvent
Derived from issuer announcements + BoG calendar. Verification per-row.
deriveddisplayed
444328Partial coverage
newest 2026-11-24 · oldest 2026-03-11
CompanyFundamental
Tracked issuers: 3 of 33. Source documents needed to flip rows from demo/source-linked to verified.
normalizeddisplayed
33All demo
FinancialStatementMetric
Schema declared. Per-line-item statements arrive in Phase 4.
raw
0Schema declared
NewsItem
Streamed at request time from RSS feeds (Joy Business, B&FT, Citi Business, Business24, GhanaWeb). Falls back to editorial picks when upstreams are unreachable.
rawdisplayed
0Schema declared
NewsMatch
Computed at request time over the latest news pull and the instrument master.
derived
0Schema declared
SECNotice
Editorial fallback until SEC Ghana publishes a structured feed.
rawdisplayed
77All demo
newest 2026-04-24
PortfolioHolding
Derived client-side from PortfolioTransaction[].
deriveduser-entered
0Schema declared
PortfolioTransaction
Private user data. Stored only in the user's browser; never read by the reconciler.
user-entered
0Schema declared
PortfolioSnapshot
Computed on every ledger update. Provenance: user transactions + end-of-day prices.
derived
0Schema declared
ValuationModelInput
Per-stock DDM / DCF / yield-comparison / peer-multiples seeded from fundamentals.
user-enteredderived
33Unverified
ValuationModelOutput
Educational scenarios. Confidence is per-output via fv.confident.
deriveddisplayed
33Unverified
AIExplanation
Streamed at render time. Guardrail validator + rule-based fallback per kind.
deriveddisplayed
0Schema declared
CorrectionReport
Submitted via /corrections form. No backend storage today; mailto draft only.
user-entered
0Schema declared

How to read this

  • Verified: an editor reconciled the row against a primary source.
  • Source-linked: source URL on file but the row has not been editorially reconciled.
  • Derived: computed from a verified input (e.g. ex-date inferred from a dividend announcement).
  • Scheduled: cadence-based event (weekly T-Bill auction) where the exact date may shift.
  • Unverified: lacks source metadata. We label these clearly so users never mistake them for official data.
  • Demo: editorial placeholder. Always rendered with a Demo freshness badge.

What's not here

Private user data — portfolio transactions, watchlists, alerts — is never read by the reconciler. The PortfolioHolding / Transaction / Snapshot rows in the table above are intentionally zero. See the privacy policy for what we collect, store, and never share.

Internal diagnostics page. Linked from methodology. If a row looks wrong, please report it via /corrections.