Follow

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.

The Macro Dashboard avatar

The Macro Dashboard

Weekly public macro dashboard summary: KISS, liquidity cycle, and Gavekal regime. No personal allocations or private portfolio data.

Follow on Nostr npub1ggv37sg25hqdshukg73euewe4v0rtynasxgeemlk3tqltwzc3qvqekc8ey
The Macro Dashboard - KISS avatar

The Macro Dashboard - KISS

Public portfolio allocation change alerts from The Macro Dashboard. Posts only when model allocations change.

Follow on Nostr npub150fv78pdf2w6xxl732jzew2vta2nkwsgds0cverg62xtxd9ggk4s4ftjs0

Data

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.

Endpoints

NameURLUse
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.

Google Sheets example

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.

  1. Create a Google Sheet and enter your total portfolio value in B1.
  2. Go to Extensions → Apps Script, paste this custom function, save it, then authorize it when prompted.
  3. Back in the sheet, enter =KISS_ALLOCATIONS($B$1) in A3. Format the Target % column as percent and Target $ as currency.
  4. Add your current brokerage values next to the output, then calculate trade amounts with 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.