IDEN

How we calculate

Every number on these pages comes from market data. AI (Claude) only writes explanations of news it has read; it never produces a figure.

Market mood (0–100)

  1. Each signal is a simple reading: a trend, a one-month change or a level.
  2. Its score is where today's reading ranks within its own last year (252 readings): 0 is the most fearful reading of the year, 100 the most confident. For stress gauges (volatility, credit spreads, yields, USD/IDR, CDS) the scale is flipped.
  3. The mood is the plain average of the signals that have enough history (at least 60 readings) and fresh data (at most 10 days old). No signal counts more than another.
  4. Words: 0–20 fear · 20–40 cautious · 40–60 neutral · 60–80 constructive · 80–100 greed. Signals above 60 are shown as supportive, below 40 as weighing.
  5. The CNN Fear & Greed Index is a different, third-party measure and is not used here.

Global mood: 38

SignalTodayScoreSource, as of
Stock trend S&P 500 is +2.5% versus its 6-month average 18 weighing Yahoo Finance ^GSPC · newer closes fetched directly · 14 Oct 2026
Breadth The average stock is lagging the index by 3.8 pts over 3 months 29 weighing Yahoo Finance RSP · newer closes fetched directly, Yahoo Finance ^GSPC · newer closes fetched directly · 14 Oct 2026
Volatility VIX (expected US stock swings) at 16.9 55 neutral Yahoo Finance ^VIX · newer closes fetched directly · 14 Oct 2026
Credit Risky US company bonds pay 3.25 percentage points over Treasuries 2 weighing FRED BAMLH0A0HYM2 · newer closes fetched directly · 14 Oct 2026
Safe-haven demand Stocks beat gold by 8.6 pts over 20 days 86 supportive Yahoo Finance ^GSPC · newer closes fetched directly, Yahoo Finance GC=F · newer closes fetched directly · 14 Oct 2026

Indonesia mood: 31

SignalTodayScoreSource, as of
IHSG trend IHSG is −8.1% versus its 6-month average 37 weighing Yahoo Finance ^JKSE · newer closes fetched directly · 15 Oct 2026
Rupiah USD/IDR +1.3% in a month (rupiah weaker) 25 weighing Yahoo Finance IDR=X · newer closes fetched directly · 15 Oct 2026
Bond yields data is out of date – no data CNBC ID10Y-ID · 28 Sep 2026
Foreign bond holdings not enough history yet – no data DJPPR daily ownership file · 25 Sep 2026
Country risk data is out of date – no data worldgovernmentbonds.com · 28 Sep 2026

What matters today, trending and chart of the day

  • One story, many sources. Headlines about the same event (same wording test the engine uses, within 48 hours) are grouped into one story. Coverage = number of different publishers.
  • Top stories need at least two independent publishers, or an official source that Claude has explained. Order: more publishers, then explained, then official, then newer. Social posts are never top stories.
  • Trending counts different publishers per topic over 72 hours; one outlet counts once. The arrow compares the last 24 hours with the 48 before; a dot means there is too little earlier coverage to compare.
  • Chart of the day: among ten fixed chart templates with fresh data, charts linked to today's trending topics come first; among those, the one whose main series moved most unusually over the past month (compared with its own past year) is shown.
  • Social posts are commentary, not fact, even when the account is well known.

Data and downloads

  • Every chart and table has Copy for Excel: the table goes to your clipboard, with its source, date and method underneath, ready to paste into Excel or Google Sheets. Excel file downloads the full workbook. Both come from the same calculation as the page, so the numbers match.
  • The Excel file has three sheets. DATA: the values, with the raw series and, where one applies, the transformed series next to it. METADATA: source, unit, frequency, dates and when each series was updated. METHODOLOGY: the range and each transformation with its formula, or "Raw source series, no analytical transformation."
  • Charts other people shared are labelled Recreated interpretation: drawn from our own sources, never read off the original image. The original creator did not supply the data. A person on the Research Desk confirms suggested matches, and only they can mark one an Exact recreation, when the original names the same source series and calculation. Where our data does not hold what a chart shows, only the original is linked.
  • Data Explorer lists every stored series. When a source changes a value it published before, both values are kept.
  • Numbers are copied with a decimal point; if your Excel uses a decimal comma, use Excel file instead. X post text is never included.

