Alpaca is not configured. US stock data will fail or fall back to weaker free providers (Stooq/Yahoo) and hourly data won't be available until credentials are added.
Add these environment variables in Coolify → bendik-trader app → Environment Variables:
ALPACA_API_KEY_ID
ALPACA_API_SECRET_KEY
Restart/redeploy the app after saving. Do not paste API keys into this dashboard — credentials must stay server-side only.
Provider/sync issues — click to expand
Controls
Pick interval, timeframe, and the stocks to chart. Only selected symbols are synced.
Interval
Timeframe
Actions
Tracked stocks (check to include in charts)
loading instruments…
Add instrument
BTC + Top 5 Correlated Stocks
BTC-USD price on the left axis, top 5 correlated stocks rebased to % change from start on the right axis. Time on the bottom.
Drag to pan, scroll/pinch to zoom.
Data Sync Status
Provider config, current selection, and per-symbol cache state.
Alpaca
—
Database
—
Interval
—
Timeframe
—
Selected symbols
—
Last sync duration
—
Bar table
—
Cache warm jobs
idle
non-blocking; runs in background
Symbol
Source
Rows
Last bar
Synced
Provider errors
BTC price (USD & GBP)
BTC-USD on left axis, BTC-GBP on right axis.
Selected stocks
Raw close prices in each stock's native currency.
Normalised performance (rebased to 100)
Every series rebased to 100 on the first aligned timestamp.
Correlation vs BTC-USD
Pearson correlation of daily % returns over the selected timeframe. Sorted highest first.
Correlation table
Click a column to sort. Default: highest correlation first.
#
Ticker
Company
Correlation
Stock %
BTC %
Points
First
Last
loading…
Project Wiki & Roadmap
A living explanation of what this dashboard does, how it works, and where it's heading. Always visible — no admin required.
What this dashboard does
Tracks Bitcoin price in USD and GBP.
Tracks selected crypto-related public equities.
Stores historical market data in Postgres (price_bars).
Calculates Pearson correlation between stock returns and BTC returns.
Renders charts across selectable timeframes (daily and hourly).
How correlation works
Computed on percentage returns, not raw prices.
BTC trades 24/7; stocks trade 5×/week, so series are aligned by shared timestamps only.
Minimum overlap: 10 points (daily) or 30 points (hourly).
Range: -1 (perfectly inverse) to +1 (perfectly aligned).
Current architecture
Node.js 20 + Express 4
Static HTML/CSS/JS (no framework) + Chart.js 4 + zoom plugin