2. Kernkonzepte auf einen Blick
Dieses Kapitel organisiert die Kernkonzepte in qteasy in Tabellen und kurzen Notizen, sodass Sie sie beim Lesen nachfolgender Kapitel oder bei der Verwendung der API schnell nachschlagen können. Eine vollständigere Struktur und Beziehungen finden Sie unter [Gesamtarchitektur- und Designansatz] (00-overview.md).
2.1. 1. 概念表(名称 / 含义 / 在文档中的位置)
Konzepte |
Bedeutung |
Wo es in diese Serie passt |
|---|---|---|
DataSource |
Eine Abstraktion der lokalen Datenspeicherung, die historische Datentabellen in Dateien oder Datenbanken verwaltet und keine Daten proaktiv abruft. |
|
Datentabelle |
Tabellen im DataSource, die Markt-, Finanz-, Makro- und andere Daten in einer einheitlichen Struktur speichern. |
|
DataType |
Eine Typbeschreibung von „Informationen, auf die eine Strategie verweisen kann“, bestimmt durch Name, Häufigkeit, Asset-Typ usw. |
[Datenabruf, Speicherung und Datentypen] (02-data-layer.md), [Wie Strategien Daten deklarieren und verwenden] (03-data-in-strategies.md) |
htype |
Name des historischen Datentyps (z. B. close, open), oft zusammen mit freq und asset_type verwendet, um eine Art von Daten zu identifizieren |
|
dtype_id |
Die eindeutige Kennung eines DataType in der Form „name_assettype_freq“ (z. B. „close_E_d“) |
Siehe „Zusammensetzung und Beispiele von dtype_id“ unten. |
Operator |
Der Strategiecontainer und der Ausführungseinstiegspunkt; enthält eine Liste von Gruppen und die group_timing_table und stellt run(config) bereit. |
|
Group |
Eine Sammlung von Strategien mit derselben run_freq und run_timing, mit einem signal_type und einem Blender |
|
Strategy |
Die Basisklasse Strategy und ihre Unterklassen; deklariert data_types/window_length und Parameter und implementiert real() |
|
run_freq |
Die Ausführungshäufigkeit einer Strategie (Gruppe), z. B. „d“ für täglich, „m“ für monatlich. |
|
run_timing |
Wenn eine Strategie (Gruppe) innerhalb eines Zeitraums ausgeführt wird, z. B. „schließen“ beim Schließen, „öffnen“ beim Öffnen. |
|
group_timing_table |
Eine Zeitschritt-x-Gruppen-Tabelle, die markiert, welche Gruppen in jedem Zeitschritt ausgeführt werden. |
|
blender |
Wie Signale von mehreren Strategien innerhalb derselben Gruppe kombiniert werden (Ausdrucks- oder Standardregeln) |
|
signal_type |
Signaltypen: PT (Zielposition), PS (proportionaler Kauf/Verkauf), VS (Mengenkauf/-verkauf) |
Unten: „Drei Signaltypen PT/PS/VS“ |
Parameter |
Definition der durch die Strategie einstellbaren Parameter (Name, Typ, Wertebereich usw.) |
|
data_types |
Erforderliche Datentypen, die von der Strategie deklariert werden (DataType oder Liste) |
|
window_length |
Für die Strategie erforderliche Fensterlänge der historischen Daten (z. B. 20 Tage) |
|
realize() |
Einstiegspunkt der Strategielogik; benötigt keine Parameter; holt Daten über get_pars/get_data und gibt Signale zurück |
|
get_data / get_pars |
Rufen Sie in real() Daten nach dtype_id und einstellbare Parameter nach Parameternamen ab |
|
Backtester |
Backtest-Executor: steuert den Operator gemäß group_timing_table und simuliert Füllungen |
|
Optimizer |
Optimierer: Durchsucht den Parameterraum und führt mehrmals Backtests durch, um die Zielfunktion zu aggregieren |
|
Trader |
Live-Handelsmanagement: Löst den Operator nach Zeitplan aus und koordiniert den Broker |
|
Broker |
Abstrakte Schnittstelle für Auftragsausführung und Ausführungsberichte |
|
config |
Führen Sie die Konfiguration aus (Asset-Pool, Zeitbereich, Kosten, Kapitalplan usw.), geteilt durch Backtesting/Live-Handel/Optimierung |
|
qt.run |
Einheitlicher Einstiegspunkt: qt.run(op, mode=…, **kwargs) → op.run(config, datasource, logger) |
2.2. 2. dtype_id 的构成与示例
dtype_id besteht aus drei miteinander verketteten Teilen: name_assettype_freq.
Name: Name des Datentyps (z. B. close, open, total_mv, pe).
Assettyp: Vermögenswerttyp, z. B. „E“ (Aktien), „IDX“ (Index), „ANY“ (beliebig).
freq: Datenhäufigkeit, z. B. „d“ (täglich), „w“ (wöchentlich), „m“ (monatlich), „q“ (vierteljährlich).
Beispiel:
dtype_id |
Bedeutung |
|---|---|
|
Täglicher Schlusskurs der Aktien |
|
Täglicher Schlusskurs eines Index |
|
Täglicher Schlusskurs eines beliebigen Vermögenswerts |
|
Vierteljährliche Gesamtmarktkapitalisierung der Aktien |
|
Tägliches Aktien-KGV (falls verfügbar) |
Wenn die Strategie „get_data(dtype_id)“ aufruft, muss die verwendete ID mit der dtype_id übereinstimmen, die vom von der Strategie deklarierten DataType generiert wurde (normalerweise sichtbar über die Eigenschaft „data_type_ids“ der Strategie).
2.3. 3. 三种信号类型 PT/PS/VS 的语义对比表
Typ |
Vollständiger Name |
Bedeutung (ein Satz) |
Beispiel |
|---|---|---|---|
PT |
Position Target |
Zielpositionsverhältnis: Das Signal zeigt das gewünschte Long-/Short-Positionsverhältnis an, das erreicht werden soll. |
0,5 zeigt eine angestrebte Long-Position von 50 % an. |
PS |
Proportion Signal |
Proportionaler Handel: Das Signal gibt an, welcher Anteil des Kapitals oder der Anteile gekauft/verkauft werden soll. |
0,5 bedeutet, dass 50 % des Kapitals zum Kauf verwendet oder 50 % der Position verkauft werden. |
VS |
Volume Signal |
Mengenbasierter Handel: Das Signal gibt die Menge an, die gekauft/verkauft werden soll (Aktien oder Einheiten). |
100 bedeutet den Kauf von 100 Aktien; -50 bedeutet den Verkauf von 50 Aktien. |
Der gleiche numerische Wert wird als unterschiedliche Bestellabsichten unter unterschiedlichen signal_type interpretiert; Der Signaltyp einer Gruppe wird beim Hinzufügen der Strategie bestimmt, und Strategien innerhalb derselben Gruppe geben denselben Signaltyp aus, der dann vom Mixer gemischt wird.
2.4. 4. 三种策略基类的输入/输出对比表
Basisklasse |
Typische Anwendungsfälle |
Eingaben (get_data usw.) |
Ausgaben (Rückgabewert der Realisierung) |
|---|---|---|---|
RuleIterator |
Market Timing, Iteration mit einer einzigen Regel |
Einzel-Asset- oder Multi-Asset-Datenfenster (von dtype_id) |
Skalarsignal (z. B. 1 / -1 / 0); Die gleiche Regel gilt für alle Vermögenswerte |
FactorSorter |
Faktorbasierte Aktienauswahl |
Multi-Asset-Querschnittsdaten (z. B. Faktorwerte für mehrere Aktien) |
1D-Faktor-Array (ein Wert pro Asset); Die Engine wählt Aktien nach Faktorranking und Filterregeln aus |
GeneralStg |
Allzweck-Multi-Asset-Strategie |
Datenfenster mit mehreren Assets und mehreren Datentypen |
1D-Signalarray (eine Zielposition oder ein Kauf-/Verkaufsverhältnis pro Vermögenswert) |
Weitere Einzelheiten finden Sie unter [Wie die Strategie ausgeführt wird: Timing, Daten und Parameter] (05-strategy-lifecycle.md).