イベント駆動トリガー
重要なイベントは、めったに単一のストリームには存在しません。ポジションの逸脱は、関連資産の価格が市場で急変した結果として発生することがよくあります。取引相手の格下げは、エクスポージャーが閾値を超えたときに引き起こされることがよくあります。3forgeは複数のライブストリームと滞留状態にまたがる複合条件を検知し、パターンが一致した瞬間に、自動アクション、通知、下流のパイプラインステージを起動します。
課題
有用なトリガーは複合的であり、ほとんどのシステムはそれを表現できない
単一ストリームのアラートは簡単ですがノイズが多くなります。価値あるシグナルはほぼ常に組み合わせから生まれます。あるフィードでのイベントに加え、別のフィードでの状態、さらに時間ウィンドウが重なるといった具合です。ほとんどのオーケストレーションツールは、すべてを単一の順序に平坦化してコンテキストを失うか、各ルールを個別の作り込みパイプラインに押し込むかのいずれかです。
ストリーム間の相関は難しい
高頻度の価格ストリームを低速なポジション更新ストリームと定義された時間ウィンドウ内で結合し、両方の条件が成立したときにのみ発火させることは、ほとんどのpub-subシステムがカスタムコードなしに表現できる範囲を超えています。
アラート疲れとノイズ
単一条件のアラートは、1日に何千もの無関係な通知を生成します。オペレーターはそれらを読まなくなり、本当のシグナルがノイズに埋もれてしまいます。
イベントをまたぐ状態を持てない
多くの有用なパターンは直近の状態を記憶することを必要とします。直近5件のクオート、注文が30秒以上稼働しているかどうか、ウィンドウ上の移動平均などです。ステートレスなイベントプロセッサはこれをきれいに表現できません。
脆弱なアクション配線
トリガーが発火すると、アクション、つまりキルスイッチ、Slackへの投稿、Kafkaイベント、データベース更新は、ルールごとに手作業で配線されます。新しいアクションを追加するには、ルールを再デプロイする必要があります。
3forgeのアプローチ
リアルタイムランタイムにネイティブなパターン検知
3forgeはすべてのストリームをリアルタイムテーブルとしてモデル化し、すべてのトリガーをそれらのテーブルに対するAMIScript式としてモデル化します。複合条件、ウィンドウ、結合、ステートフルな集計は、いずれも言語の第一級の構文です。条件が一致すると、ランタイムはKafkaへのイベント発行から下流のRESTエンドポイントの呼び出しまで、あらゆるハンドラーを宣言的な設定で起動します。ルールはバージョン管理され、観測可能で、カラムストアからリプレイできます。
主な機能
3forgeで実現できること
複合条件の検知
複数のストリームが定義済みの時間ウィンドウ内で関連する条件を満たす必要のあるトリガーを、単一のAMIScript式で表現します。
ウィンドウ付き・ステートフルなルール
スライディングウィンドウやタンブリングウィンドウ、永続的なカウンター、ランニング集計を用いて、直近の履歴に依存するパターンを表現します。
プラグ可能なアクションターゲット
トリガーの出力を、アラート、Kafkaトピック、RESTエンドポイント、データベースへの書き込み、下流の3forgeパイプラインへ、設定によってルーティングします。
ルールの合成
よりシンプルな名前付きルールから複雑なトリガーを構築し、アプリケーション間で再利用し、コードのようにバージョン管理します。
リプレイとWhat-If
任意の過去期間を現在のルールでリプレイし、バックテスト、閾値のチューニング、稼働前の監査担当者への動作実証を行います。
ライブなルール観測性
各ルールのマッチ率、誤検知率、下流アクションのレイテンシをワークベンチで確認でき、発火したイベントチェーンまでドリルダウンできます。
お問い合わせ
ライブでご覧になりますか?
3forgeのソリューションエンジニアによる30分間のデモを予約し、複合トリガーがライブストリームにまたがってリアルタイムに発火する様子をご覧ください。