回答 · Steam · Drops
APIでピナクルのsteamを検知
回答: Builderでブックをストリームし、アウトカムごとにローリング高値を持ち、約2分以内にdecimalが≥5%短縮し maxStake が十分(例≥100)ならアラートします。または GET /v1/drops?sport=soccer&live=true&minutes=10&min_pct=5 をポール。全文:steamガイド。
実務的な定義#
- 窓内高値から価格が 5% 以上下落(
MIN_DROPで調整)。 - 窓 ≈ 2分(
WINDOW_S)。 - 薄いラインのスパムを避けるため意味のある max stake を優先。
- アウトカム×窓ごとに 1回 アラート。
シャープ監視で使う統計シグナルであり、予想でも+EV保証でもありません。
WebSocket概要(Builder)#
Pythonガイド の共有クライアント(on_market)を再利用:
# Example outline — full steam.py is in the steam guide
from collections import defaultdict, deque
import time
WINDOW_S, MIN_DROP, MIN_STAKE = 120, 0.05, 100
hist = defaultdict(deque) # key -> deque[(ts, decimal)]
def on_market(old, new, event):
if not event or (new.get("maxStake") or 0) < MIN_STAKE:
return
now = time.time()
for o in new["outcomes"]:
if o["name"] not in {"home", "away", "draw", "over", "under"}:
continue
k = (new["id"], o["name"])
q = hist[k]
q.append((now, o["decimal"]))
while q and now - q[0][0] > WINDOW_S:
q.popleft()
peak = max(p for _, p in q)
drop = (peak - o["decimal"]) / peak
if drop >= MIN_DROP:
print(f"STEAM {event['home']} v {event['away']} {new['type']} {o['name']}: "
f"{peak:.3f} -> {o['decimal']:.3f} ({drop:.1%}) max {new.get('maxStake')}")
q.clear() # one alert per window
CTA#
Builder(99€/月)。3日間トライアル、カード必須。無料REST:signup。 関連:dropping odds、steam Telegram。
よくある質問#
Freeで足りますか?#
/v1/drops なら可(30秒遅延)。リアルタイムWS検知はBuilder。
成人向けの教育コンテンツですか?#
はい(18+)。
18歳以上の方を対象とした教育目的のコンテンツです。予想や利益の約束ではありません。日本では刑法により賭博は原則として禁止されています。