FIX ルールセット

FIX ルールセット

FIX ルールの設定

[Rules] タブにルールを追加する際、FIX ルールセットに以下のルールの1つを選択できます。

  • Message: どのメッセージを条件付きで渡すかドロップするかを定義します。
  • Tag: FIX タグに基づいて行うルーティング操作を定義します。

メッセージ ルールの定義

メッセージルールでは、FIX クライアントから送信された、または FIX クライアントに送信された FIX メッセージのパスまたはドロップのいずれかを実行します。次のメッセージルールのタイプを定義できます。

  • Drop は、メッセージがその宛先に転送されないようにします。
  • Conditional は、メッセージ タイプやメッセージのタグ値に基づいて、実行する操作を指定します。
  • Custom は、ユーザーが定義したスクリプトで定義された操作を実行します。

    : 高度ユーザーのみカスタム操作を使用できます。カスタム操作を割り当てる前に TT サポートに連絡してください。


ドロップ操作の設定

FIX クライアントまたは取引所のいずれかが特定の FIX メッセージをサポートしていない場合は、ドロップ操作を使用して、メッセージを送信できないようにすることができます。

ドロップ操作を設定するには、[Rules Settings] セクションの [Message] をクリックして、ドロップする FIX メッセージを選択します。オプションで、[Description] (説明) 欄に操作についての情報をさらに追加できます。[Save Changes] (変更の保存) をクリックします。

条件付き操作の設定

条件付き操作は、メッセージ内の特定のタグの値に基づいて、TT FIX がメッセージをパスまたはドロップするように指示します。次の例では、条件付き操作を使用して、FIX クライアントが買側または売側のいずれの新規の注文も発注できないように設定できます。

[Exchange] の選択を使って、取引所特定のタグ値をサポートする追加条件を提供することもできます。この例では、NewOrderSingle メッセージ ルールを拡張して、タグ 207=Eurex の場合にタグ 54=8 (Cross) であるとき、メッセージを送信するように、繰り返しデータ項目を追加します。

タグ ルール操作の定義

タグ ルール操作を使って、FIX クライアントと TT FIX 間で送信されるメッセージにて、タグとタグの値を操作できます。例えば、FIX クライアントがサポートしていない執行レポート (8) メッセージの TT FIX クライアントから送信されたタグをドロップできます。次のタグ ルールのタイプを定義できます。

  • Add: メッセージにタグと値を追加します。
  • Assign: タグに値を割り当てます。
  • Conditional: メッセージ タイプやメッセージのタグ値に基づいて、実行する操作を指定します。
  • CreatePartyEntry: FIX クライアントが、FIX メッセージでフラット タグを送信し、メッセージで取引所特定の取引者ロールと取引者 ID にマップさせることができます。
  • Custom: ユーザーが定義したスクリプトで定義された操作を実行します。
  • Drop: タグがその宛先に転送されないようにします。
  • CreatePartyEntry: FIX クライアントが、FIX メッセージで特定の取引者ロールと取引者タグを送信し、メッセージで取引所特定の取引者ロールと取引者 ID にマップさせることができます。ユーザーは、ModifyPartyEntry を使って、繰り返しグループのメンバー全体を除去できます。
  • Multiply: 番号による数字のタグ値を乗算します。
  • Prepend: 既存のタグの値の先頭に文字を追加します。
  • Postpend: 既存のタグの値の末尾に文字を追加します。
  • Remap: 1つのタグ値を別のタグに割り当てます。
  • RemapGroup: タグのグループの値を再マップします。
  • RemapPartyEntry: このオプションはModifyPartyEntryにより廃止され置き換えられます。
  • TrimTimestamp: タグ 60 にてマイクロ秒の精度の時間スタンプ (TransactTime) をミリ秒の精度の時間スタンプに変換します。
  • Custom: ユーザーが定義したスクリプトで定義された操作を実行します。

    : 高度ユーザーのみカスタム操作を使用できます。カスタム操作を割り当てる前に TT サポートに連絡してください。

Add 操作

追加操作を使って、数値が含まれているタグに値を追加することができます。追加操作の典型的な例としては、TT FIX は注文メッセージでタグ1を必須としていないので、FIX クライアント システムが注文でタグ1を送信しない場合に、FIX クライアントが送信した注文メッセージにタグ1 (口座) を追加することです。

タグに追加操作設定するには

  1. [Rules Settings] (ルール設定) セクションで、 [Message] をクリックして、設定するタグの FIX メッセージを選択します。

  2. このタグの値がすでに存在する場合にルールを無視」(Ignore rule if a value for this tag already exists) を選択します。

  3. 変更するタグ番号を入力します。

  4. 指定のタグの値に追加する数字の金額を入力します。

  5. オプションで、[Description] (説明) 欄に操作についての情報をさらに追加できます。

  6. [Save Changes] をクリックします。

Assign 操作