Chart Lab: how the transformations work

  • Chart Lab draws any stored series. Explore on any chart opens it there with that chart's series.
  • Changes are in % for prices and FX, and in basis points for yields. Year on year and month on month use the last reading on or before the same date a year (or month) earlier. If that reading is too far away, there is no value; nothing is interpolated.
  • Moving averages, n-reading changes and correlations are worked out on the full history first, so the first point shown is complete. Rebasing and z-scores are relative to the period shown.
  • Spread and ratio use A's dates, with B's last reading on or before each date (at most 7 days earlier). Rolling correlation compares the day-to-day changes of A and B over the last n dates both have.
  • Automatic layout never uses two y-axes. Series in the same unit share one axis; different units get a panel each. Two axes only appear when you choose them, and right-axis lines are dashed.
  • Fed, BI and CPI markers show the dates this system has recorded. The whole chart lives in its link, so Copy link shares it exactly.

Stories: how they are built

  • One story per development. A new event joins an open story when it shares a market topic, the story had an update within 72 hours, and its headline is similar to one of the story's headlines (the same wording test and threshold the event engine uses to group articles). Otherwise it opens a new story. X posts join the same way when they are read; they never open a story.
  • What each update added: an official document is a new fact, or a confirmation when it comes after news reports; another publisher on the same event is another source; the same publisher again is nothing new; a new event in the story is a new fact if it carries figures, otherwise a new interpretation. X posts: chart, rumour, figures from a wire or publisher (reported, not verified), or commentary.
  • Status: verification is official once an official source is in, reported once news or a wire reports it, otherwise unverified. Stage: breaking (one source) → developing (two or more) → confirmed (official) → market reacted (a linked asset moved at least 2× its usual daily move at the first close after the story opened). Every change is kept with its time and reason.

Indonesia: sources, stories and corporate actions

  • Sources. Indonesian-language publishers are read only through a public feed: headline, the feed's summary (shortened to 400 characters), author, time and link. Article pages are never fetched, robots.txt is respected and the content is never sent to an external AI model. Outlets without a confirmed feed, and IDX (automated access not permitted), are registered but never fetched. The full list is under Research › Tools › Sources.
  • Same story across languages. News that names an Indonesian listed company counts as news about Indonesian stocks, so reports of the same development in Bahasa Indonesia and English join one story when they name the same company within the story window. A different corporate action by the same company (a dividend and a rights issue) stays a separate story. Companies are recognised by ticker, legal name and aliases; near-matches such as BCA Syariah are excluded by rule.
  • Topics and geography. Each story carries Indonesia topics (monetary, fiscal, FX and external, fixed income, equities, commodities, regulation, SOEs) from published phrase lists, and a geography: Indonesia, US, China, other Asia, or Global when nothing country-specific is found.
  • Today. When none of the top stories is about Indonesia, the best eligible Indonesian story takes the last place. The eligibility bar (two or more publishers, or an explained official source) is the same for every story.
  • Market moves around a story. For the companies a story names and the series its topics point to: the move from the last close before the story opened to the first close on or after it, and to five readings later. Timing only, never a measure of cause.
  • Corporate actions. From permitted headlines (requires verification until a second publisher reports it), company IR or other official sources entered by CSV (confirmed official when the link is given), and manual CSV entries. Not a complete or authoritative IDX record.

X Pulse: attention, narrative and price

  • Which posts count: posts from the accounts in config/x_sources.yaml that name an asset, a company (cashtag), a market topic or market vocabulary (fixed rules). Public figures count only when they name an asset, company or market theme.
  • Attention = number of such posts in the last 24 hours, against the average day of the 7 days before. "Rising" at 2× or more, "falling" at half or less; with fewer than 3 posts in the week before there is no baseline ("new").
  • Narrative = the tone labels of those posts from FinBERT, a model that runs on this machine; the label is kept, the text is not. The word is the label most posts share; if two tie, "mixed". Counts are always shown (positive / neutral / negative).
  • Price uses the same rule as the heatmaps. A post and a move close in time are shown together; that is not evidence that the post caused the move.

Heatmaps: what moved, and how unusual it was

  • Change over the chosen range from daily closes: % for prices and indices, basis points (bp) for yields. 1W and 1M compare with the last close at least 7 / 30 days earlier; YTD with the last close of the previous year.
  • How unusual = the change divided by its usual size: the standard deviation of daily changes over the year before the range starts, scaled by √(number of trading days in the range). "2.4× usual" means the move was 2.4 times its normal size for that period.
  • Colour shows only how unusual the move was (one blue scale, five steps), never whether it was good or bad. The arrow and the sign give the direction; the note says what it means for a rupiah-based investor (e.g. "USD/IDR ▲: rupiah weaker").
  • A cell with a dashed border has less than about three months of history, so no comparison is possible yet. A faded cell has data older than three days.
  • Sectors: IDX-IC sector indices from the Indonesia Stock Exchange, and the Select Sector SPDR funds for the US; sorted from strongest to weakest over the chosen range.