<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: rustrell</title>
    <description>The latest articles on DEV Community by rustrell (@rustrekk).</description>
    <link>https://dev.to/rustrekk</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3851816%2Fdfebb4bc-1437-4eeb-be13-376fe2bd69e0.png</url>
      <title>DEV Community: rustrell</title>
      <link>https://dev.to/rustrekk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rustrekk"/>
    <language>en</language>
    <item>
      <title>PythCorrelation</title>
      <dc:creator>rustrell</dc:creator>
      <pubDate>Mon, 30 Mar 2026 15:41:34 +0000</pubDate>
      <link>https://dev.to/rustrekk/pythcorrelation-453a</link>
      <guid>https://dev.to/rustrekk/pythcorrelation-453a</guid>
      <description>&lt;p&gt;&lt;strong&gt;Real-Time Crypto Correlation &lt;br&gt;
                     Powered by Pyth Oracle Data &lt;br&gt;
       Explore how crypto assets move together using live market data.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pyth Correlation Tracker&lt;/strong&gt; is a &lt;strong&gt;real-time multi-asset analytics terminal&lt;/strong&gt; that streams live price data from Pyth Network oracles and computes statistical relationships between &lt;strong&gt;28 major assets&lt;/strong&gt; across crypto, forex, metals, equities, and indices — revealing hidden market connections as they happen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What It Does&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Traditional charting tools show prices in isolation. But prices don't move alone — BTC and Gold correlate during macro crises, ETH leads SOL by seconds, EUR/USD predicts crypto volatility spikes. These relationships are the hidden architecture of markets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pyth Correlation Tracker makes those relationships visible, live, in real time:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Matrix&lt;/strong&gt; — Live Pearson heatmap across 28 assets, updated every 3 seconds&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Charts&lt;/strong&gt; — Full OHLCV candlestick charts via Pyth Benchmarks (6 timeframes: 1m → 1D)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Correlation&lt;/strong&gt; — Deep-dive pair analysis with 90-day history + shareable PNG card&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lead-Lag&lt;/strong&gt; — Cross-correlation CCF(k) identifying which asset moves first&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Entropy Lab&lt;/strong&gt; — The real discovery: Shannon entropy + NMI seeded from live Pyth prices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Live&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;App:&lt;/strong&gt; &lt;a href="https://pythcorrelation.com" rel="noopener noreferrer"&gt;pythcorrelation.com&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Docs:&lt;/strong&gt; [pythcorrelation.gitbook.io&lt;br&gt;