このタグのルールを使って、受信者にメッセージを転送する前に、タグの値を変更したり、メッセージを取引相手に送信する前に、まだ送信されていないメッセージにタグを追加することができます。操作で指定されているタグがメッセージで存在しない場合、[Assign] (割り当て) 操作がタグに追加されます。[Add] 操作は数値のみ受け付けているので、この操作を使って、値が数値以外のタグを追加できます。

Conditional 操作

TT FIX を使って、入力タグの値に基づいて条件付きで操作を実行することができます。例えば、FIX クライアントによって送信された タグ 100 (ExDestination) 値に基づいて、注文ルーティング メッセージにて別のタグ 1 (口座)を割り当てる場合を想定してください。FIX ルールセットの条件付きタグ ルールを作成して実行できます。

[Exchange] の選択を使って、取引所特定のタグ値をサポートする追加条件を提供することもできます。この例では、タグ 456 (SecurityAltIDSource) と Exchange の値の組み合わせに基づいて、タグ 48 (SecurityID) の値を変更します。これらの2つの条件は、取引所指定のタグ 207 (SecurityExchange) に基づいて、タグ 48 に再マッピングする際に、セキュリティ alt ID 繰り返しグループのどちらのタグ 455 (SecurityAltID) 値を使用するかを識別します。

CreatePartyEntry 操作

CreatePartyEntry 操作により、FIX クライアントが、FIX メッセージでフラット タグを送信し、TT FIX Order Routing を通じてメッセージで取引所特定の取引者ロールと取引者 ID にマップさせることができます。例えば、クライアントが Tag 50 を送信する場合、Tag 50 から Tag 452 にマップさせるルールと、他の取引所に送信するための Tag 448 値を追加できます。

CreatePartyEntry 操作を設定するには

  1. [Rules] タブをクリックして [Add] をクリックします。
  2. [New FIX Rule] ダイアログ ボックスにて、ルール タイプに [TAG] を選択して、操作に [CreatePartyEntry] を選択して [OK] をクリックします。
  3. [Rules Settings] (ルール設定) セクションで、 [Message] をクリックして、設定するタグの FIX メッセージを選択し、[Tag] 番号を入力します。これらは必須欄です。

    : [Ignore rule if a value for this tag already exists] (このタグの値がすでに存在する場合にルールを無視) がオフになっていることを確認してください。

  4. [Repeating Data] セクションにて、[+Add] をクリックします。

  5. 各列のセルをクリックして、以下の内容を設定します。

    • [Exchange] を選択するか、既定の値「*」を使用します。
    • [Assign] に [Action] を設定します。
    • [Action Argument] を取引者ロールと ID 値に設定します。

      [Action Argument] 欄を Tag 452、448、2376 のために設定する必要があります。タグと値は「=」で割り当てられ、各タグと値のペアはコロン (:) で分けられている必要があります。例: 452=211:448=$source

      : タグ 2376 はオプションであり、Tag 452 が 3、12、または 122 に設定されている場合のみ有効です。

    「Default」行は必須ではありません。この行が追加されると、以下の内容が含まれています。Exchange=*, Conditional=Default, Action=Pass.他の「Default」行の設定はサポートされていません。

  6. オプションで、[Description] (説明) 欄に操作についての情報をさらに追加できます。

  7. [Save Changes] をクリックします。

Drop 操作

FIX クライアントと TT FIX が異なった FIX の仕様を使用している場合、同じメッセージが異なったタグ セットをサポートできます。このような場合、タグを削除して、メッセージが対応する取引相手の要件に準拠させる必要がある可能性があります。

ModifyPartyEntry 操作

RemapPartyEntry 操作により、FIX クライアントが、FIX メッセージで特定の取引者ロールと取引者 ID を送信し、TT FIX Order Routing を通じてメッセージで取引所特定の取引者ロールと (または) 取引者 ID に再マップさせることができます。例えば、2つの取引所で必須づけられている、452:200 の値を 452:205 の値に再マップさせる FIX ルールセットを作成できます (ASX と CME)。

ModifyPartyEntry 操作でまた FIX クライアントが FIX タグの繰り返しグループの全メンバーを除去できるようにします。例えば、タグ 452 を除去して繰り返しグループの全ての関連タグを自動的に除去する FIX ルールセットを作成できます (タグ 447 と 448)。

この操作の [Tag] 欄は Tag 452 に既定設定されていて、変更できません。[Conditional Value] 欄では、Tag 452 (必須)、448 (オプション)、2376 (オプション) の値を受け付けています。入力した値は、区切り文字としてコロン「:」を使って表示させる必要があります (122:1:24)。また [Conditional Value] 欄の数は、[Action Argument] の欄の数と順序に一致している必要があります。

