2. 主要な概念の概要
この章では、qteasy の中核となる概念を表と簡単なメモに整理し、後続の章を読むときや API を使用するときに簡単に簡単に検索できるようにします。より完全な構造と関係については、全体的なアーキテクチャと設計アプローチ を参照してください。
2.1. 1. 概念表(名称 / 含义 / 在文档中的位置)
コンセプト |
意味 |
このシリーズのどこに当てはまるか |
|---|---|---|
DataSource |
ファイルまたはデータベース内の履歴データ テーブルを管理し、プロアクティブにデータを取得しないローカル データ ストレージの抽象化。 |
|
データテーブル |
市場、財務、マクロ、その他のデータを統一構造で保存する DataSource のテーブル。 |
|
DataType |
name、freq、asset_type などによって決定される、「戦略が参照できる情報」のタイプの説明。 |
|
htype |
履歴データ型名 (close、open など)。データの種類を識別するために、freq およびasset_type と一緒によく使用されます。 |
|
dtype_id |
DataType の一意の識別子。形式は |
以下の「dtype_id の構成と例」を参照してください。 |
Operator |
戦略コンテナと実行エントリ ポイント。グループのリストと group_timing_table を保持し、run(config) を提供します |
|
Group |
同じ run_freq と run_timing、signal_type および Blender を持つ戦略のコレクション |
|
Strategy |
基本 Strategy クラスとそのサブクラス。 data_types/window_length と Parameters を宣言し、realize() を実装します。 |
|
run_freq |
戦略 (グループ) の実行頻度。例: |
|
run_timing |
戦略 (グループ) が期間内に実行される場合 (例: クローズ時に |
|
group_timing_table |
各タイム ステップで実行されるグループをマークするタイム ステップ × グループ テーブル。 |
|
blender |
同じグループ内の複数の戦略からのシグナルがどのように結合されるか (式またはデフォルト ルール) |
|
signal_type |
シグナルタイプ: PT (ターゲットポジション)、PS (比例買い/売り)、VS (数量買い/売り) |
以下: 「3 つの信号タイプ PT/PS/VS」 |
Parameter |
戦略の調整可能なパラメーターの定義 (名前、タイプ、値の範囲など) |
|
data_types |
ストラテジーによって宣言された必須のデータ型 (DataType またはリスト) |
|
window_length |
戦略に必要な履歴データのウィンドウの長さ (例: 20 日) |
|
realize() |
戦略ロジックのエントリ ポイント。パラメータは取りません。 get_pars/get_data 経由でデータをフェッチし、シグナルを返します。 |
|
get_data / get_pars |
Realize() 内で、dtype_id でデータを取得し、パラメータ名で調整可能なパラメータを取得します。 |
|
Backtester |
バックテスト実行プログラム: group_timing_table に従って Operator を駆動し、フィルをシミュレートします |
|
Optimizer |
オプティマイザー: パラメーター空間を検索し、バックテストを複数回実行して、目的関数を集計します。 |
|
Trader |
ライブ取引管理: スケジュールに従ってOperatorをトリガーし、ブローカーを調整します |
|
Broker |
注文実行および約定レポートのための抽象インターフェイス |
|
config |
バックテスト/ライブ取引/最適化によって共有される実行構成 (資産プール、時間範囲、コスト、資本計画など) |
|
qt.run |
統合されたエントリ ポイント: qt.run(op, mode=…, **kwargs) → op.run(config, datasource, logger) |
2.2. 2. dtype_id 的构成与示例
dtype_id は、name_assettype_freq という 3 つの部分が連結されて構成されます。
name: データ型名 (close、open、total_mv、pe など)。
assettype:
E(株式)、IDX(インデックス)、ANY(任意) などの資産タイプ。freq: データの頻度。例:
d(毎日)、w(毎週)、m(毎月)、q(四半期)。
例:
dtype_id |
意味 |
|---|---|
|
株式の毎日の終値 |
|
指数の毎日の終値 |
|
あらゆる資産の毎日の終値 |
|
四半期の株式時価総額の合計 |
|
日次株価PER (入手可能な場合) |
ストラテジーが get_data(dtype_id) を呼び出す場合、使用される ID は、ストラテジーによって宣言された DataType によって生成された dtype_id と一致する必要があります (通常、ストラテジーの data_type_ids プロパティを介して表示できます)。
2.3. 3. 三种信号类型 PT/PS/VS 的语义对比表
タイプ |
フルネーム |
意味(一文) |
例 |
|---|---|---|---|
PT |
Position Target |
目標ポジション比率: シグナルは、到達すべき望ましいロング/ショートポジション比率を示します。 |
0.5 は、目標の 50% ロングポジションを示します。 |
PS |
Proportion Signal |
比例取引: シグナルは、資本または保有株のどの割合を売買するかを示します。 |
0.5 は、資本の 50% を購入に使用するか、ポジションの 50% を売却することを示します。 |
VS |
Volume Signal |
数量ベースの取引: シグナルは売買する数量 (株または単位) を示します。 |
100 は 100 株を購入することを示します。 -50 は 50 株を売却することを示します。 |
同じ数値は、異なる signal_type では異なる順序インテントとして解釈されます。グループの signal_type はストラテジを追加するときに決定され、同じグループ内のストラテジは同じタイプの信号を出力し、その後ブレンダーによってブレンドされます。
2.4. 4. 三种策略基类的输入/输出对比表
基本クラス |
典型的な使用例 |
入力 (get_data など) |
出力(realizeの戻り値) |
|---|---|---|---|
RuleIterator |
マーケットタイミング、単一ルールの反復 |
単一アセットまたはマルチアセット データ ウィンドウ (dtype_id による) |
スカラー信号 (例: 1 / -1 / 0);同じルールがすべての資産に適用されます |
FactorSorter |
ファクターベースの銘柄選択 |
複数の資産の横断的データ (例: 複数の株式のファクター値) |
1D 因子配列 (資産ごとに 1 つの値);エンジンはファクターランキングとフィルタリングルールによって銘柄を選択します |
GeneralStg |
汎用マルチアセット戦略 |
マルチアセット、マルチデータタイプのデータウィンドウ |
1D シグナル配列 (資産ごとに 1 つのターゲット ポジションまたは売買比率) |
詳細については、ストラテジーの実行方法: タイミング、データ、パラメーター を参照してください。