パイプラインを作成する際、計算に必要な入力データを特定する方法が必要となります。 パイプライン計算に必要な入力データは、 DatasetBoundColumns を使うことで特定できます。

2.26. データセット(Dataset)と連結列(BoundColumns)

DataSets はパイプラインAPIに対して計算に必要な入力データを、どこからどのように取り出すのかを知らせる単純なオブジェクトのコレクションです。 ここまでに Dataset の一例としてすでに USEquityPricing を紹介しました。

BoundColumn とは、DataSet と密接に連結したデータ列を表します。BoundColumn のインスタンスは、DataSets のアトリビュートにアクスすることで 動的に作られます。パイプライン計算に対する入力データは、 BoundColumn 型でなければなりません。 BoundColumn の一例としてすでに USEquityPrincing.close を紹介しました。

DataSetsBoundColumn は、実際のデータを保持していない、ということを理解することが大切です。計算処理を記述してパイプラインに追加した場合、 実際の計算処理はパイプラインが実行されるまでは実際には計算を実行していないことを思い出してください。

DataSetsBoundColumn は同じ方法で解釈することができます。これらは単純に計算の入力データを定義するために使われているのです。 そしてデータはパイプラインが実行された後に配置されます。

2.27. dtypes

パイプライン計算を定義する場合、使用できる関数や操作を知るために、入力データのデータ型を知っている必要があります。 BoundColumndtype は、パイプラインが実行されたときのデータ型を教えてくれます。 たとえば、 USEquityPricingfloat 型の dtype を持っているのでファクターは USequityPricing.close を使って算術計算を実行できます。

BoundColumndtype は、計算処理のタイプも決定できます。 たとえば latest 計算では、 dtype の型によって計算処理がファクター( float )なのか、フィルタ( bool )なのか、はたまたクラシファイア( string または int) なのかが決まります。

2.28. 価格データ(Pricing Data)

米国株の株価は、 USEquityPricing データセットに保存されています。 USEquityPricing は5つの列を持っています。

  • USEquityPricing.open(始値)

  • USEquityPriging.high(高値)

  • USEquityPricing.low(安値)

  • USEquityPricing.close(終値)

  • USEquityPricing.volume(出来高)

それぞれの列は floatdtype を持っています。

2.29. 財務データ(Fundamental Data)

Quantopianでは モーニングスター が提供する多くの財務データを利用できます。財務データは Fundamental データセットにおいて BoundColumn として存在しており、900種類以上が利用可能です。詳しくは Quantopian Fundamental Reference を参照してください。

2.30. パートナーデータ(Partner Data)

Quantopianでは`USEquityPricing`やモーニングスター財務データのほかにも多くのデータセットを利用できます。 コンセンサス予想データ、ニュースセンチメントなどがこれらに含まれます。ほとんどのデータセットは quantopian.pipline.data 以下に、プロバイダ名で名前空間が定義されています。

USEquityPricing 同様、そのほかのデータセットもパイプライン計算に利用される列( BoundColumn )を持ちます。 詳しい情報は、データを使う際のパイプラインの例とともに、 Data Reference に記載されています。 dtype は多岐にわたります。

BoundColumns は次のレッスンで見ていくカスタムファクターで一般的に使われます。