開発者ツールチェーンFoundryTSAPI リファレンスsearch.Search

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

foundryts.search.Search

class foundryts.search.Search

オントロジーを使用して時系列に対する検索クエリを実行するためのインターフェースです。

このインターフェースでは、オントロジーのプロパティを使用して時系列を検索できます。詳細なフィルターで検索を絞り込み、検索に含めるオブジェクトを指定できます。

時系列へのプログラムによるアクセスが動的で、オントロジーのプロパティ値に基づいている場合に、複数の時系列をクエリするのに役立ちます。以下の例をご覧ください。

オントロジーに、プロパティ [ticker, sector, exchange, price] を持つ stock オブジェクトタイプがあるとします。 「Technology」セクターのすべての株式の価格を取得するには、Search.series() で次のクエリを使用できます。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 >>> fts = FoundryTS() >>> tech_stocks_price = fts.search.series( ... query=(ontology("sector") == "Technology"), ... object_types=["stock"], ... property_type_id="price" ... ) >>> tech_stocks_price.to_pandas() series timestamp value 0 stock-A 2023-01-01 00:00:00.000 150.75 1 stock-A 2023-01-02 00:00:00.000 152.30 2 stock-A 2023-01-03 00:00:00.000 148.90 3 stock-B 2023-01-01 00:00:00.000 200.50 4 stock-B 2023-01-02 00:00:00.000 202.75 5 stock-B 2023-01-03 00:00:00.000 198.40 6 stock-C 2023-01-01 00:00:00.000 120.10 7 stock-C 2023-01-02 00:00:00.000 118.95 8 stock-C 2023-01-03 00:00:00.000 121.70 9 stock-D 2023-01-01 00:00:00.000 310.20 10 stock-D 2023-01-02 00:00:00.000 312.50 11 stock-D 2023-01-03 00:00:00.000 308.90

同様に、特定の取引所の株式を検索したり、オブジェクトタイプのほかの関連プロパティを使用して検索したりできます。

上記の例に示すように、検索メソッドには FoundryTS.search シングルトンプロパティを介してアクセスできます。

注

Search では時系列への参照のみをクエリでき、時系列自体に含まれる値はクエリできません(たとえば、値が述語を満たす時系列やポイントを検索することはできません)。時系列内のデータを検索するには、dsl() と time_series_search() を参照してください。

abstract series(query, max_results=10000, **kwargs)

渡されたクエリを使用して時系列を検索し、すべての結果を含む NodeCollection を返します。

検索構文では、ontology() を使用し、== 演算子でオントロジーのプロパティとの等価性を確認します。また、object_types を使用して、検索対象をオントロジー内の特定のオブジェクトタイプに限定できます。オントロジー全体を検索しないように、この方法を推奨します。

  • パラメーター:
    • query (Any) – 上記の演算子とオペランドで構成される検索クエリ。
    • max_results (int , 任意) – 返す時系列定義の結果の最大件数。1件から10,000件まで指定できます(デフォルトは10,000件)。
    • **kwargs – 追加の検索動作に関するオプションとフラグ。
  • キーワード引数:
    • object_types (List [str ] , 任意) – クエリで検索する、時系列プロパティを持つオントロジーオブジェクト(デフォルトではすべての時系列オブジェクトを検索します)。
    • property_type_id (str , 任意) – 返すオブジェクト内の時系列プロパティ。オブジェクトに複数の時系列プロパティ(TSP)が含まれ、デフォルトの TSP が設定されていない場合は必須です。↗ プラットフォームでは、TSP を持つ任意のオブジェクトにデフォルトの TSP を定義できます。
    • experimental_enable_complex_properties (bool , 任意) – 時系列プロパティ(TSP)を時系列バックエンドに送信するかどうか。↗ テンプレートなどの非プリミティブな時間依存プロパティを使用する場合、または複数の時系列同期に基づいている時系列プロパティを使用する場合に必須です(このような時系列は、↗ 修飾時系列 IDとしてオントロジーに書き込まれます)。 (デフォルトは False)。
  • 戻り値: 検索クエリに一致するすべての時系列への参照を FunctionNode として含む NodeCollection。
  • 戻り値の型: NodeCollection
注

クエリで(ontology() を使用して)指定するプロパティが検索可能であることを確認してください。そうでない場合、検索に失敗します。時系列プロパティは検索できません。

テンプレートや複数の同期に基づくプロパティなど、非プリミティブな時間依存プロパティを使用する場合は、experimental_enable_complex_properties フラグが必須です。

例

Copied!
1 >>> fts = FoundryTS()
Copied!
1 2 3 4 5 6 7 8 9 >>> tsp_search_without_query = fts.search.series(object_types=["stock-series"]) >>> tsp_search_without_query.to_pandas() series timestamp value 0 SPX_open 1970-01-01 00:00:00.000 1.5 1 SPX_open 1970-01-01 00:00:00.001 2.5 2 SPX_open 1970-01-01 00:00:00.004 3.5 3 ZVZZT_open 1970-01-01 00:00:00.000 2.5 4 ZVZZT_open 1970-01-01 00:00:00.001 3.5 5 ZVZZT_open 1970-01-01 00:00:00.004 4.5
Copied!
1 2 3 4 5 6 7 8 9 >>> tsp_search = fts.search.series((search.ontology("ticker") == "SPX")) >>> tsp_search.to_pandas() series timestamp value 0 SPX_open 1970-01-01 00:00:00.000 1.5 1 SPX_open 1970-01-01 00:00:00.001 2.5 2 SPX_open 1970-01-01 00:00:00.004 3.5 3 SPX_close 1970-01-01 00:00:00.005 15.0 4 SPX_close 1970-01-01 00:00:00.006 25.0 5 SPX_close 1970-01-01 00:00:00.007 35.0
Copied!
1 2 3 4 5 6 7 8 9 10 >>> tsp_search_with_experimental_properties = fts.search.series( ... (search.ontology("ticker") == "SPX"), ... object_types=["stock-series"], ... experimental_enable_complex_properties=True, ... ) >>> tsp_search_with_experimental_properties.to_pandas() series timestamp value 0 stock-series:SPX:open_price 1970-01-01 00:00:00.000 1.5 1 stock-series:SPX:open_price 1970-01-01 00:00:00.001 2.5 2 stock-series:SPX:open_price 1970-01-01 00:00:00.004 3.5