tweet-price-charts

Correlates $THREE token price action with three.ws’s X (Twitter) posts, and renders an interactive TradingView-style chart with every post plotted as an avatar bubble on the candles — inspired by rohunvora/tweet-price-charts.

What’s here

generate.mjs        # the analyzer + chart generator (Node, zero deps)
data/               # scraped tweets (trythreews + nichxbt), input
assets/             # real X avatars, embedded into the chart as base64
out/
  chart.html        # ← open this. self-contained interactive chart
  chart.json        # correlation stats (original posts only)
  chart.csv         # per-post detail: 1h/4h/24h returns
  *-with-replies.*  # same, but including replies/retweets

The chart (out/chart.html)

Self-contained — just open it in a browser (loads TradingView lightweight-charts from CDN; all data + avatars are baked in).

How returns are measured

For each post at time T, the entry price is the $THREE hourly candle close at-or-just-before T. Then +Nh = (close N hours after T − entry) / entry × 100. Price history is hourly (and 15-minute for the chart) OHLCV from GeckoTerminal for the $THREE/SOL pump.swap pool.

Key findings (original posts only, Apr 29 – Jun 15 2026, n=405)

Using median returns (a memecoin’s mean is dominated by fat-tail outliers):

Window Post median Random-hour baseline Edge Win rate
+1h −1.25% −0.59% −0.66pp 46%
+4h −1.30% −1.61% +0.32pp 45%
+24h +8.18% +1.87% +6.31pp 59%

Caveats: overlapping 24h windows inflate significance; reverse causality (we post more around events) can’t be ruled out; single token in an uptrend regime. Suggestive, not causal.

Regenerate

node generate.mjs --accounts trythreews,nichxbt --chart \
  data/trythreews_tweets_2026-06-15.json \
  "data/nichxbt_tweets_2026-06-15.json" \
  "data/nichxbt_tweets_2026-06-15 (1).json" \
  "data/nichxbt_tweets_2026-06-15 (2).json" \
  "data/i_tweets_2026-06-15.json" \
  "data/i_tweets_2026-06-15 (1).json" \
  --out out/chart

Flags: --accounts a,b restrict to owned handles · --own original posts only (drop replies/RTs) · --chart also emit the HTML · --out <base> output path prefix.

Price data: GeckoTerminal (free, no key). No mocks, no synthetic data.