このケーススタディでは、あるファンド マネジャーが、先物市場を利用して債券の想定元本キャッシュ エクスポージャーを自動的にヘッジし、可能な限りデルタ ニュートラルを維持しようとする例を説明しています。ファンド マネジャーは、銀行の債券流動性プロバイダーを通じて、想定元本1,000万ユーロの、ドイツ10年物国債 (Bund) を双方向で執行し、このエクスポージャーをロングにしました。エクスポージャをオフセットするため、ファンド マネジャーは、TT プラットフォームを通じて、市場で先物ポジションを自動的に執行するワークフローを作成します。
このケーススタディでは、プログラミングができない TT ユーザーが、Excel を利用して、TT の Autotrader 機能を通じて、ADL アルゴにユーザー定義値を入力し、True 条件をトリガーして、取引を執行できる簡単な方法を説明します。
この ADL アルゴの例では、枚数 > 0 と定義されるとすぐに、売側の成行注文が発注されます。
子注文を発注させるには、0 より大きい値のみが True ブール値をトリガーするという条件も作成されます。以下の IfThen0 ブロックは、0 > 0のときに True になり、それ以外は False になります。つまり、「qty」 という名前の Number ブロックの中で値が 0 以上の場合、子注文の配置の条件が True になります。「Qty」 の Number ブロックがユーザー定義であることが重要で、TTの Autotrader にユーザー定義変数として値を入れることができます。
Order ブロックからさらに下流のロジックを使用して、エクスポート値として約定枚数を抽出して、ファンド マネジャーが先物のエクスポージャーを Excel に戻して表示できるようにします。
全体として、ADL アルゴ ロジックは以下のようになります。
注 この例のアルゴでは、ヘッジ執行は売側のためのみです。ここでは、ファンド マネジャーが現物債券で正の想定元本 (ロング ポジション) のみを執行することを想定しています。
買側と売側の両方の執行を促進するために、例のアルゴを修正することができます。
エクセルでは、取引の想定元本をセルに取り込む必要があります。この想定元本が存在すると、ユーザーは Excel を使って、現物債券のエクスポージャーにデルタ ニュートラルのヘッジを試みるのに必要な、現物先物計算を行うことができます。これは単純に、債券の想定キャッシュ エクスポージャーを、1つの債券の想定価 値で割ることで達成できます。このケース スタディでは、想定元本の計算において、変換係数の値を考慮していないこと、つまり CTD (Cheapest to Deliver) 債券を考慮していないことに注意してください。
例:
10,000,000 国債 (Bund) の想定元本 ÷ Bund の1先物限月100,000ユーロの想定元本=100枚
セル F2 で上記の数式を使用し、想定元本 (セル B2) が現物想定元本 (セル C2) の値を下回る場合に、0 を出力するには、条件付き IF 数式が必須でした。セル F2 は、ADL アルゴ内の注文枚数と、ADL アルゴの Order ブロックに True/False 条件の入力に使用されるため、この条件付き IF 数式は、誤った計算を防ぐのに必須です。セル B2 に EUR 10,000,000 の値が入力されたため、同等の先物枚数は100枚として計算されました。
ADL アルゴが一度展開されると、TT プラットフォーム内で利用可能になります。TT の Autotrader ウィジェットを使って、アルゴを選択し、「+ 行の追加」ボタンをクリックしてインスタンスをステージ化します。
次に、Autotorader のこのアルゴ インスタンス内で口座と先物限月を定義する必要があり、次に Excel から TT にリンクをコピーする機能を使用して、同等数の先物 (Equivocal Futures、ロット) 値 (セル F2) をコピーし、Autotrader 内のユーザー定義変数 「qty」 セルに貼り付けます。セルが緑色に変わり、これら 2 つのセルが動的にリンクされていることがわかります。
上記の設定を完了すると、アルゴ インスタンスを起動する必要があります。起動するには、Autotrader でアルゴ インスタンス行を強調表示し、再生ボタンを押します。起動すると、アルゴ インスタンスのステータスが 「Running」 (実行中) 状態になります。
Excel シート内で、セル F2 に更新があると (セルB2 に想定値が入力されると)、アルゴ内の True 条件がトリガーされ、成行で子注文が執行されます。
ファンド マネージャーからの上記の要件に従って、彼は10年物ドイツ国債 (Bund) のロング1,000万ユーロ想定元本の両建て取引を確認します。この 1,000 万ユーロの値はセル B2 に伝搬され、下流でオートヘッジ売注文が、同等の FGBL Sep23 先物限月で、成行で執行されます。
スプレッドシート内のセル F2 の数字に基づき、Autotrader の緑の「qty」セルが 100の値に更新されるのがわかります。
ファンド マネジャーのポジションは現在、ドイツ現物10年物国債 (Bund) のロングの1,000万ユーロと、FGBL 先物のショート100枚です。想定変換係数を考慮しなければ、ファンド マネジャーは現在ヘッジされています。
TT .NET SDK には、アプリケーション プログラミング インターフェース (API) が含まれていて、開発者は TT プラットフォームと通信する高性能アプリケーションを作成することができます。特に、アプリケーションは価格や注文送信、約定の受信を申し込むことができます。そのため開発者は、現物債券がブックされると、自動的に TT にヘッジ注文が発注されるようなソリューションをコード化できます。
同様に開発者は、FIX 注文ルーティングを利用して、TT でエクスポージャーを自動ヘッジできるアプリケーションを通じて、ソリューション自動化することができます。