← Назад

Options Screener API v2

API для получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡŽΡ‚Π½Ρ‹ΠΌ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°ΠΌ с Binance.

Доступ ΠΊ API

API доступСн ΠΏΠΎ адрСсу https://options.szhub.space Ρ‡Π΅Ρ€Π΅Π· Nginx (проксируСт Π½Π° ΠΏΠΎΡ€Ρ‚ 8080).

WebSocket: wss://options.szhub.space

Π‘Π΅Ρ€Π²Π΅Ρ€

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ сСрвСру

ssh root@76.13.138.220
su - app
cd /home/app/options-backend

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сСрвисом

pm2 status          # статус
pm2 logs options    # Π»ΠΎΠ³ΠΈ
pm2 restart options # пСрСзапуск
pm2 stop options    # остановка
pm2 start index.js --name options  # запуск

API Endpoints

Health Check (ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ)

GET /health

Бписок Π΄Π°Ρ‚ экспирации

GET /api/expiries
Header: x-api-key: my_secret_key_12345

Бтатистика

GET /api/summary
Header: x-api-key: my_secret_key_12345

ΠžΠΏΡ†ΠΈΠΎΠ½Ρ‹ с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ

GET /api/options
Header: x-api-key: my_secret_key_12345

ДоступныС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€
underlying Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Π°ΠΊΡ‚ΠΈΠ² BTC, ETH
type Π’ΠΈΠΏ ΠΎΠΏΡ†ΠΈΠΎΠ½Π° CALL, PUT
expiry Π”Π°Ρ‚Π° экспирации 260207
minVolume Мин. ΠΎΠ±ΡŠΡ‘ΠΌ 100
maxVolume Макс. ΠΎΠ±ΡŠΡ‘ΠΌ 1000
minDelta Мин. Π΄Π΅Π»ΡŒΡ‚Π° 0.4
maxDelta Макс. Π΄Π΅Π»ΡŒΡ‚Π° 0.6
minGamma Мин. гамма 0.001
maxGamma Макс. гамма 0.01
minTheta Мин. Ρ‚Π΅Ρ‚Π° -500
maxTheta Макс. Ρ‚Π΅Ρ‚Π° -100
minVega Мин. вСга 5
maxVega Макс. вСга 20
minIV Мин. implied volatility 0.5
maxIV Макс. implied volatility 2.0

Top Movers (Π»ΠΈΠ΄Π΅Ρ€Ρ‹ роста/падСния)

GET /api/top-movers
Header: x-api-key: my_secret_key_12345

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
limit Кол-Π²ΠΎ записСй Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ 10
underlying Π€ΠΈΠ»ΡŒΡ‚Ρ€ ΠΏΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡƒ Π°ΠΊΡ‚ΠΈΠ²Ρƒ (BTC, ETH) всС

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°

{
  "lastUpdate": "2026-02-07T10:00:00.000Z",
  "limit": 10,
  "gainers": [
    {
      "symbol": "BTC-260214-100000-C",
      "priceChange": "1200",
      "priceChangePercent": "45.5",
      "lastPrice": "3840",
      "volume": "25.10"
    }
  ],
  "losers": [
    {
      "symbol": "ETH-260207-3000-P",
      "priceChange": "-800",
      "priceChangePercent": "-60.2",
      "lastPrice": "530",
      "volume": "12.50"
    }
  ]
}

Unusual Volume (Π°Π½ΠΎΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΡ‘ΠΌ)

GET /api/unusual-volume
Header: x-api-key: my_secret_key_12345

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
underlying Π€ΠΈΠ»ΡŒΡ‚Ρ€ ΠΏΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡƒ Π°ΠΊΡ‚ΠΈΠ²Ρƒ (BTC, ETH) всС
limit Макс. кол-во записСй 20

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‚Π°

{
  "lastUpdate": "2026-02-07T10:00:00.000Z",
  "avgVolume": 15.3,
  "threshold": 30.6,
  "count": 5,
  "data": [
    {
      "symbol": "BTC-260214-100000-C",
      "volume": "120.50",
      "lastPrice": "3840",
      "priceChange": "500",
      "ratio": 7.88
    }
  ]
}

WebSocket

Real-time обновлСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· WebSocket.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

wss://options.szhub.space

ΠšΠ°Π½Π°Π»Ρ‹