(&lt;a href="https://pythcorrelation.gitbook.io/pythcorrelation-docs" rel="noopener noreferrer"&gt;https://pythcorrelation.gitbook.io/pythcorrelation-docs&lt;/a&gt;)&lt;br&gt;
&lt;strong&gt;Twitter:&lt;/strong&gt; &lt;a href="https://x.com/xzolmoney" rel="noopener noreferrer"&gt;@xzolmoney&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Pyth Features Used&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Price Feeds (off-chain)&lt;/strong&gt; — Pyth Hermes REST, 28 assets simultaneously, 3s update interval&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Historical OHLCV&lt;/strong&gt; — Pyth Benchmarks &lt;code&gt;/v1/shims/tradingview/history&lt;/code&gt; — all asset classes&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Pyth prices as entropy seed&lt;/strong&gt; — Live Pyth oracle prices (BTC, ETH, 
SOL, DOGE, XAU) are XOR-hashed to seed the bootstrap PRNG for the 
Entropy Lab. Market-derived randomness, not Math.random().&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;All asset classes&lt;/strong&gt; — Crypto, FX, Metals, Energy, Equities, Indices via single oracle&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Hackathon API Key&lt;/strong&gt; — Bearer token for Pyth Pro higher rate limits&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Matrix — Live Correlation Heatmap
&lt;/h3&gt;

&lt;p&gt;The main dashboard. A real-time Pearson correlation heatmap across all 28 assets — updated every 3 seconds from Pyth oracle.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Green&lt;/strong&gt; = positive correlation, &lt;strong&gt;Red&lt;/strong&gt; = inverse, &lt;strong&gt;Purple&lt;/strong&gt; = no relationship&lt;/li&gt;
&lt;li&gt;Rolling window: last &lt;strong&gt;200 live Pyth ticks&lt;/strong&gt; (~10 minutes)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Top Pairs Ranking&lt;/strong&gt; — top 6 most correlated and top 6 most inversely correlated&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Correlation Alert&lt;/strong&gt; 🔔 — get notified when a pair crosses your threshold&lt;/li&gt;
&lt;li&gt;Ticker cards: live price, % change, 50-tick sparkline, 24h High/Low, avg correlation&lt;/li&gt;
&lt;li&gt;Sort by: Price ↑↓, Correlation ↑↓&lt;/li&gt;
&lt;li&gt;Filter: All / Crypto / FX / Metals / Equity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fquxin4s70pjrzs9dkb62.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fquxin4s70pjrzs9dkb62.png" alt=" " width="800" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fphxh5wmi52m6vg7a5egt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fphxh5wmi52m6vg7a5egt.png" alt=" " width="800" height="259"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  2. Charts — OHLCV via Pyth Benchmarks
&lt;/h3&gt;

&lt;p&gt;Full candlestick charts powered entirely by &lt;strong&gt;Pyth Benchmarks API&lt;/strong&gt; — no Binance, no third-party proxies, zero CORS issues.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;All 28 assets&lt;/strong&gt; including XAU/USD (Gold), EUR/USD, AAPL, SPY, WTI — not just crypto&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;6 timeframes&lt;/strong&gt;: 1m · 5m · 15m · 1h · 4h · 1D&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3 chart modes&lt;/strong&gt;: Candlestick, Line, Bar&lt;/li&gt;
&lt;li&gt;300 historical bars per load + live candle updates from Pyth ticks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This replaced Binance entirely. One oracle, all asset classes, same OHLCV format &lt;code&gt;{t[], o[], h[], l[], c[], v[]}&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzi83abao3km8skyq3reu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzi83abao3km8skyq3reu.png" alt=" " width="800" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkvqk9noacrnxcl737o2f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkvqk9noacrnxcl737o2f.png" alt=" " width="800" height="390"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  3. Correlation — Deep-Dive + 90-Day History
&lt;/h3&gt;

&lt;p&gt;Pair-level analysis for any two of the 28 assets. Choose a pair, get instant deep-dive:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Large Pearson r&lt;/strong&gt; — color-coded, updated live&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rolling correlation chart&lt;/strong&gt; — watch the relationship evolve tick by tick&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;90-day history&lt;/strong&gt; — switch to &lt;code&gt;1D&lt;/code&gt; timeframe via Pyth Benchmarks daily bars to see how any pair's correlation evolved over 3 months&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Strength labels&lt;/strong&gt;: Very Strong / Strong / Moderate / Weak / Uncorrelated&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Share Card&lt;/strong&gt; — one click generates a &lt;strong&gt;1200×1200 PNG&lt;/strong&gt; with pair symbols, correlation value, color bar, and &lt;code&gt;LIVE · PYTH ORACLE&lt;/code&gt; badge — ready to post on X/Twitter&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxelzeq2nm40wgok4ewvc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxelzeq2nm40wgok4ewvc.png" alt=" " width="800" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F283jhmtksr11ihkrdyi5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F283jhmtksr11ihkrdyi5.png" alt=" " width="800" height="390"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  4. Lead-Lag — Who Moves First?
&lt;/h3&gt;

&lt;p&gt;Standard correlation asks: &lt;em&gt;"Do A and B move together?"&lt;/em&gt;&lt;br&gt;
Lead-Lag asks: &lt;em&gt;"Does A at time T predict B at time T+k?"&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CCF(k) = Pearson(A[t], B[t+k])   for k = −20..+20
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Positive k&lt;/strong&gt; → A leads B by k ticks (~3s each)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Negative k&lt;/strong&gt; → B leads A&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Peak at k = +3&lt;/strong&gt; → Asset A moves ~9 seconds before Asset B&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Real signals we found:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Signal&lt;/th&gt;
&lt;th&gt;Interpretation&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;BTC leads ETH by 2-3 ticks&lt;/td&gt;
&lt;td&gt;ETH price discovery follows BTC with ~6-9s delay&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;EUR/USD leads Gold&lt;/td&gt;
&lt;td&gt;Macro FX signal precedes metals reaction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Flat CCF&lt;/td&gt;
&lt;td&gt;Assets react independently to different catalysts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd5d0neaab1ezkw8ln7js.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd5d0neaab1ezkw8ln7js.png" alt=" " width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  5. Entropy Lab — This Is the Real Discovery
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Most analytics platforms stop at correlation. We went further.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Correlation tells you IF two assets move together. Entropy tells you WHY they can't be predicted — and WHO is pulling the strings.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This module is built on a key insight: &lt;strong&gt;standard correlation is blind to nonlinear dependencies&lt;/strong&gt;. Two assets can have Pearson r ≈ 0 and still be deeply structurally coupled — just not in a linear way. Entropy Lab catches exactly this.&lt;/p&gt;

&lt;h4&gt;
  
  
  How Pyth prices seed the entropy bootstrap
&lt;/h4&gt;

&lt;p&gt;We use &lt;strong&gt;live Pyth oracle prices as the entropy source&lt;/strong&gt; — not &lt;code&gt;Math.random()&lt;/code&gt;, not a static seed. The PRNG seed is derived by XOR-mixing live prices for 5 assets using the Fibonacci hash constant:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;pythSeed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;prices&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;syms&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;BTC&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ETH&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;SOL&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;DOGE&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;XAU/USD&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;h&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;now&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="mh"&gt;0xFFFFFF&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;for &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;s&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;syms&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;v&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;prices&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;v&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;h&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;imul&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;h&lt;/span&gt; &lt;span class="o"&gt;^&lt;/span&gt; &lt;span class="mh"&gt;0x9e3779b9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;v&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;h&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The seed changes every 3 seconds with new Pyth data. &lt;strong&gt;You can't reproduce yesterday's entropy run without yesterday's Pyth prices.&lt;/strong&gt; Each analysis is verifiably tied to the current market state.&lt;/p&gt;

&lt;p&gt;Each asset also gets its own independent RNG stream:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;rng&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;mulberry32&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;seed&lt;/span&gt; &lt;span class="o"&gt;^&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;si&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mh"&gt;0x9E3779B9&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Why we chose Gaussian Differential Entropy
&lt;/h4&gt;

&lt;p&gt;Classic Shannon entropy via quantile binning has a fatal flaw: binning your own sample always produces a near-uniform distribution → H = log₂(8) = 3.0 for &lt;strong&gt;every&lt;/strong&gt; asset. Completely useless.&lt;/p&gt;

&lt;p&gt;We use &lt;strong&gt;Gaussian Differential Entropy&lt;/strong&gt; instead:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;H(X) = ½ · ln(2πe · σ²)   [nats]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This gives real, meaningful separation:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Asset&lt;/th&gt;
&lt;th&gt;H (nats)&lt;/th&gt;
&lt;th&gt;What it means&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;USDC&lt;/td&gt;
&lt;td&gt;≈ −9&lt;/td&gt;
&lt;td&gt;Near-zero variance — most predictable asset&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;EUR/USD&lt;/td&gt;
&lt;td&gt;≈ −3&lt;/td&gt;
&lt;td&gt;Stable forex regime&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BTC&lt;/td&gt;
&lt;td&gt;≈ −1&lt;/td&gt;
&lt;td&gt;Volatile but structured&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DOGE&lt;/td&gt;
&lt;td&gt;≈  0&lt;/td&gt;
&lt;td&gt;Maximum chaos — near-random walk&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  NMI — The Hidden Connection Detector
&lt;/h4&gt;

&lt;p&gt;Normalized Mutual Information captures what Pearson completely misses:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NMI(X,Y) = I(X;Y) / √[H(X)·H(Y)]   ∈ [0, 1]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;strong&gt;Hidden Connections&lt;/strong&gt; panel flags pairs where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;|Pearson r| &amp;lt; 0.3&lt;/code&gt; — looks uncorrelated to standard tools&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;NMI &amp;gt; 0.4&lt;/code&gt; — but deeply structurally coupled&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are the relationships that most platforms &lt;strong&gt;never show you&lt;/strong&gt;. Volatility coupling, regime-dependent co-movement, lagged nonlinear dependencies — all invisible to Pearson, visible in NMI.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Bootstrap CI&lt;/strong&gt;: 60 iterations, 70% with-replacement resample&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live Run mode&lt;/strong&gt;: continuous recompute as new Pyth ticks arrive&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2e6d7r4l8olgvno5zind.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2e6d7r4l8olgvno5zind.png" alt=" " width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Pyth Hermes REST (~3s)
        │
        ├──→ pythSeed() → XOR hash → mulberry32 PRNG seed
        │
        ▼
  Rolling Buffer (200 ticks per asset)
        │
   ┌────┴──────────────────────┐
   ▼                           ▼
Pearson Matrix             Entropy Lab
(linear corr)         (Gaussian H + NMI)
   │                           │
   └──────────┬────────────────┘
              ▼
       Lead-Lag CCF(k)
              │
              ▼
    Pyth Benchmarks (OHLCV + 90d history)
              │
              ▼
         React + Canvas UI
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Data Sources
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Pyth Hermes — Live Prices
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;GET https://hermes.pyth.network/v2/updates/price/latest
    ?ids[]=&amp;lt;feed_id&amp;gt;&amp;amp;parsed=true
    Authorization: Bearer &amp;lt;PYTH_PRO_KEY&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;~400ms oracle latency · 3s dashboard refresh&lt;/p&gt;

&lt;h3&gt;
  
  
  Pyth Benchmarks — Historical OHLCV
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;GET https://benchmarks.pyth.network/v1/shims/tradingview/history
    ?symbol=Metal.XAU/USD&amp;amp;resolution=D&amp;amp;countback=300
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Returns &lt;code&gt;{t[], o[], h[], l[], c[], v[]}&lt;/code&gt; — all asset classes, one API.&lt;/p&gt;




&lt;h2&gt;
  
  
  28 Assets, 6 Classes, 1 Oracle
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Class&lt;/th&gt;
&lt;th&gt;Count&lt;/th&gt;
&lt;th&gt;Assets&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Crypto&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;BTC ETH SOL DOGE USDC AVAX ADA LINK UNI LTC DOT TRX APT SUI PEPE NEAR ATOM POL HYPE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;FX&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;EUR/USD · GBP/USD&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Metals&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;XAU/USD (Gold)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Energy&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;WTI (Crude Oil)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Equities&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;AAPL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Indices&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;SPY · QQQ · DIA · IWM&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;React 18 + Canvas API — zero chart libraries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Oracle (live)&lt;/td&gt;
&lt;td&gt;Pyth Hermes REST&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Oracle (history)&lt;/td&gt;
&lt;td&gt;Pyth Benchmarks OHLCV&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Entropy seed&lt;/td&gt;
&lt;td&gt;Pyth live prices → XOR hash → mulberry32 PRNG&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Math&lt;/td&gt;
&lt;td&gt;Custom JS: Pearson, Gaussian H, NMI, CCF — no external libs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hosting&lt;/td&gt;
&lt;td&gt;Vercel + Cloudflare DNS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security&lt;/td&gt;
&lt;td&gt;CSP / HSTS / X-Frame-Options — OWASP compliant&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Zero backend. Zero database. Everything client-side.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Design Decisions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Pyth prices as verifiable entropy source — not just data&lt;/strong&gt;&lt;br&gt;
The PRNG seed changes every 3 seconds with live oracle data. Each entropy computation is uniquely tied to the current market state. This is entropy &lt;em&gt;about&lt;/em&gt; the market, &lt;em&gt;from&lt;/em&gt; the market.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Gaussian H over Shannon binning&lt;/strong&gt;&lt;br&gt;
Quantile binning on own sample → uniform distribution → H = 3.0 for every asset. Gaussian differential entropy gives 9 nats of separation between USDC and DOGE. That's signal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Pyth Benchmarks replaced Binance entirely&lt;/strong&gt;&lt;br&gt;
One API. Zero CORS. All 6 asset classes. 300 bars per request. Daily resolution = 90-day correlation history for any pair.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. NMI reveals what Pearson hides&lt;/strong&gt;&lt;br&gt;
Pairs with &lt;code&gt;|r| &amp;lt; 0.35&lt;/code&gt; but &lt;code&gt;NMI &amp;gt; 0.40&lt;/code&gt; = structurally coupled assets invisible to every linear tool. These are real hidden connections.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Share Card for viral distribution&lt;/strong&gt;&lt;br&gt;
One click → 1200×1200 PNG → post on X. Every shared card has &lt;code&gt;LIVE · PYTH ORACLE&lt;/code&gt; attribution.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Risk:&lt;/strong&gt; r &amp;gt; 0.85 between two positions = one concentrated risk, not two hedges&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alpha:&lt;/strong&gt; BTC leads ETH by 2-3 ticks = actionable lead-lag signal&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regime:&lt;/strong&gt; BTC/Gold correlation spike = macro is taking over crypto&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Entropy:&lt;/strong&gt; DOGE at H ≈ 0 during news = distribution breakdown, stop-losses meaningless&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hidden connections:&lt;/strong&gt; NMI catches what Pearson misses — the real market structure&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Built with ❤ by rustrell · Pyth Network Hackathon 2026&lt;/em&gt;&lt;br&gt;
&lt;em&gt;© 2026 rustrell. All rights reserved.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>website</category>
      <category>hackathon</category>
    </item>
  </channel>
</rss>
