API для получения данных по криптовалютным опционам с Binance.
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 # запуск
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 |
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"
}
]
}
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
}
]
}
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"
}
Сервер отправляет ping каждые 30 секунд для поддержания соединения. Клиент должен отвечать pong.
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"
{
"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 # Документация
PORT=8080
API_KEY=my_secret_key_12345
https://github.com/Zserg5585/option-screener-v1
git add .
git commit -m "описание изменений"
git push
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 |
Бычья позиция с хеджем |
Сейчас ivRank считается по внутридневному срезу опционов.
Для настоящего IV Rank нужна 30-дневная история.
ivRank и ivPercentile по реальной 30-дневной истории/api/signals/iv-analysisconfidence ≥ 75dashboarddashboard в WebSocketexchange в каждый опцион/api/backtest — статистика точности по стратегиям/api/dashboard + WebSocket/api/options (сейчас отдаёт весь массив)