Канал ОписаниС
BTC ВсС ΠΎΠΏΡ†ΠΈΠΎΠ½Ρ‹ Π½Π° BTC
ETH ВсС ΠΎΠΏΡ†ΠΈΠΎΠ½Ρ‹ Π½Π° ETH
all ВсС ΠΎΠΏΡ†ΠΈΠΎΠ½Ρ‹ (BTC + ETH)
top-movers Π›ΠΈΠ΄Π΅Ρ€Ρ‹ роста ΠΈ падСния
unusual-volume ΠžΠΏΡ†ΠΈΠΎΠ½Ρ‹ с Π°Π½ΠΎΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠΌ

Подписка на канал

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ JSON-сообщСниС:

{"subscribe": "BTC"}

ΠžΡ‚ΠΏΠΈΡΠΊΠ° ΠΎΡ‚ ΠΊΠ°Π½Π°Π»Π°

{"unsubscribe": "BTC"}

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π° сСрвСра

{
  "channel": "BTC",
  "data": { ... },
  "timestamp": "2026-02-07T10:00:00.000Z"
}

Heartbeat

Π‘Π΅Ρ€Π²Π΅Ρ€ отправляСт ping ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 30 сСкунд для поддСрТания соСдинСния. ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ pong.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (JavaScript)

const ws = new WebSocket("wss://options.szhub.space");

ws.onopen = () => {
  ws.send(JSON.stringify({ subscribe: "BTC" }));
  ws.send(JSON.stringify({ subscribe: "top-movers" }));
};

ws.onmessage = (event) => {
  const msg = JSON.parse(event.data);
  console.log(`[${msg.channel}]`, msg.data);
};

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ запросов

# Health check
curl https://options.szhub.space/health

# ВсС ΠΎΠΏΡ†ΠΈΠΎΠ½Ρ‹
curl -H "x-api-key: my_secret_key_12345" \
  "https://options.szhub.space/api/options"

# BTC CALL ΠΎΠΏΡ†ΠΈΠΎΠ½Ρ‹
curl -H "x-api-key: my_secret_key_12345" \
  "https://options.szhub.space/api/options?underlying=BTC&type=CALL"

# ΠžΠΏΡ†ΠΈΠΎΠ½Ρ‹ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π΄Π°Ρ‚Ρƒ
curl -H "x-api-key: my_secret_key_12345" \
  "https://options.szhub.space/api/options?underlying=BTC&expiry=260207"

# ATM ΠΎΠΏΡ†ΠΈΠΎΠ½Ρ‹ (delta 0.4-0.6)
curl -H "x-api-key: my_secret_key_12345" \
  "https://options.szhub.space/api/options?underlying=BTC&minDelta=0.4&maxDelta=0.6"

# ΠžΠΏΡ†ΠΈΠΎΠ½Ρ‹ с высоким ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠΌ
curl -H "x-api-key: my_secret_key_12345" \
  "https://options.szhub.space/api/options?minVolume=100"

# Top movers β€” BTC, Ρ‚ΠΎΠΏ 5
curl -H "x-api-key: my_secret_key_12345" \
  "https://options.szhub.space/api/top-movers?underlying=BTC&limit=5"

# Unusual volume
curl -H "x-api-key: my_secret_key_12345" \
  "https://options.szhub.space/api/unusual-volume?underlying=ETH&limit=10"

# Бписок экспираций
curl -H "x-api-key: my_secret_key_12345" \
  "https://options.szhub.space/api/expiries"

# Бтатистика
curl -H "x-api-key: my_secret_key_12345" \
  "https://options.szhub.space/api/summary"

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΎΡ‚Π²Π΅Ρ‚Π° /api/options

{
  "lastUpdate": "2026-02-06T07:26:24.667Z",
  "count": 2,
  "filters": {"underlying": "BTC", "type": "CALL"},
  "data": [
    {
      "symbol": "BTC-260207-65000-C",
      "priceChange": "-955",
      "lastPrice": "1500",
      "volume": "15.89",
      "greeks": {
        "delta": "0.52129532",
        "gamma": "0.00010023",
        "theta": "-773.64478105",
        "vega": "13.73117089",
        "markIV": "1.16488146"
      }
    }
  ]
}

Π€Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

/home/app/options-backend/
β”œβ”€β”€ index.js       # Основной ΠΊΠΎΠ΄ API + WebSocket
β”œβ”€β”€ package.json   # Зависимости
β”œβ”€β”€ .env           # ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ (PORT, API_KEY)
β”œβ”€β”€ .gitignore     # Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹
└── README.md      # ДокумСнтация

