+

トレーディングシステム向けニュースAPI

2つのストリーム、1つの記事。Rawストリームはfinlightが取り込んだ瞬間に見出しを配信します。エンリッチドストリームは約28秒後にセンチメント、ティッカー、エンティティを付与して続きます。システムはまず反応し、次に精緻化します。

仕組み

同じ記事が2回届く

デュアルストリームパターンの実際の通信内容です。最初にRawメッセージ、次に同じ記事のエンリッチド版がlinkで紐付けられて届きます。

Raw stream, wss://wss.finlight.me/raw
{
  "title": "S&P 500, Dow futures inch up as MidEast hopes offset SpaceX, AMD drag",
  "link": "https://www.reuters.com/business/...",
  "source": "www.reuters.com",
  "summary": "Contracts tracking the S&P 500 and the Dow edged up on Wednesday ...",
  "language": "en",
  "publishDate": "2026-08-05T09:32:26.959Z",
  "createdAt": "2026-08-05T09:32:41.103Z"
}
Enriched stream, ~28s later, same link
{
  "title": "S&P 500, Dow futures inch up as MidEast hopes offset SpaceX, AMD drag",
  "link": "https://www.reuters.com/business/...",
  "sentiment": "positive",
  "confidence": "0.9702919721603394",
  "categories": ["business", "markets"],
  "countries": ["US"],
  "companies": [
    {
      "ticker": "NVDA",
      "name": "NVIDIA Corporation",
      "exchange": "XNAS",
      "isin": "US67066G1040"
    },
    {
      "ticker": "AMD",
      "name": "Advanced Micro Devices, Inc.",
      "exchange": "XNAS",
      "isin": "US0079031078"
    }
  ]
}

ペイロードは省略表示。各企業エンティティはプライマリ上場に加え、取引所別のクロスリスティング(MICコード)を持つため、1つの記事が複数市場の銘柄にマッピングされます。完全なフィールドリファレンスはドキュメントをご覧ください。 docs.

はじめに

デュアルストリームパターンをあなたの言語で

1つのクライアントで両方のストリームをサブスクライブ。Rawメッセージで反応し、完全なデータが届いたらエンリッチメントを適用。あとはAPIキーを設定するだけです。

import { FinlightApi } from 'finlight-client'

const api = new FinlightApi(
  { apiKey: process.env.FINLIGHT_API_KEY! },
  { takeover: true },
)

const seen = new Map<string, number>()

// Raw stream: instant delivery, react immediately
api.rawWebsocket.connect({ language: 'en' }, (raw) => {
  seen.set(raw.link, Date.now())
  if (/earnings|acquisition|merger|FDA|rate decision/i.test(raw.title)) {
    console.log(`[SIGNAL] ${raw.title} (${raw.source})`)
    // your reaction logic here
  }
})

// Enriched stream: sentiment, entities, tickers
api.websocket.connect({ language: 'en', includeEntities: true }, (article) => {
  const t = seen.get(article.link)
  const delta = t ? `${((Date.now() - t) / 1000).toFixed(1)}s after raw` : 'new'
  console.log(`[ENRICHED] ${article.title} (${delta})`)
  console.log(
    `  sentiment=${article.sentiment} confidence=${article.confidence}`,
  )
  console.log(`  tickers=${article.companies?.map((c) => c.ticker).join(',')}`)
  seen.delete(article.link)
})

SDKは再接続、ハートビート、接続ローテーションを自動で処理します。npm install finlight-client または pip install finlight-client でインストールしてください。

率直な比較

自前で構築する場合との比較

スクレイパー群とRSSポーラーがあれば見出しは取得できます。重複排除が不要な単一ソースであれば、それが正解かもしれません。コストは後から現れます:同じニュースが5つのアグリゲーターから5回届き、パブリッシャーのマークアップ変更で午前3時にパーサーが壊れ、戦略と並行してセンチメントモデルも保守することになります。汎用ニュースAPIはスクレイピングを省きますがノイズは残ります。ティッカーマッピングと金融関連ソースのキュレーションこそ、それらが省略する部分だからです。finlightの役割はその中間レイヤーです:重複排除された取り込み、エンティティとティッカーのタグ付け、センチメント、そして反応速度とデータの深さを分離するストリームアーキテクチャ。