RemapPartyEntry 操作を設定するには

  1. [Rules] タブをクリックして [Add] をクリックします。
  2. [New FIX Rule] ダイアログ ボックスにて、ルール タイプに [TAG] を選択して、操作に [ModifyPartyEntry] を選択して [OK] をクリックします。
  3. [Rules Settings] (ルール設定) セクションで、 [Message] をクリックして、設定するタグの FIX メッセージを選択します。

    [Tag] 欄の既定値は「452」で、変更できません。これらは必須欄です。

    : [Ignore rule if a value for this tag already exists] (このタグの値がすでに存在する場合にルールを無視) がオフになっていることを確認してください。

  4. [Repeating Data] セクションにて、[+Add] をクリックします。

  5. 各列のセルをクリックして、以下の内容を設定します。

    • [Exchange] を選択するか、既定の値「*」を使用します。
    • クライアントから受信した [Conditional Value] (条件値) を設定します。数値は (122:1:24) の順序で、「:」区切り文字で表示する必要があります。
    • [Assign] に [Action] を設定します。
    • 条件値に基づいて、[Action Argument] を再マップした取引者ロールと ID 値に設定します。

      [Conditional Value] 欄と [Action Argument] 欄のタグ値は、コロンで区切られ、FIX が文字を解析する順序に一致している必要があります (例 452:448:2376)。

    「Default」行は必須ではありません。この行が追加されると、以下の内容が含まれています。Exchange=*, Conditional=Default, Action=Pass.他の「Default」行の設定はサポートされていません。

  6. [Save Changes] をクリックします。

Multiply 操作

タグに乗算操作を設定するには

  1. [Rules Settings] (ルール設定) セクションで、 [Message] をクリックして、設定するタグの FIX メッセージを選択します。

  2. 変更するタグ番号を入力します。

  3. タグ値の乗数に [Multiplier] (乗数) を入力します。

  4. オプションで、[Description] (説明) 欄に操作についての情報をさらに追加できます。

  5. [Save Changes] をクリックします。

: 受信注文メッセージに価格乗数を設定する場合 (New Order Single (D) or Order Cancel Replace (G))、TT FIX は該当する送信メッセージの値を自動的に割り算します。

  • 執行記録 (8) メッセージの注文確認と約定
  • コンプライアンス ドロップ コピー New Order Single (D) または Order Cancel Replace (G) メッセージ

Prepend 操作

先頭追加操作を使って、タグ値の先頭にテキスト文字列を追加することができます。

Postpend 操作

末尾追加操作を使って、タグ値の末尾にテキスト文字列を追加することができます。

Remap 操作

FIX クライアントがカスタムタグ 2000 ( IsEnergy ) を使用して、限月枚数の代わりにフローにて取引する、エネルギー銘柄を識別する場合を想定してください。TT FIX は、タグ 16464 ( TradesInFlow ) を使って、その情報を指定します。FIX クライアントを書き換えずに済むようにするには、次の例に示すように、セキュリティ定義( d )メッセージの再マップ操作を使って、FIX クライアントで使用されているタグに TT FIX からの値を入力します。

RemapGroup 操作

タグの再マップ操作を設定するには

  1. [Rules Settings] (ルール設定) セクションで、 [Message] をクリックして、設定するタグの FIX メッセージを選択します。

  2. このタグの値がすでに存在する場合にルールを無視」(Ignore rule if a value for this tag already exists) を選択します。

  3. 設定するタグ番号を入力します。

  4. 指定のタグに入力する値を含む入力ソースタグ番号を入力します。

  5. [Repeating Data] セクションにて、[+Add] をクリックします。

  6. 再マップする各タグに以下の内容を実行します。

    • 設定するタグ番号を入力します。
    • [Remap] に [Action] を設定します。
    • 指定のタグに入力する値を含む入力ソースタグ番号を入力します。
  7. オプションで、[Description] (説明) 欄に操作についての情報をさらに追加できます。

  8. [Save Changes] をクリックします。

RemapPartyEntry 操作 (現在の ModifyPartyEntry)

注: このパラメータはModifyPartyEntryにより廃止され置き換えられました。

TrimTimestamp 操作

タグ 60 (TransactTime) マイクロ秒の時間スタンプをミリ秒の精度の時間スタンプに変更するには

  1. [Rules Settings] (ルール設定) セクションで、 [Message] をクリックして、設定するタグの FIX メッセージを選択します。

  2. [Ignore rule if a value for this tag already exists] (このタグの値がすでに存在する場合にルールを無視) が選択されているようにします。

  3. [Tag] 欄に 60 を入力します。このルールはタグ 60 のみサポートしています。

  4. オプションで、[Description] (説明) 欄に操作についての情報をさらに追加できます。

  5. [Save Changes] をクリックします。

ルールのコピー

メッセージまたはタグ ルールをコピーするには

  1. コピーする FIX ルールを選択し、 [Copy Rule] をクリックします。

  2. コピー済みのルールに関連付けるメッセージを選択して [Copy] をクリックします。

  3. 希望に応じて新規ルールを編集して、[Save Changes] をクリックします。