TT と Excel の統合

RTD - 銘柄 ID とプロパティの取得

RTD - 銘柄 ID とプロパティの取得

RTD を使用して限月データを取得する際、取得しようとする限月の ID とプロパティを指定する必要があります。

TT RTD 数式は、以下の基本構造を使用します。

=RTD("tt.rtd",,"Topic1",...,"TopicN")

: 2番目のパラメータは、RTD Server が実行されている外部サーバーの名前になります。TT RTD Server は常にローカル実行されるので、2番目のパラメータの値を除外するか空白の文字 ("") を入力する必要があります。ただし、数式でパラメータを構成する必要があります。

銘柄 ID の取得

限月に関する情報にアクセスする前に、まず以下のいずれかの方法で ID を抽出する必要があります。

名前別の方法

=RTD("tt.rtd",,"Inst","exchangeName","instrName")

instrName 引数は、一般的に限月のショートネームと呼ばれるものに対応します。

例えば、CME 取引所から Jun16 GE 先物限月の ID を取得したい場合、セルに次の数式を入力するだけで結構です。

=RTD("tt.rtd",,"Inst","CME","GEM6")

数式を処理した後、Excel は次のような結果をセルに表示します。

これで、セルに表示された結果を使用して、スプレッドシートの他の数式で限月を識別できます。通常、セルを参照して (この場合はB3)、他の数式で限月を識別します。

限月の詳細別の方法

