Methodology & Data
This page explains where our market data comes from, how indicators are computed, how missing data is handled, and what our scans can and cannot tell you. Every strategy page publishes its exact thresholds so results are reproducible.
Data sources and freshness
- Daily prices, quotes, indices and instrument reference data are ingested from a commercial CSE data provider into our own hosted database (Supabase/Postgres). The platform does not depend on a browser session to refresh data.
- Each ingestion run is logged with a timestamp; dashboards show the “as of” time of the data they display. When a source fails, the affected tables keep their previous values and the pipeline records the failure rather than inventing data.
- Raw provider payloads are retained for one day for debugging; daily bars are retained for one year; operational telemetry for about a week. Retention bounds keep the database small and auditable.
- Corporate actions (e.g. rights issues, subdivisions) are processed when the provider supplies adjustment metadata. Where adjustments are missing, the pipeline marks the affected rows for retry instead of silently mixing adjusted and unadjusted prices.
Indicator formulas
- Simple moving averages (SMA 50/150/200) are computed by the engine from persisted daily closes — exact rolling means, not vendor-supplied approximations.
- 52-week high/low distances are computed as percentages of the closing price against the trailing 52-week window of daily closes.
- Relative strength (RS) rating is computed by comparing each stock’s trailing price performance against the rest of the covered CSE universe, scaled to 1–100.
- All money and price arithmetic uses fixed decimal semantics in the engine; screening thresholds are exact integers defined in each strategy’s versioned definition.
Missing data and history gates
- If an indicator cannot be computed for a stock (not enough history, a suspended instrument, a missing field), that criterion is reported as unavailable — never as a pass or a fail.
- Strategies that need long history state a minimum session count. For example, the Minervini Trend Template requires at least 230 recorded sessions, because its SMA-200 trend criterion needs a full year of daily closes.
Strategy versioning and reproducibility
- Each predefined strategy is a versioned rule set; changing a threshold ships as a new definition version, and run results record which definition produced them.
- Run results are stored with their input data window and “data as of” timestamp, so an old result can be interpreted against the data that produced it.
- Custom strategies built in the Pro builder use the same indicator library and the same missing-data rules as predefined ones.
Limitations
- The CSE is a small, concentrated frontier market with relatively low liquidity; screens built on global-market heuristics (trend templates, stage analysis) may behave differently here. Treat all output as research, not instruction.
- Data gaps, suspensions and provider outages reduce coverage; the platform surfaces these rather than hiding them, but coverage itself can be partial on any given day.
- Technical screens use only price and volume. They do not currently evaluate fundamentals, ownership structure, litigation or news. Absence from a scan is not a statement about a company’s quality.
- Nothing here is investment advice or a recommendation to buy or sell any security. See the risk disclosure.
Corrections
Errors in data or methodology are fixed as a priority and documented. If you spot a problem, write to us via the contact page with the stock, date and scan; material corrections are noted on the affected strategy pages.