金融商品の識別子

S# では、異なるソースの金融商品は統一された Security.Id を使用します。これにより、取引アルゴリズムのコードは、OpenECryRithmicInteractive Brokers などの接続タイプに依存しなくなります。

金融商品識別子は、[instrument code]@[board code] という構文を使用します。Apple Inc. 株式の場合、識別子は AAPL@NASDAQ です。デリバティブの場合、ボードコードは契約が取引されるボードです。たとえば、ES 指数の 6 月限先物契約は ESM5@NYSE として識別できます。

Tip

Hydra は、履歴マーケットデータのフォルダー名に同じ仕組みを使用します。

識別子生成アルゴリズムのオーバーライド

  1. 独自のアルゴリズムで金融商品識別子を生成するには、SecurityIdGenerator クラスの派生クラスを作成し、SecurityIdGenerator.GenerateId(System.String secCode, System.String boardCode ) メソッドをオーバーライドします。

    class CustomSecurityIdGenerator : SecurityIdGenerator
    {
       public override string GenerateId(string secCode, string boardCode)
       {
          // CODE--BOARD 形式で識別子を生成します
          return secCode + "--" + boardCode;
       }
    }
    
  2. 作成したジェネレーターをコネクターに渡します。

    connector.SecurityIdGenerator = new CustomSecurityIdGenerator();