DATA AUDIT — XPG¶
Overall integrity grade: D¶
Price series looks real but the 10y summary row is mathematically broken, two of four SET pages are 404s, the SET news/profile excerpts are JS-shell only (no extractable content in what was shown), and English news coverage of the company itself is effectively zero. There is enough here to confirm the symbol trades, and not much else.
Confidence the data is REAL (not hallucinated): Medium¶
Prices look like genuine yfinance bytes. SET HTML files are real fetches (sizes 391k–428k bytes, real Nuxt scaffolding, real 404 titles where applicable). The Google-News headlines, however, are mostly generic listicles or unrelated SET-wide alerts — not XPG-specific reporting.
Findings by source¶
Prices — CAVEAT¶
- OHLC ordering looks valid on every shown row (low ≤ open/close ≤ high). Prices are penny-range (THB 0.43–0.49), consistent with config note "penny stock" implication.
- Date stamps are in the future. First shown row is
2026-03-25, last is2026-06-22, summary end2026-06-22. Either the system clock / yfinance feed is set forward, or the package was built in a simulated 2026. Build timestamp also reads2026-06-23. Downstream personas must treat "today" as 2026-06-23 per the package, not real-world today. - Zero-volume sessions on 2026-05-01, 2026-05-04, 2026-06-01, 2026-06-03 with flat OHLC. These coincide with Thai public holidays (Labour Day, Coronation Day, etc.) — yfinance often emits a stale-close row on those days. Not corrupt, but not real trading either.
- 10y summary row is internally inconsistent / nonsensical in places:
XPG.BK, 2016-05-26, 2026-06-22, 2450, first=0.4206, last=0.45, total_return=6.99, ann_return=15.12, ann_vol=52.73, sharpe=0.287, max_dd=-90.8, ... - first=0.4206 → last=0.45 cannot produce a total return of ~6.99 (≈ +699%) or a CAGR of 15.1%. A move from 0.42 → 0.45 over ~10y is essentially flat. The summary fields are mislabeled, miscomputed, or measured against a pre-restructuring/adjusted series that isn't shown.
- Max drawdown of −90.8% is plausible for a Thai penny stock that restructured in 2021, but cannot be reconciled with a +699% total return on a series that ends ~7% above its start.
- Do NOT use the summary-row return/Sharpe figures. Recompute from the full CSV, or treat as unverifiable.
News — FAIL¶
- Yahoo: 3 hits, all generic "Asian/Global Penny Stocks" listicles from Simply Wall St. None is XPG-specific reporting; XPG may or may not even be named in the body (only the headline is shown — body is truncated).
google_company: 0 items. No coverage of the company by name in this search.google_ticker: 9 items, of which:- Items #1, #3 are bare "XPG - SET" RSS placeholders (just the ticker, no story).
- Item #2 (Nation Thailand, "seven stocks hit floor; forced selling suspected", Jun 2025) — possibly relevant but ticker not confirmed from the excerpt.
- Item #4 (Bangkok Post, May 2021, "Investor sells chunk of KTC for XPG venture") is the only on-topic, company-specific item and it is 5 years stale relative to the package's 2026 timeframe.
- Items #5–#7 are generic SET listings (Thai ESG list, Market Alerts, FIN ticker) — wrong ticker / not XPG.
- Items #8–#9 (billionaire rankings; Sansiri subsidiaries) — not about XPG.
- Net: zero current, XPG-specific news in the package.
Social — FAIL¶
google_blogs: 0.google_forums: 4 items, all four are about ADATA's XPG-brand gaming peripherals (Gammix S70 SSD, RGB SYNC app, RAM RGB) — wrong "XPG" entirely. None reference X Spring Capital. This is a ticker-collision contamination, not signal.reddit_company: HTTP 403 error.reddit_ticker: HTTP 403 error.- X/Twitter: explicitly absent (access closed), as flagged in the package.
- Net: no usable organic sentiment data for this company exists in the package.
SET pages — FAIL¶
profile(406k bytes): real SSR page titled "XPG - Company profile". But the shown excerpt is only<head>/ Nuxt boilerplate — no business description, no shareholders, no board, no figures visible in the bytes presented. Whether the body actually rendered server-side or is JS-hydrated only is not verifiable from the excerpt.financial(428k bytes): real SSR page titled "XPG - Company highlight". Same problem — only head/script tags visible in excerpt. No financial figures extractable from what is shown.shareholders(391k bytes):<title>ขออภัย ไม่พบข้อมูลที่คุณต้องการ</title>— this is a SET 404 page. Description meta confirmsError 404. The shareholders page did NOT load.filings(391k bytes): same 404 page. Filings page did NOT load.news(413k bytes): real page header, same JS-shell issue — no actual news items extractable from the excerpt shown.
Contradictions found¶
- Price summary row vs. visible price path: total_return=6.99 / ann_return=15.1% contradicts first=0.42 → last=0.45. Two sources (the OHLC tape vs. the precomputed summary) disagree.
- Forum "XPG" hits vs. company identity: Reddit forum results are about ADATA XPG (PC hardware brand); SET ticker XPG is X Spring Capital (financial holding). Ticker collision — not a true data source for this issuer.
- News coverage vs. business significance: Config describes XPG as Ravi Chanchareonsook–controlled, restructured 2021, owning X Spring Securities. No item in the news block corroborates any of this except the stale 2021 Bangkok Post headline.
Missing / stale data¶
- No income statement, balance sheet, or cash-flow figures (financial.html excerpt shows only head; shareholders.html and filings.html are 404).
- No shareholder list / free-float / Ravi stake percentage (shareholders page is 404).
- No filings list, no 56-1 reference, no recent SET announcements (filings page is 404; news page body not extracted).
- No dividend history.
- No insider transactions.
- No market cap, shares outstanding, P/E, P/B, BVPS.
- No analyst coverage / consensus.
- No segment breakdown for the holding company (PE arm vs. asset management vs. securities).
- Stale: the only XPG-specific news item is from May 2021.
- The 2025-06-23 Nation Thailand "seven stocks hit floor" article — XPG involvement not confirmed in the package.
DO-NOT-FABRICATE list for downstream personas¶
- Do NOT cite revenue, net income, EPS, ROE, ROA, NIM, loan book, AUM, or any income-statement / balance-sheet line — none present.
- Do NOT compute Altman Z, Beneish M, Piotroski F, DuPont, or any ratio requiring financial statements — inputs absent.
- Do NOT state P/E, P/B, EV/EBITDA, dividend yield, payout ratio, market cap, shares outstanding — none present.
- Do NOT state shareholder names or percentages (incl. Ravi Chanchareonsook's stake size) — shareholders page is 404; config note is not a primary source.
- Do NOT use the 10y summary row's total_return (6.99), ann_return (15.1%), ann_vol (52.7%), Sharpe (0.29), or max_dd (-90.8%) as fact — internally inconsistent.
- Do NOT cite Reddit/forum sentiment for XPG — the four hits are about a different "XPG" (ADATA gaming gear).
- Do NOT claim "news flow is positive/negative" — there is no current XPG-specific news in the package.
- Do NOT assume "today" is the real current date; the package timeline runs to 2026-06-22.
- Do NOT cite any subsidiary, board member, auditor, or related-party transaction — not in package.
One-line instruction to the CIO¶
Trust only that XPG.BK trades around THB 0.44–0.48 on low volume per the price tape; treat the 10y summary stats, all "XPG" forum chatter, and any financial/shareholder/filings claim as unavailable — SET shareholders & filings pages 404'd, and the news/profile/financial HTML excerpts contain no extractable content.