The Macro Dashboard
Weekly public macro dashboard summary: KISS, liquidity cycle, and Gavekal regime. No personal allocations or private portfolio data.
npub1ggv37sg25hqdshukg73euewe4v0rtynasxgeemlk3tqltwzc3qvqekc8ey Follow The Macro Dashboard on Nostr for public model updates. The Weekly account posts a broader weekly macro snapshot; the KISS account posts allocation-change alerts when the public model changes.
Weekly public macro dashboard summary: KISS, liquidity cycle, and Gavekal regime. No personal allocations or private portfolio data.
npub1ggv37sg25hqdshukg73euewe4v0rtynasxgeemlk3tqltwzc3qvqekc8ey Public portfolio allocation change alerts from The Macro Dashboard. Posts only when model allocations change.
npub150fv78pdf2w6xxl732jzew2vta2nkwsgds0cverg62xtxd9ggk4s4ftjs0 These JSON files are published for direct use in apps, notebooks, dashboards, and automation. Prefer current-signal endpoints when you only need the latest state; use full snapshots when you need tables, methodology notes, or chart series.
| Name | URL | Use |
|---|---|---|
| Combined current dashboard | /data/macro-status.json | Compact summary of all three current regimes. |
| Portfolio full snapshot | /data/kiss-status.json | Full portfolio regime, allocation, VAMS, liquidity, GRID, history, and methodology payload. |
| Portfolio current signal | /data/current-kiss.json | Small integration contract for current portfolio regime and allocation. |
| Liquidity full snapshot | /data/liquidity-status.json | Full liquidity cycle, nowcast, indicators, history, and methodology payload. |
| Liquidity current signal | /data/current-liquidity.json | Small integration contract for current cycle and nowcast regimes. |
| Gavekal full snapshot | /data/gavekal-status.json | Full Gavekal quadrant, ratios, charts, and implementation notes payload. |
| Gavekal current signal | /data/current-gavekal.json | Small integration contract for the active quadrant and current ratio states. |
A Google Sheet can pull the current portfolio allocation JSON and turn it into target dollar amounts for a real portfolio. This example uses the compact current-kiss.json endpoint.
B1.=KISS_ALLOCATIONS($B$1) in A3. Format the Target % column as percent and Target $ as currency.Target $ - Current $. For example, if Target $ is in D4 and Current $ is in F4, use =D4-F4.function KISS_ALLOCATIONS(portfolioValue) {
const total = Number(portfolioValue || 0);
const url = 'https://themacrodashboard.com/data/current-kiss.json';
const res = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
const data = JSON.parse(res.getContentText());
const rows = [['Asset', 'Symbol', 'Target %', 'Target $', 'VAMS']];
data.allocation.forEach((row) => {
rows.push([
row.label,
row.symbol,
row.actualWeight,
total * row.actualWeight,
row.vams,
]);
});
return rows;
} The JSON target weights are model outputs, not account-specific advice. Sheets should treat missing/stale data as unavailable, and humans should decide whether and how to trade.