.env Ρ„Π°ΠΉΠ»

PORT=8080
API_KEY=my_secret_key_12345

Git Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

https://github.com/Zserg5585/option-screener-v1

git add .
git commit -m "описаниС измСнСний"
git push

Dashboard β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ экран

GET /api/dashboard
Header: x-api-key: <key>

АгрСгируСт всС сигналы Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π΅, отсортированных ΠΏΠΎ confidence (0–95).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ сигналов

Π’ΠΈΠΏ БтратСгия ΠžΡ‚ΠΊΡƒΠ΄Π°
ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ стратСгии Long/Short Straddle, Iron Condor, Bull Call Spread, Bear Put Spread, Calendar Spread, Covered Call, Protective Put, Butterfly strategies.js
ΠΠ½ΠΎΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΡ‘ΠΌ Unusual Volume (VOI β‰₯ 5Γ—) unusualVolume.js
Π“Π°ΠΌΠΌΠ°-ΠΈΠ³Ρ€Π° Gamma Play (EXTREME/HIGH) gammaPlay.js
IV Skew BULLISH / STRONG_BEARISH ivSkew.js

Π€ΠΎΡ€ΠΌΠ°Ρ‚ сигнала

{
  "id": "bull_call_spread_btc",
  "strategy": "Bull Call Spread",
  "signal": "BUY_BULL_CALL_SPREAD",
  "underlying": "BTC",
  "direction": "BULLISH",
  "confidence": 73,
  "severity": "HIGH",
  "parameters": {
    "pcrAvg": 0.45,
    "skew25d": -0.06,
    "ivRank": 52.3,
    "spot": 95000
  },
  "description": "Bull Call Spread ΠΏΠΎ BTC: ΠΏΠΎΠΊΡƒΠΏΠΊΠ° ATM call + ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ° OTM call",
  "rationale": "PCR 0.45 β€” ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π±Ρ‹Ρ‡ΠΈΠΉ сигнал. Negative skew (-0.060) β€” Ρ€Ρ‹Π½ΠΎΠΊ ΠΏΠΎΠΊΡƒΠΏΠ°Π΅Ρ‚ upside. Max pain Π²Ρ‹ΡˆΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ†Π΅Π½Ρ‹.",
  "timestamp": "2026-02-26T10:00:00.000Z"
}

ЗначСния direction

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Бмысл
BULLISH НаправлСнная ставка Π²Π²Π΅Ρ€Ρ…
BEARISH НаправлСнная ставка Π²Π½ΠΈΠ·
NEUTRAL Π Ρ‹Π½ΠΎΡ‡Π½ΠΎ-Π½Π΅ΠΉΡ‚Ρ€Π°Π»ΡŒΠ½Π°Ρ стратСгия
NEUTRAL_VOLATILE ΠΠ΅ΠΉΡ‚Ρ€Π°Π»ΡŒΠ½Π°Ρ, Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ
NEUTRAL_RANGE ΠΠ΅ΠΉΡ‚Ρ€Π°Π»ΡŒΠ½Π°Ρ, Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π²ΠΎ флэтС
NEUTRAL_BULLISH ΠΠ΅ΠΉΡ‚Ρ€Π°Π»ΡŒΠ½Π°Ρ с Π±Ρ‹Ρ‡ΡŒΠΈΠΌ ΡƒΠΊΠ»ΠΎΠ½ΠΎΠΌ
BULLISH_HEDGED Π‘Ρ‹Ρ‡ΡŒΡ позиция с Ρ…Π΅Π΄ΠΆΠ΅ΠΌ

TODO


Roadmap

v2.1 β€” Π Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ IV Rank (ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚: высокий)

БСйчас ivRank считаСтся ΠΏΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈΠ΄Π½Π΅Π²Π½ΠΎΠΌΡƒ срСзу ΠΎΠΏΡ†ΠΈΠΎΠ½ΠΎΠ². Для настоящСго IV Rank Π½ΡƒΠΆΠ½Π° 30-днСвная история.

v2.2 β€” АлСрты (ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚: высокий)

v2.3 β€” WebSocket ΠΊΠ°Π½Π°Π» dashboard

v2.4 β€” Deribit ΠΊΠ°ΠΊ Π²Ρ‚ΠΎΡ€ΠΎΠΉ источник Π΄Π°Π½Π½Ρ‹Ρ…

v2.5 β€” БэктСстинг сигналов

v2.6 β€” Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄

v2.7 β€” Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