TT と Excel の統合

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

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

RTD を使って銘柄データを取得する際、取得する銘柄の ID とプロパティを指定する必要があります。

銘柄 ID の取得

銘柄の情報にアクセスする前に、以下の方法で銘柄の ID を抽出する必要があります。

  • 名前別
  • 約定別

名前の方法別

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

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

instrName 引数は、銘柄の通称に該当します。

例えば、CME 取引所から Jun16 GE 先物限月の ID を取得する場合、セルに以下の数式のみ入力します。

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

数式が処理された後、セルに以下のような内容の結果がセルに表示されます。

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

約定の方法別

以下の数式を使って、最小1つ以上の限月で取引したことのあるすべての銘柄の ID を取得できます。

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

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

この数式は、銘柄 ID の一次元の垂直配列を返します。この配列全体を表示するには、Excel にて一連のセル (セル参照引数に異なった数値をもつセル) で同じ数式を指定する必要があります。この配列に値がない場合でこの数に参照する場合、空白の文字列が返されます。

セル参照値は、「」、「」の形式をとります。例:

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

銘柄プロパティの取得

銘柄 ID を取得すると、以下の数式を使って、銘柄に関連したプロパティを取得します。

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

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

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

銘柄のタイプ1プロパティは、オプション フィルターがなく1つの値を返す銘柄のプロパティです。フォームの RTD 数式で抽出できます。

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

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

例えば、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 プロパティは以下のように、メモリー配列に4倍の num-levels を返します。

  • A1..Anum-levels : 各レベルの買枚数
  • B1..Bnum-levels : 各レベルの買値
  • C1..Cnum-levels : 各レベルの売値
  • D1..Dnum-levels : 各レベルの売枚数

TTDetailedDepth プロパティは以下のように、メモリー配列に6倍の num-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]num-levels] パラメータは、必ずしも価格帯の数ではなく、返す配列の大きさを示しています。

  • 板情報に関しては (depth-property = TTDepth)、数式は、注文枚数を含む、マーケットの各買売側の最初の num-levels 価格帯を返します。ダイレクト枚数やインプライド枚数を含んでいない価格帯はスキップされます。
  • 板情報に関しては (depth-property = TTDetailedDepth)、数式は、価格帯に関係なく、マーケットの各買売側の最初の num-levels 価格帯を返します。価格帯にダイレクト枚数とインプライド枚数が含まれている場合、個々のダイレクト枚数は、集約インプライド枚数に続いて最初に返されます。インプライド枚数にはアスタリスク (*) が付加されます。

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

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

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

銘柄のタイプ2プロパティは、オプション フィルターがある 1つの値を返す銘柄のプロパティです。フォームの RTD 数式で抽出できます。

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

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

TT RTD Server が計算する値の約定を制限するための、フィルターとして [Account] 属性を使用できます。例えば、特定の口座 ([Account] 属性) を通じて発注した場合、限月の売注文 (SellQty プロパティ) の枚数のみ必要であるとします

: タイプ2 プロパティには最小1つの 口座フィルターを指定する必要があります。

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

<property><operator><value>

例えば A33 セルに「AvgOpenPrice#」の文字、A31 に 「Account="ATRSim」の文字、B3 に銘柄 ID を保存していると、以下のように小数点で平均オープン価格を抽出できます。

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

数式を処理した後、Excel に以下のような内容の結果がセルに表示されます。セルの「$」は、Excel の混合リファレンス記号であることを示しています。