=RTD("tt.rtd",,"Instr","exchangeName","instrSymbol","productType","expiry"")

: 限月の詳細の方法を使用する場合、数式では「Inst」ではなく「Instr」を使用します。

TT は以下の銘柄タイプをサポートしています (全角で入力してください)。

  • 先物
  • スプレッド
  • オプション
  • ストラテジー
  • 債券
  • エネルギー
  • 証券
  • 指数

例えば、CME 取引所から Jun19 ES 先物限月の ID を取得したい場合、セルに以下の数式を入力する必要があります。

=RTD("tt.rtd",,"Instr","CME","ES","FUTURE","Jun19")

約定別の方法

次の式を使用すると、少なくとも 1つの限月を取引したすべての銘柄の ID を取得できます。

=RTD("tt.rtd",,"Inst","FILLS",CELL("Address",cell-reference))

この数式は、限月 ID を1次元の縦配列で返します。この配列全体を表示するには、Excel の一連のセルにこの同じ数式を指定し、cell-reference (セル参照) 引数の値をそれぞれ異なるものにします。この配列のうち、値のないメンバーを参照した場合は、空白文字列が返されます。

cell-reference 値は、 "column,row" の形式をとります。例:

これで、セルに表示された結果を使用して、スプレッドシートの他の数式で限月を識別できます。通常、セルを参照して、他の数式で限月を識別します。

銘柄プロパティの取得

限月 ID を取得すると、以下の数式でその限月に関連するプロパティを取得できます。

=RTD("tt.rtd",,inst-id,property,filter1,filterN)

TT RTD Server では、TT から取得できるプロパティとして2つのタイプをサポートしています。

銘柄プロパティの取得: タイプ 1

限月のタイプ1プロパティは、単一の値を返すもので、オプションのフィルターがありません。これらのプロパティは、以下の形式の RTD 式で抽出できます。

=RTD("tt.rtd",,inst-id,property)

例えば、セル A13 に文字列「Last」、セル B3 に限月 ID を保存した場合、以下のように TT 表示形式で直近値を抽出できます。

=RTD("tt.rtd",,B3,A13)

数式を処理した後、Excel は次のような結果をセルに表示します。セル参照の「$」は、Excel 混合参照表記です。

板情報の取得

RTDは、板情報 (TTDepth) と詳細板情報 (TTDetailedDepth) を返すプロパティも提供しています。板情報枚数は、各価格帯におけるダイレクト枚数とインプライド枚数を組み合わせたものです。これらのプロパティは、以下の形式で数式を使って取得できます。

=RTD("tt.rtd",,inst-id,depth-property,num-levels,cell-reference)

: 2番目のパラメータは、RTD Server が実行されている外部サーバーの名前になります。TT RTD Server は常にローカル実行されるので、2番目のパラメータの値を除外するか空白の文字 ("") を入力する必要があります。ただし、数式でパラメータを構成する必要があります。

TTDepth プロパティは、次のような 4xnum-levels メモリ内配列を返します。

  • A1..Anum-levels : 各価格帯の買枚数
  • B1..Bnum-levels : 各価格帯の買値
  • C1..Cnum-levels : 各価格帯の売値
  • D1..Dnum-levels : 各価格帯の売枚数

TTDetailedDepth プロパティは、次のような 6xnum-levels メモリ内配列を返します。

  • A1..Anum-levels : 各価格帯の買枚数
  • B1..Bnum-levels : 各価格帯の買値
  • C1..Cnum-levels : 各価格帯の売値
  • D1..Dnum-levels : 各価格帯の売枚数
  • E1..Enum-levels : 各価格帯の買取引相手 ID
  • F1..Fnum-levels : 各価格帯の売取引相手 ID

: 詳細板情報については、インプライド注文に対して取引相手 ID は返されません。

たとえば、セル G4 に保存されている限月 ID に対して板情報の 10価格帯を返すには、次のように深度を抽出します。

=RTD("tt.rtd",, $G$4, "TTDepth", "10", CELL("Address", A1)")

数式を処理した後、Excel を設定して、以下の板情報に似た結果を表示できます。

  1. CELL("Address",A1)
  2. CELL("Address",B1)
  3. CELL("Address",C1)
  4. CELL("Address",D1)

num-levels パラメータは、返す配列のサイズを示していて、必ずしも価格帯の数ではありません。

  • 板情報 (depth-property = TTDepth) の場合、数式は、注文枚数を含む市場の売買側の最初の num-levels 価格帯を返します。ダイレクト枚数やインプライド枚数を含んだ価格帯はスキップされます。
  • 詳細板情報 (depth-property = TTDetailedDepth) の場合、価格帯にかかわらず、市場の各売買側の最初の num-levels 注文を返します。価格帯にダイレクト枚数とインプライド枚数の両方が含まれる場合、個々のダイレクト枚数が最初に返され、その後に集約されたインプライド枚数が続きます。インプライド枚数にはアスタリスク (*) が表示されます。

    要求された num-levels に基づいて、詳細板情報の結果は1つ以上の価格帯の注文を返し、外側の価格帯の注文のサブセットのみ返す可能性があります。例えば、5つの価格帯を指定し、買側に最初の価格帯 (100) で3つの注文 (1つのダイレクト注文と2つのインプライド注文)、また次の価格帯 (99) で6つの注文 (4つのダイレクト注文と2つのインプライド注文) が含まれているとします。返される配列には、次のような内容が含まれます。
    • 2 at 100 (最初の注文)
    • 4* at 100 (この価格帯で2つの注文の集約インプライド枚数)
    • 50 at 99 (新価格帯での最初の注文)
    • 10 at 99 (この価格帯での2番目の注文)
    • 5 at 99 (この価格帯での3番目の注文)

    99 の価格での残りの注文枚数は、返されません。このように、要求された正しい価格帯数に期待する内容がすべて含まれていることを確認するように注意が必要です。

銘柄プロパティの取得: タイプ 2

限月のタイプ 2 プロパティは、単一の値を返すもので、オプションのフィルターがありません。これらのプロパティは、以下の形式の RTD 式で抽出できます。

=RTD("tt.rtd",,inst-id,property,filter1,filter2,filterN)

Account 属性をフィルターとして使用して、TT RTD Server が値を計算する約定を制限できます。For example, you might want the quantity of sell orders (SellQty property) of an instrument only if it was submitted たとえば、特定の口座 (Account 属性) を通じて送信された場合のみ、ある限月の売注文の枚数 (SellQty プロパティ) を取得したいとします。

: 前述したように、いくつかのタイプ 2 プロパティに対して、少なくとも 1つの 口座 フィルターを指定する必要があります。

数式内のフィルター パラメータの形式は次のとおりです。

<property><operator><value>

例えば、セル A33 に文字列「AvgOpenPrice#」、セルA31 に文字列「Account=ATRSim」、セル B3 に限月 ID を保存した場合、以下のように小数点で平均の始値を抽出できます。

=RTD("tt.rtd",,B3,A33,A31)

数式を処理した後、Excel は次のような結果をセルに表示します。セル参照の「$」は、Excel 混合参照表記です。