レイテンシー

「約28秒」の正確な意味

この市場のレイテンシーに関する主張は、4つの異なる時計を混同しています:パブリッシャーが公開した時刻、プロバイダーが記事を発見した時刻、インデックスされた時刻、そしてあなたに届いた時刻。私たちが公開する数値は1つであり、内部計測値です:平均して、Rawストリームは同じ記事のエンリッチド版より約28秒早く配信します。これはエンリッチメントパイプラインのコスト(センチメント分析、エンティティ解決、ティッカーマッチング)であり、Rawストリームはこれを完全にスキップします。エンドツーエンドの公開から配信までの数値は公表しません。その数値は私たちが制御できないパブリッシャーのタイムスタンプに依存するためです。ベンダーが計測対象の時計を明示せずに単一のミリ秒値を提示してきたら、確認してください。

デュアルストリームパターンはそのデルタを優位性に変えます:Rawメッセージは記事の存在をシステムに伝え、見出しフィルターを即座に発火させます。エンリッチドメッセージはポジションロジックがまだ稼働している間に届き、センチメント、信頼度、タグ付き銘柄を追加します。記事の一部のみエンリッチメントが必要な場合は、エンリッチドストリームをスキップし、必要な記事に対してGET /v2/articles/by-linkをオンデマンドで呼び出してください。

Rawストリームの技術的背景を読む: How I Cut 28 Seconds Off Financial News Delivery

クエリ言語

コード内ではなくソース側でフィルタリング

ストリームとREST APIは同じクエリ言語を共有します。ticker:NVDA、exchange:NASDAQ、isin:US0378331005、ソースドメイン、言語でフィルタリングでき、完全なブーリアンロジック(AND、OR、NOT、括弧、-source:finance.yahoo.comのような除外)に対応。サーバーサイドフィルタリングにより、システムは実際にアクションを取るメッセージのみを処理します。

Example query
(+ticker:TSLA OR +ticker:NVDA) AND ("earnings" OR "guidance") AND NOT crypto

信頼性

無人稼働するシステムのために構築

接続はスケジュールに従ってローテーションされるため、SDKがハートビートと再接続を管理します。レート制限はエッジで適用されるため、不正なクライアントはフィードを劣化させる代わりに即座に失敗します。RESTアクセスは過去データのクエリとバックフィルに対応しており、ライブストリームと同じクエリがリサーチノートブックでも使用できます。

デスクレベルの導入をお考えですか?カスタムソース、年間請求、優先オンボーディングが利用可能です。ソースをご指定いただければ、契約の一環としてオンボーディングいたします。 お問い合わせ

料金

ストリーミング向けに構築されたプラン

ストリーミングアクセスはPro Standardプランから利用可能です。プランはリクエスト量、WebSocket接続数、ディスパッチクォータで異なります。

Pro Standard

WebSocket同時接続1本、ストリーミングアクセス込み

Pro Scale

マルチストリーム構成向けWebSocket同時接続3本

すべてのプランを比較するには 料金ページ

よくある質問

トレーディングシステムAPIに関する質問

finlightをトレーディングシステムに統合する際のよくある質問。

ストリーミングアクセスはPro Standardプランから利用可能です。プランはリクエスト量、WebSocket接続数、ディスパッチクォータで異なります。現在の料金と制限は料金ページをご確認ください。

その他のご質問はありますか?

開発者ファーストのサポートチームが、連携とスケーリングをサポートします。

あなたのシグナルロジックで検証する

ニュースフィードを評価する最速の方法は、フィルターを当てることです。キーを取得し、デュアルストリームの例を実行し、ライブ記事でのデルタを確認してください。

デスクレベルの導入をお考えですか?ご相談ください。