Everything behind the call on Forafric Global PLC. 6 sections, ordered the way risk stacks up: survival first, quality and price in the middle, context last. The Beacon gives you the read. This is where you check the work.
The five reads
Global tape
No overseas listings — AFRI trades on its home exchange only.
The bottom linestart hereAs of 2026-09-18
Chart pattern
Above both averages
The 50-day sits above the 200-day
50-day $10.77 · +3.5% 200-day $10.24 · +8.9%
Dividend
0.00%
A rounding error against cash — this is a capital-gains position
Risk flags
2 critical
5 checks run, 0 clear
beta 0.26 · vol 32% ann. worst drawdown -17%
New to this? Every metric carries a plain-English read beside it, and an ⓘ next to a label opens the definition. Anything unfamiliar is also defined at the foot of the page under Glossary.
In one paragraphwhat the company actually does164 chars
Forafric Global PLC engages in the purchase, storage, transport, processing, and sale of agricultural commodities and commodity products in Morocco and West Africa.
NasdaqCM · USDFarm Products
$11.15-0.14 · -1.24%AH · vol 42.4K
52-week range↑ 37% off low · ↓ 6.4% off high
$8.13now $11.15$11.91
Quote Sep 18, 2026 · time not on file Tape 2026-09-17 Factors 2026-09-18
01Ratios · Sep 7, 2026SOLVENCY IN QUESTION
Survival & solvency
Altman-Z of -0.2 against a 3.0 safe threshold, interest covered -0.2×, and 0 of 5 forensic checks clear.
↳ Plain EnglishBefore anything else: can this company pay its bills? These blocks check the balance sheet, whether your slice of ownership is being diluted, and whether the accounting looks honest.
Bankruptcy risk (Altman-Z)
-0.20DISTRESS ZONE
Distress<1.8
Grey1.8–3.0
Safe>3.0
Profitability, leverage and liquidity combined into one number. Above 3.0 is the safe band.
Balance sheetSep 7, 2026
Piotroski F-scoreWATCH
F 4/9
Piotroski F-score 4 of 9. Nine pass/fail tests covering profitability, leverage and operating efficiency; seven or more is strong.
Solvency and liquidity ratios
Interest coverageoperating profit against the interest bill-0.2×healthy >5
Leverage · long-term debt / equitythe borrowings that outlive a bad quarter0.11
Your ownership stake
Stock-based comp / revenueIN LINE
0.2%
Stock comp is the dilution pressure a buyback has to outrun. We read up to 5% of revenue as modest and above 12% as heavy — our own reading band, not a measured peer statistic.
Diluted vs basic share gapTHIN OVERHANG
0.00%
Options and awards already granted, expressed as the gap between the diluted and basic counts.
Accounting forensicsSEC filings
Red-flag x-rayGRADE F
25 / 100
2 critical · 2 watch · 0 clear of 4 scored tests
0 of 5 checks clear
Red-flag x-ray · every check, passes included
CheckStatusValueWhat it looks for
Bankruptcy distressCRITICALZ -0.20Altman-Z in the Distress · fundamentals
Earnings manipulationNAn/aBeneish-M not available · fundamentals
Profitability qualityWATCHF 4/9Piotroski F-score 4 of 9 · fundamentals
Filing forensicsWATCH2 flags2 filing red flags on the latest 10-K · forensic
5 checks, 2 watch and 2 critical. The passes are shown because a score built from five checks means something different from one built from three.
02
Business quality
The quality blocks below render whatever the filings support; anything absent says so in place.
↳ Plain EnglishMargins tell you how much of each sales dollar the company keeps. Return on capital tells you whether reinvesting that money creates value. Both are read against what the filings support, not against a target.
12-1 momentum
+21.1%EX LAST MONTH
Return over the last year excluding the most recent month — the standard momentum factor, which drops the short-term reversal.
Profitability
Data unavailableNo parsed income statement is on file, so margins, returns on capital and cash generation cannot be computed for this name.
Growth & relative strength
Trailing return by period
1 month
+5.8%
3 months
+12.3%
6 months
+18.0%
Year to date
+2.8%
1 year
+28.0%
Relative-strength rankTOP 21%
79 / 100
Where this name's 3-month return against the S&P 500 ranks across the market — a quarter's standing, not the year's.
Typical earnings moveData unavailableRealized move magnitudes are not published for this name yet — no measured print on file.
Reaction: beat vs missData unavailableThe beat-versus-miss reaction gap is not computed for this name — undetermined — needs ≥12 measured beats.
Consensus biasVALIDATED
Persistent
insufficient surprise history
Dividends & income
Data unavailableThis company does not pay a dividend. There is no yield, payout ratio or ex-dividend date to show, and the return case rests entirely on capital gains.
Signal
Not an income position.
No dividend is declared, so nothing here contributes to total return except the price. That is a fact about the security, not a criticism of it.
Inventory ledger
Data unavailableNo inventory detail is tagged in this company's filings. The ledger needs the XBRL inventory components, which a business without physical goods does not report.
Segments & geography
Data unavailableRevenue by segment and region is not on file for this name, so product and geographic concentration are not shown.
↳ Plain EnglishA multiple is what the market charges for a dollar of this company's earnings, cash or revenue; the trend and the options tape say what the price is doing around it. Together they are the timing picture, not the quality one.
Trend
Above 50 & 2003 OF 3 AVERAGES
50-day $10.77 · 200-day $10.24. Price above both is the structural definition of an uptrend.
The setup right now
Price · 504 sessions2024-09-13 → 2026-09-17
price50-day200-day
How to read this
Down 1.24% on the session.
Follow the solid line: each point is a session close. Compare it to the 50-day average — while price stays above it the short-term trend is up, and a drop below is the first structural warning.
Market cap$300.13M
Day range$11.03 – $11.91
Above 52-week low+37%
Realized volatility32% ann.
Worst drawdown-17.5%
Momentum (RSI-14)WARM
58
030 oversold70 hot100
Where momentum sits on a 0–100 scale. Above 70 is overbought, below 30 oversold; the middle says the move has room either way.
Typical day (ATR-14)±4.3%
$0.48
The average true range — how far this stock moves on an ordinary day. It sets the scale a stop has to clear.
MACDBELOW SIGNAL
0.00
The short-term trend against its own signal line. The sign is the read; the size is not a target.
Bollinger position68% OF RANGE
Mid band
Where price sits inside its own volatility band. The edges are where a move is stretched, not where it reverses.
20-day VWAPPRICE BELOW
$11.15
The volume-weighted average of the last month. Price above it means recent buyers are, on average, in profit.
Chandelier exitLONG INTACT
$10.49
A volatility-based trailing stop, set a few average ranges below the recent high.
2026-09-25 · in 7 daysConsumer SentimentA scheduled macro release. It moves this stock independently of anything the company does.
Setup & oddsNightly
Pullback riskoverstretch read
In line1.07× segment rate · n=13,086
Historically, mid names in this tape state saw a ≥10% pullback within 63 trading days in 85% of cases (n=13,086).
Overstretchvs the 20-day mean
1.5σ
How many standard deviations price sits from its 20-day mean. Beyond 2σ is genuinely stretched; inside it is ordinary.
Bottom zoneif it breaks down
$10 – $113 supports
Where prior demand appeared: S1 at $10.79, Pivot low at $10.27, Sma 200 at $10.24.
Slide scorefalling-knife check
0 / 100Neutral
A composite of consecutive down days, gap risk and volume expansion. Low means any decline is orderly.
Signal
The odds lean, the stretch qualifies it.
Not enough fundamental coverage to score this name's red-flag cohort — no 12-month odds shown.
Valuation
Data unavailableNo parsed earnings or cash flows are on file, so no multiple can be computed. A pre-profit company has nothing to divide the price into.
Price horizon & timing
Data unavailableMicro-cap names are excluded from the level composer by design. At this size the daily range routinely swallows the distance between an entry and a stop, so the levels would describe noise rather than structure.
Gamma map
Data unavailableThis name has no listed options chain, so there is no dealer gamma to map. Regime, flip level, walls and the implied move all need a chain to exist.
Options tape
Data unavailableNo options chain is connected for this ticker. Max pain, the put/call ratio, the implied move and the open-interest ladder all need the chain feed.
0413F quarterly · Form 4 dailyNET SIGNAL -2
Ownership & flow
Institutions hold 4%, short interest is 4.16% of float.
↳ Plain EnglishWho is buying and selling, and what they had to disclose. Institutions file 13F 45 days after quarter end, executives file Form 4 within two days, and Congress discloses under the STOCK Act with a 30–45 day legal lag. Every one of those is a look backwards.
Net signal
-2BALANCED · 30d
Quality / value -2
0 bull / 1 bear factors. The points sum to the net beside the label; nothing here is weighted after the fact.
The QTick signalNightly
Quality / valueTTM · CONTEXT
-2
Altman-Z in the distress zone
Signal
0 bull / 1 bear factors
Independent factors scored and netted to -2 over 30d, a balanced reading. 1 of 9 factors carried a direction; the others scored zero and do not vote. The signal describes where the data leans, not what to do about it.
Cross-category read
Data unavailableFewer independent evidence families are ready than the engine's minimum, so there is nothing to check for agreement. A cross-category read over two categories is not a read.
Wall Street
Data unavailableNo sell-side firm publishes research on this name. There is no consensus rating, no price target and no estimate revisions to weigh — for a company this size that is the norm rather than a gap in our data.
Who owns it13F quarterly · Form 4 daily
Institutional ownershipRETAIL-HEAVY
3.5%
The share held by 13F filers. It describes last quarter's positioning, not today's — filings land up to 45 days after quarter end.
Insider ownershipOFFICERS & DIRECTORS
81.6%
The share held by the people running the company.
Short interest (float)LIGHT
4.16%
The share of the tradable float sold short.
Free float18% OF SHARES
4.90M
Shares actually available to trade, excluding insider and restricted holdings.
Dollar volume (ADV)31st PCTILE
$267,438/day
Average dollars traded per day, and where that ranks cross-sectionally. Thin liquidity is a cost you pay on the way out, not just on the way in.
Borrow feeData unavailableWe do not license securities-lending data, so the annualized cost of borrowing shares to short is not something we can show. Short interest and days-to-cover above are the closest read we can source.
The story · news & sentimentRolling window
Why it moved todayNONE
-1.24%
AFRI fell −1.24% in after-hours trading — no identified catalyst in our coverage.
Matched · Sep 18, 2026
Congress
Data unavailableNo congressional trades in this name have been disclosed under the STOCK Act. Lawmakers' disclosed trades cluster heavily in large caps, so an empty list is the usual state.
050 graded callsORDINARY VOLATILITY
Risk & track record
Beta 0.26, 32% annual volatility, a -17% worst drawdown, and 2 of 8 risk surfaces clear.
↳ Plain EnglishWhat owning it does to a portfolio, what the model votes against, and how often our own calls have been right. Every call is graded when it resolves, and the ones still open stay visible.
A very bad day (EVT)
−5.3%1-IN-200 DAY
Fitted to the tail of the return distribution rather than assuming a bell curve. Size the position so a day like this is survivable.
What it does to a portfolio5-year window
Beyond the tail (ES)1-IN-1,000 DAY
−8.4%
The average loss on a 1-in-1,000 day or worse — deeper in the tail than the 1-in-200 figure above and further than the measured history reaches, so it reads as the scale of a crash, not a forecast of one.
Tail understatementNEAR-NORMAL
0.9×
The tail runs close to what a normal curve would predict, so volatility is a reasonable proxy for risk here — which is not true of every name.
Max drawdownWORST FALL
-17.5%
The deepest peak-to-trough fall in the measured window. Only hold a position you can watch do this.
Beta (vs the market)LOW FIT
0.26
The market explains about 1.3% of its daily moves, so this beta says little about how it tracks the index — most of its movement is its own.
3-year beta 0.50
Annualized volatilityORDINARY
32%
How far it swings over a year, from its own realized returns.
Tactical phaseNIGHTLY READ
Neutral
Selling pressure0
Buying pressure38
Overheat6
State: neutral — No dominant short-horizon pressure in the tape.
0-100 · high = active · lit = the engine's own phase, cohort-banded
What votes againstNightly
MedQuality / valueAltman-Z in the distress zoneTTM · -2
Signal
1 of 9 factors vote against.
Ranked by the size of each factor's own point contribution to the net signal — these are the model's stated reasons, not a written bear case. Each one is scored from the source named beside it.
Failure modes · by company type
Data unavailableFailure modes are routed per company type, and only the bank-run and crypto-treasury rulebooks are validated so far. This name routes as growth, so there is no cohort-specific checklist to run. A generic list would read as analysis without being any.
The risk case · why not to buy8 surfaces · nightly
Suggested position capmax defensible size
2.6%tail cap binds
max defensible size 2.6% - tail binds
Avoid score6-month distress
1.5%0.2× its cohort · thinnest-traded micro-caps
Observational 6-month large-drawdown risk ranking — not a forecast, not alpha. Historical distress rate for this thinnest-traded micro-caps segment: 7.8%. This name reads 0.2× that base rate.
LowDistress screenThe distress model did not score this name in the latest run, so this surface is unmeasured rather than clear.Not scored
MedPosition size, not conviction, is the binding constrainthalf-Kelly 28.1% · tail cap 2.6% · category cap 54.6%. The tail cap binds, so 2.6% is the number (n=120,445). We show which one binds rather than the friendliest.Sizing
LowLottery-ticket behaviourIts best 21-day return sits at 5.0% against a 10.8% cohort 90th-percentile threshold — below the line where forward returns have historically turned negative.Behaviour
LowCash runwayNot scored for this name.Not scored
LowPost-earnings driftNo measured earnings reaction on file, so the drift surface is unmeasured.Not scored
LowDividend riskNot scored for this name.Not scored
LowRestatement historyFiling history is not deep enough to check for restatements.Not scored
LowCrowded shortNot in a warn state: the crowded-short model only publishes when short interest and thin liquidity coincide, and neither condition is met here.Not scored
Signal
2 of 8 surfaces clear.
8 surfaces checked, 2 clear. The binding constraint is position size — the tail cap is the one that binds. Each row states which surface it is and what it measured; a surface that could not be scored says so rather than counting as clear.
Who should skip it
Skip it if any of these is you
You want income
A 0.00% yield is a rounding error against cash. This is a capital-gains position.
You'd size it like a core holding
The binding cap is 2.6% of a portfolio. Above that the tail stops being survivable.
Our track record0 resolved
Track recordBUILDING IN THE OPEN
2 logged
2 calls logged on this name, 0 resolved so far. Calls are logged the moment they are made, so the open ones are public before anyone knows how they turn out, and a hit-rate is not published until enough of them resolve.
0 resolved · 2 open
Calls on AFRITHIS NAME
2
This name's own call count. Too few have resolved to publish a rate over them, so none is shown rather than a rate over 0.
0610-K disclosed linksFARM PRODUCTS
The wider context
5 mapped peers, 3 connections.
↳ Plain EnglishCompanies do not trade alone. This is the peer set, the supply chain that has to deliver, and the macro variables that move the stock regardless of company news.
Rate sensitivity
-23.5% per +1ppINSUFFICIENT
This is the SECTOR prior, not a measurement of this name — the regression did not clear its own bar. The verdict beside it (neutral) comes from the prior too, so the two agree by construction rather than by evidence.
Versus peersLatest session
Peer set · 5 names
SymbolRelationshipPriceSession
ADMSupplier$85.18-3.30%
BGPeer$115.58-3.13%
TSNPeer$52.77+0.98%
CALMPeer$72.89-1.62%
FDPPeer$29.22+2.96%
The mapped peer set and how each traded in the latest session. A peer moving with this name says the move is the sector's; one moving against it says the move is this company's.
Look-back returns describe what happened, not what is likely. They are here to set the scale a future move would be measured on.
Historical retrospective. Context, not a forecast.
Macro driversRolling window
Next macro catalystIN 7 DAYS
Consumer Sentiment
2026-09-25. A scheduled release that moves this stock independently of anything the company does.
Events · what moves this stockSep 16, 2026
Retail salesUsually helps when shoppers spend more than expected
Grocery and household goods are part of the same total.
Typical for the Consumer Defensive sector
On the day +0.1% · A week later +0.6% · Two weeks later +0.6% · Rose on 14 of 39 report days
Across the last 39 Retail sales reports since Jun 15, 2023, AFRI moved +0.1% on average on the day and was 0.6% higher two weeks later. The S&P 500 moved +0.1% on those days.
Grocery and household spending barely changes with the job market.
Typical for the Consumer Defensive sector
On the day 0.0% · A week later 0.0% · Two weeks later 0.0% · Rose on 78 of 169 report days
Across the last 169 Initial jobless claims reports since Jun 8, 2023, AFRI moved 0.0% on average on the day and was 0.0% higher two weeks later. The S&P 500 moved 0.0% on those days.
Food and household brands pass higher costs on to shoppers over time; little reaction on the day.
Typical for the Consumer Defensive sector
On the day -0.2% · A week later -0.3% · Two weeks later -0.3% · Rose on 14 of 39 report days
Across the last 39 Core PCE (the Fed's gauge) reports since Jun 28, 2023, AFRI moved -0.2% on average on the day and was 0.3% lower two weeks later. The S&P 500 moved +0.2% on those days.
On the day -0.1% · A week later -0.1% · Two weeks later -0.6% · Rose on 14 of 39 report days
Across the last 39 Housing starts reports since Jun 20, 2023, AFRI moved -0.1% on average on the day and was 0.6% lower two weeks later. The S&P 500 moved 0.0% on those days.
On the day +0.1% · A week later +0.6% · Two weeks later +0.6% · Rose on 14 of 39 report days
Across the last 39 Industrial production reports since Jun 15, 2023, AFRI moved +0.1% on average on the day and was 0.6% higher two weeks later. The S&P 500 moved +0.1% on those days.
Food and household brands pass higher costs on to shoppers over time; little reaction on the day.
Typical for the Consumer Defensive sector
On the day -0.2% · A week later -0.3% · Two weeks later -0.3% · Rose on 14 of 39 report days
Across the last 39 PCE inflation reports since Jun 28, 2023, AFRI moved -0.2% on average on the day and was 0.3% lower two weeks later. The S&P 500 moved +0.2% on those days.
Food and household brands pass higher costs on to shoppers over time; little reaction on the day.
Typical for the Consumer Defensive sector
On the day +0.1% · A week later +0.5% · Two weeks later -0.3% · Rose on 20 of 39 report days
Across the last 39 Producer prices (PPI) reports since Jun 12, 2023, AFRI moved +0.1% on average on the day and was 0.3% lower two weeks later. The S&P 500 moved +0.3% on those days.
On the day 0.0% · A week later -0.3% · Two weeks later -0.7% · Rose on 20 of 38 report days
Across the last 38 Consumer sentiment (UMich) reports since Jun 26, 2023, AFRI moved 0.0% on average on the day and was 0.7% lower two weeks later. The S&P 500 moved 0.0% on those days.
Customer momentum
Data unavailableCustomer momentum needs listed customers that disclose a revenue dependence on this company, and none is on file. The connections below are a different map: competitors and partners, most of them curated rather than filed.
Connections3 links · none confirmed
Direct connections · 3 edges
CompanyRelationSessionProvenance
ADM · Suppliersupplier-3.30%Rumored · manual
WMT · Customercustomer-0.06%Rumored · manual
PG · Competitorcompetitor-0.79%Rumored · manual
0 of 3 edges are named in a filing; the rest come from reporting we have not matched to one yet, and are labelled as such.