Назад към всички

crypto-regime-report

// Generate market regime reports for crypto perpetuals using Supertrend and ADX indicators. Use when the user asks for a regime check, market report, trend analysis, or scheduled morning/evening crypto updates. Reports include price action, trend direction/strength, funding rates, open interest, volum

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namecrypto-regime-report
descriptionGenerate market regime reports for crypto perpetuals using Supertrend and ADX indicators. Use when the user asks for a regime check, market report, trend analysis, or scheduled morning/evening crypto updates. Reports include price action, trend direction/strength, funding rates, open interest, volume analysis, and BTC correlation for a configurable watchlist.
metadata[object Object]

Crypto Regime Report

Generate regime reports for crypto perpetual futures using technical indicators.

Quick Start

# Run a daily regime report
python3 {baseDir}/scripts/regime_report.py

# Run a weekly regime report
python3 {baseDir}/scripts/regime_report.py --weekly

Or ask directly: "What's the regime on BTC?" or "Run a market report."

Note: The script outputs a formatted report to stdout. The agent handles delivery (e.g., sending to Telegram, displaying in chat).


What's Included in Reports

Price & Trend:

  • Current price + 24h change
  • Regime classification (Strong Bull/Bear, Weak Bull/Bear, Ranging)
  • ADX value (trend strength)
  • Trend direction (bullish/bearish based on Supertrend)
  • Distance from Supertrend line (%)

Volume & Liquidity:

  • Volume vs 20-day average (%)
  • 🔇 = low volume, 🔊 = high volume

Perpetuals Data:

  • Funding rate + change direction (↑↓→)
  • Open Interest (current, in $B)
  • 🔥 = elevated funding rate

Market Context:

  • BTC correlation (0.0 to 1.0)
  • 🔗 = high correlation (> 0.7)

Setup Guide

1. Configure Your Watchlist

Option A: Edit the default config

Edit {baseDir}/references/config.json to customize your asset list:

{
  "watchlist": [
    {"symbol": "BTC", "name": "Bitcoin", "okx": "BTC-USDT-SWAP"},
    {"symbol": "ETH", "name": "Ethereum", "okx": "ETH-USDT-SWAP"}
  ],
  "indicators": {
    "supertrend": { "period": 10, "multiplier": 3 },
    "adx": { "period": 14, "strong_threshold": 25, "weak_threshold": 20 }
  }
}

Option B: Use a custom config file

# Via environment variable (must be relative path within skill directory)
REGIME_CONFIG=references/my-config.json python3 {baseDir}/scripts/regime_report.py

Security note: For security, config paths are restricted to the skill directory. Absolute paths and path traversal (e.g., ../) are not allowed.

An example config is provided at {baseDir}/references/config.example.json — copy and modify it for your needs.

Config fields:

  • symbol — Short ticker (used for display)
  • name — Full name (used for display)
  • okx — OKX perpetual symbol (must match OKX's format: ASSET-USDT-SWAP)

To find OKX symbols: Visit OKX Markets or use:

curl -s "https://www.okx.com/api/v5/public/instruments?instType=SWAP"
# Optionally pipe through jq to filter: | jq '.data[].instId'

2. Configure Indicator Settings

Adjust in config.json:

SettingDefaultDescription
supertrend.period10Lookback period for ATR calculation
supertrend.multiplier3.0ATR multiplier for band width
adx.period14Lookback period for ADX
adx.strong_threshold25ADX level for "strong" trend
adx.weak_threshold20ADX level for "weak" trend

3. Set Up Scheduled Reports (Optional)

Use OpenClaw's cron system to receive reports automatically.

Via CLI:

# Morning report (6am PST)
openclaw cron add \
  --name "Morning Regime Report" \
  --schedule "0 6 * * *" \
  --timezone "America/Los_Angeles" \
  --message "Run the crypto regime morning report"

# Evening report (3pm PST)
openclaw cron add \
  --name "Evening Regime Report" \
  --schedule "0 15 * * *" \
  --timezone "America/Los_Angeles" \
  --message "Run the crypto regime evening report"

# Friday weekly summary (4pm PST)
openclaw cron add \
  --name "Friday Weekly Summary" \
  --schedule "0 16 * * 5" \
  --timezone "America/Los_Angeles" \
  --message "Run the crypto regime weekly report with --weekly flag"

Via config (~/.openclaw/openclaw.json):

{
  // ... other config ...
  "cron": {
    "jobs": [
      {
        "name": "Morning Regime Report",
        "schedule": { "kind": "cron", "expr": "0 6 * * *", "tz": "America/Los_Angeles" },
        "sessionTarget": "isolated",
        "payload": { "kind": "agentTurn", "message": "Run the crypto regime morning report" },
        "delivery": { "mode": "announce" }
      },
      {
        "name": "Evening Regime Report",
        "schedule": { "kind": "cron", "expr": "0 15 * * *", "tz": "America/Los_Angeles" },
        "sessionTarget": "isolated",
        "payload": { "kind": "agentTurn", "message": "Run the crypto regime evening report" },
        "delivery": { "mode": "announce" }
      },
      {
        "name": "Friday Weekly Summary",
        "schedule": { "kind": "cron", "expr": "0 16 * * 5", "tz": "America/Los_Angeles" },
        "sessionTarget": "isolated",
        "payload": { "kind": "agentTurn", "message": "Run the crypto regime weekly report with --weekly flag" },
        "delivery": { "mode": "announce" }
      }
    ]
  }
}

4. Test the Reports

# Test daily report
python3 {baseDir}/scripts/regime_report.py

# Test weekly report
python3 {baseDir}/scripts/regime_report.py --weekly

What It Does

  1. Fetches OHLCV data from OKX for each asset on the watchlist
  2. Calculates Supertrend to determine trend direction
  3. Calculates ADX to measure trend strength
  4. Fetches current funding rates and open interest
  5. Outputs a formatted report suitable for Telegram delivery

Indicators

Supertrend (10, 3)

  • Period: 10
  • Multiplier: 3
  • Bullish: Price above Supertrend line
  • Bearish: Price below Supertrend line

ADX (Average Directional Index)

  • > 25: Strong trend (bull or bear)
  • 20-25: Weak/moderate trend
  • < 20: No clear trend / ranging

Regime Classification

SupertrendADXRegime
Bullish> 25Strong Bull
Bullish20-25Weak Bull
Bearish> 25Strong Bear
Bearish20-25Weak Bear
Either< 20Ranging

Data Sources

DataSourceNotes
Daily OHLCVOKX APIFree, no key required
Weekly OHLCVYahoo Finance11+ years history, OKX fallback
Funding RatesOKX APIFree, no key required
Open InterestOKX APIFree, no key required

OKX API endpoints:

  • OHLCV: /api/v5/market/candles
  • Funding: /api/v5/public/funding-rate
  • Open Interest: /api/v5/public/open-interest

Resources

scripts/

  • regime_report.py — Main script that fetches data and generates the report

references/

  • config.json — Default watchlist configuration (edit this to customize)
  • config.example.json — Example config you can copy and modify