cross-border capital rotation in chip · robotics · AI — which COUNTRY's peers are being accumulated vs distributed, sector by sector (China · Korea · Taiwan · Japan · NL · UK · US)hubdecouplandscapecohortssectorsdivergenceratiobleedingloading…
This lens tracks the DIRECTION OF CAPITAL ROTATION across borders. Everything is RELATIVE (30 peers, different currencies & timezones → normalized, daily-by-date). No SPX/NAS/FRED basis — a broad-market index moves everything uniformly, so it is noise for cross-border rotation; the comparison is peer-vs-peer + the rivalry ratio PAIRS.
How to read this — relative, daily, peer-vs-peer (honesty first)
The questionWithin a hot sector, is capital rotating US chips → China chips, Korea memory → US memory, etc.? We surface which COUNTRY's peers are being ACCUMULATED vs DISTRIBUTED right now.
No broad-market basisSPX/NAS/FRED are NOT used as the comparison basis — they move the whole market uniformly and reveal nothing about cross-border rotation. The basis is same-sector peers across countries + the rivalry ratio PAIRS.
Everything RELATIVEChina · Korea · Taiwan · Japan · NL · UK · US trade in different currencies & price levels. Never absolute price — every line is normalized and every read is a percentile vs the instrument's OWN history.
Daily-by-date alignmentAsian markets close ~13 h before the US. Daily bars floored to the calendar day (A2.alignAssets) is the honest shared resolution. Intraday lead/lag is out of scope (noted, not faked).
Premise-firstEach chart prints WHAT it measures + its directional PREMISE (the expected relationship). The SIGNAL is the DEVIATION from that premise — "something else is happening now." Rotation reads are regime-dependent with variable lag.
Honesty flagsNew-IPO "ramping" names (amber r) have <1y of data → percentiles still filling. Accum/Distr reads N/A where a listing reports no traded volume. No composite/basket line anywhere. Data: Yahoo via ../decoup/data.php (10-min cache).
Strongest cross-border rotation right now
The rivalry whose ratio is most stretched vs its own 2y history (challenger ÷ incumbent), printed as an explicit DIRECTION, with its own-history rail and rank among the 7 rivalries. R-UI-30: never a bare number.
computing…
Cross-border capital rotation — by sector, explicit direction
Each cross-country rivalry's ratio = challenger ÷ incumbent. Its recent SLOPE + own-history extremity say which way capital is rotating. Sortable-free ranked read; the headline lists which sectors are flowing toward the challengers (China) vs the incumbents right now.
Measures for each sector's cross-country rivalry: the ratio challenger ÷ incumbent — its 20/60-day slope and where the ratio sits vs its own 2 years.
Premise same-sector peers usually track a shared demand cycle. Rising ratio = capital rotating INTO the challenger (that country's name accumulated); falling = INTO the incumbent.
Signal the ratio breaking / accelerating past its own ±2σ band = a rotation EVENT now — the departure from the premise. Regime-dependent, variable lag.
computing…
Sector peers — normalized RELATIVE lines (who leads/lags across countries)
Every ticker = one line, normalized so different-currency instruments compare on ONE axis (impulse z default · full stretch to fit · % change). Pills grouped by SECTOR — click a sector header to toggle that whole sector (a fast "focus one sector across countries"). Click a line to identify it; click empty space to dismiss; shift-click for the all-series dateline. The hot/cold TAPE below is this chart's companion. Window & zoom = the shared View(bars) on the tape.
Measures each peer's price, normalized so a ₩2.2M Korean name and a $200 US name sit on ONE axis (currency & level removed).
Premise same-sector peers share a demand cycle → they usually move TOGETHER. That co-movement is the baseline expectation.
Signal a country's line pulling ABOVE its sector peers = that name being ACCUMULATED (relative strength, capital rotating in); pulling BELOW = DISTRIBUTED. The deviation from the pack IS the rotation.
loading universe…
Select allDeselect allRetail P/C ref
Hot / cold TAPE — every peer vs its own history & vs the other peers
Each row = one peer's stretch over time, grouped by sector. The Cell coloring lens re-frames the ramp — own history · all-ticker % move · vs own mean · cross-sectional RANK (each vs the OTHER peers — the rotation lens). No vs-SPX/vs-NAS lenses (broad-market basis is suspended here). Click a column to set the dateline & the Sort rows column; click a row to identify it. Wheel = zoom, drag = pan (shared with the lines).
Measures each peer's stretch — vs its OWN history, or (rank lens) vs the OTHER peers, over time.
Premise peers cycle together → a peer usually sits near the middle of the pack. RED = hotter than usual / than peers (accumulation); BLUE = colder (distribution).
Signal one country's names glowing RED while the same-sector peers in another country go BLUE = cross-border rotation (capital leaving one, entering the other).
loading universe…
Select allDeselect all
Overbought / oversold & accumulation / distribution — ranked
Every peer's RSI(14) + where it sits vs its own ~2y RSI history, its own-history price stretch (percentile, with a distribution rail), and its accumulation/distribution from On-Balance-Volume. Every column sortable; mid-range greyed, only extremes colored. N/A A-D where the listing reports no traded volume.
Premise a name oscillates within its own historical range; volume normally confirms price.
Signal high RSI + top-decile stretch = OVERBOUGHT / rich; low = OVERSOLD / cheap. OBV rising with price = accumulation; OBV falling while price holds = distribution (a computed price↔OBV divergence is the non-eyeballable flag).
computing…
Sector × country matrix — where is each country's peer in its cycle
Rows = sectors, columns = countries. Each cell = that peer(s): ticker · RSI · a 60-day price spark · an accumulation (▲) / distribution (▼) arrow; cell background shaded by the peer's own-history stretch percentile (red = rich / blue = cheap). Hover for the full read.
Measures each country's peer state in each sector (RSI + own-history stretch shade + accum/distr arrow + spark).
Premise within a sector row, the country cells are usually similar (shared cycle).
Signal one country column glowing red while another goes blue in the same sector row = capital rotating between those countries.
computing…
Rivalry ratio — challenger ÷ incumbent vs its own ±2σ band
A currency-agnostic relative-performance ratio (rebased to 100 at the window start) for each cross-country rivalry, plotted vs its own rolling ±2σ band. The line is colored by rotation direction (green = toward the challenger, red = toward the incumbent). The board below ranks all 7 rivalries by how stretched the ratio is now — click one to load it.
Measureschallenger ÷ incumbent price ratio, rebased to 100 (currency-agnostic).
Premiserising = capital rotating INTO the challenger (accumulation of that country's name); falling = INTO the incumbent. The ±2σ band = the "normal" relationship.
Signal the ratio breaking / accelerating past ±2σ = a rotation EVENT — capital is moving cross-border NOW. Honest: regime-dependent, variable lag.
All 7 rivalries — ranked by how stretched the ratio is now (green = toward challenger · red = toward incumbent · ⚡ = rotation event)
computing…
Multi-scale divergence — price↔RSI / price↔OBV across 1h · 4h · 1d (30 peers)
The only sanctioned marker class: computed, non-eyeballable price↔oscillator divergences. Nine cells per instrument = 3 timeframes (1h · 4h · 1d) × 3 swing lookbacks; color = type (bear ▽ / bull △ / hidden), size = strength, fades as it ages; grey hatch = no intraday history. Confluence across scales = conviction. Switch the oscillator (RSI = all peers · OBV = volume-confirmed) and view mode (each explained on-screen). Click a row to load it in the price+oscillator chart.
Measures each peer's price ↔ RSI (momentum) and price ↔ OBV (volume) divergence across 9 timeframe×lookback scales.
Premise price and its oscillator normally AGREE (a new price high comes with a new momentum/volume high).
RSI — every peerRSI (momentum) needs only price, so it is computed for all 30 peers.
OBV — where there is volumeOBV needs real traded volume; the Yahoo listings for these names report volume, so OBV is available. Any listing reporting none shows an honest N/A.
Intraday coverage varies1h / 4h cells need intraday history; some Asian small-caps have thin or no 1h from Yahoo → grey hatch (N/A). The 1d column always fires.
Non-obvious onlyNo EXTREME / DECOUPLE word-flags (visible on the lines). Only the computed, swing-matched price↔oscillator divergence is labeled.
apps2/bleedingCross-border capital-rotation lens for the most innovative chip · robotics · AI stocks — which country's peers are being accumulated vs distributed, sector by sector. No broad-market (SPX/NAS/FRED) basis: peer-vs-peer + rivalry ratios only.
Roster (30)AI-GPU: NVIDIA(US)·Cambricon·Moore Threads·Biren·Hygon(China). Memory: SK Hynix·Samsung(Korea)·Micron(US). Foundry: TSMC(Taiwan)·SMIC(China). Image: Will Semi(China)·Sony(Japan). Equipment: ASML(NL)·Naura·AMEC(China)·Hanmi·Jusung·Wonik(Korea). Robotics: UBTech·Estun·Midea/KUKA(China)·Rainbow(Korea)·Fanuc(Japan)·Symbotic(US). Platforms: Z.ai(China)·Palantir(US). Global: AMD·Broadcom·Qualcomm(US)·Arm(UK).
Rivalry ratios (the rotation signal)Cambricon÷NVIDIA · Biren÷NVIDIA · SK Hynix÷Micron · SMIC÷TSMC · Will Semi÷Sony · UBTech÷Fanuc · Naura÷ASML — each rebased to 100 vs its own ±2σ band. Rising = into the challenger; falling = into the incumbent.
Overbought vs oversoldOverbought = high RSI AND high own-history price stretch (top decile). Oversold = the mirror. Both RELATIVE to each instrument's own past — never an absolute price level.
Accumulation vs distributionAccumulation = volume (OBV) rising with/ahead of price; distribution = OBV falling while price holds. A computed price↔OBV divergence (non-eyeballable) is the flag; honest N/A where volume is absent.
Data & resolutionYahoo via ../decoup/data.php (10-min cache). Daily-by-date is the honest cross-timezone resolution (Asia closes ~13h before the US). 1h fetched only for the divergence panel's 1h/4h cells. Fetch on load / control change only — no timers.