2. Daten erfassen und verwalten

Mit qteasy können Sie eine große Menge historischer Daten erfassen und verwalten. Die historischen Daten, die qteasy verwalten kann, umfassen Aktien, Fonds, Indizes, Futures usw., einschließlich Preisdaten, technische Indikatoren, Makroökonomie, Unternehmensfinanzberichte, Makrofinanzen usw.

Alle Daten können über die tushare-Schnittstelle abgerufen werden. Nach dem Herunterladen auf die lokale Ebene können Sie es über die qteasy-Schnittstelle verwalten und aufrufen.

Auf der Suche nach unterstützten historischen Daten

Verwenden Sie „qt.find_history_data()“, um alle bekannten historischen Datentypen nach Namen, chinesischer Beschreibung oder Platzhaltern zu durchsuchen und bei Bedarf entweder eine Liste von data_id-Werten zurückzugeben, die mit „get_history_data()“ kompatibel sind, oder ein strukturiertes DataFrame-Ergebnis, was die Erkundung verfügbarer Datenfelder erleichtert.

qteasy.find_history_data(s: str, match_description: bool = False, fuzzy: bool = False, freq: Optional[str] = None, asset_type: Optional[str] = None, match_threshold: float = 0.85, table: Optional[Union[str, list[str]]] = None, as_data_frame: bool = False) Union[list[str], DataFrame][Quellcode]

Suchen Sie anhand der Eingabezeichenfolge nach historischen Datentypen oder gleichen Sie diese ab und zeigen Sie detaillierte Informationen zu den historischen Daten an. Unterstützt Fuzzy-Suche, Platzhalter, Suche/Abgleich historischer Datentypen mit englischen oder chinesischen Zeichen und die Rückgabe strukturierterer Ergebnisse in Form eines DataFrame.

Parameter:
  • s (str) – Eine Zeichenfolge, die zum Suchen oder Abgleichen historischer Datentypen verwendet wird

  • match_description (bool, Default: False) – Ob ein Fuzzy-Matching der Datenbeschreibung durchgeführt werden soll. Wenn die bereitgestellte Zeichenfolge Nicht-ASCII-Zeichen enthält, wird sie automatisch auf „Wahr“ gesetzt – „Falsch“: Übereinstimmung nur mit dem Datentypnamen – „Wahr“: Übereinstimmung sowohl mit dem Datentypnamen als auch mit der Datenbeschreibung

  • fuzzy (bool, Default: False) – Gibt an, ob Datennamen mit einem Fuzzy-Match abgeglichen werden sollen. Wenn die bereitgestellte Zeichenfolge Nicht-ASCII-Zeichen oder die Platzhalterzeichen */? enthält, wird sie automatisch auf „Wahr“ gesetzt – „Falsch“: genaue Übereinstimmung mit dem Datennamen – „Wahr“: Fuzzy-Übereinstimmung mit dem Datennamen oder der Datenbeschreibung

  • freq (str, Default: None) – Die Häufigkeit der Daten, sofern angegeben, stimmt nur mit der Häufigkeit der Daten überein. Sie können eine einzelne Frequenz oder mehrere durch Kommas getrennte Frequenzen eingeben

  • asset_type (str, Default: None) – Der Asset-Typ, falls angegeben, stimmt nur mit dem Asset-Typ der Daten überein. Sie können einen einzelnen Asset-Typ oder mehrere Asset-Typen durch Kommas getrennt eingeben

  • match_threshold (float, default 0.85) – Schwellenwert für den Übereinstimmungsgrad. Elemente, deren Übereinstimmungsgrad diesen Schwellenwert überschreitet, werden als übereinstimmend gewertet

  • table (str or list of str, Default: None) – Filter für Datentabellennamen. Falls angegeben, nur Datentypen aus diesen Tabellen abgleichen; kann ein einzelner Tabellenname oder eine durch Kommas getrennte Zeichenfolge sein

  • as_data_frame (bool, Default: False) –

    • Falsch: Gibt eine abwärtskompatible Liste von data_id-Werten zurück und gibt Informationen zu den übereinstimmenden Datentypen aus

    • True: Gibt einen DataFrame zurück, der detaillierte Informationen zu den übereinstimmenden Ergebnissen enthält, ohne sich auf die gedruckte Ausgabe verlassen zu müssen

Rückgabe:

  • data_id (list[str]) – Wenn as_data_frame False ist, die Liste der data_id-Werte für die übereinstimmenden Datentypen; kann zum Herunterladen von Daten über qt.get_history_data() verwendet werden

  • pandas.DataFrame – Wenn as_data_frame True ist, wird ein DataFrame zurückgegeben. Jede Zeile entspricht einem übereinstimmenden Datentyp und enthält mindestens die folgenden Spalten:

    • Name: Name des Datentyps

    • Beschreibung: Chinesische Beschreibung des Datentyps

    • freq: Frequenz

    • asset_type: Asset-Typ

    • Tabellenname: Name der zugrunde liegenden Datentabelle

    • Spalte: Entsprechender Datenfeldname

Examples

>>> import qteasy as qt
>>> qt.find_history_data('pe')
matched following history data,
use "qt.get_history_data()" to load these historical data by its name:
------------------------------------------------------------------------
           freq asset             table                            desc
data_id
initial_pe    d     E         new_share                  新股上市信息 - 发行市盈率
pe            d   IDX   index_indicator                    指数技术指标 - 市盈率
pe            d     E   stock_indicator  股票技术指标 - 市盈率(总市值/净利润, 亏损的PE为空)
pe_2          d     E  stock_indicator2                  股票技术指标 - 动态市盈率
========================================================================
>>> qt.find_history_data('ep*')
matched following history data,
use "qt.get_history_data()" to load these historical data by its data_id:
------------------------------------------------------------------------
              freq asset      table                 desc
data_id
eps_last_year    q     E    express  上市公司业绩快报 - 去年同期每股收益
eps              q     E  financial    上市公司财务指标 - 基本每股收益
========================================================================
>>> qt.find_history_data('每股收益')
matched following history data,
use "qt.get_history_data()" to load these historical data by its data_id:
------------------------------------------------------------------------
                freq asset      table                 desc
data_id
basic_eps              q     E     income           上市公司利润表 - 基本每股收益
diluted_eps            q     E     income           上市公司利润表 - 稀释每股收益
express_diluted_eps    q     E    express     上市公司业绩快报 - 每股收益(摊薄)(元)
yoy_eps                q     E    express    上市公司业绩快报 - 同比增长率:基本每股收益
eps_last_year          q     E    express        上市公司业绩快报 - 去年同期每股收益
eps                    q     E  financial          上市公司财务指标 - 基本每股收益
dt_eps                 q     E  financial          上市公司财务指标 - 稀释每股收益
diluted2_eps           q     E  financial        上市公司财务指标 - 期末摊薄每股收益
q_eps                  q     E  financial       上市公司财务指标 - 每股收益(单季度)
basic_eps_yoy          q     E  financial  上市公司财务指标 - 基本每股收益同比增长率(%)
dt_eps_yoy             q     E  financial  上市公司财务指标 - 稀释每股收益同比增长率(%)
========================================================================
Verursacht:

TypeError – Die Eingabe s ist keine Zeichenfolge oder freq/asset_type/table ist keine Zeichenfolge oder Liste

Laden Sie historische Daten herunter

Mit „qt.refill_data_source()“ können Sie Daten für bestimmte Tabellen oder Zwecke stapelweise von einer Remote-Finanzdaten-API herunterladen (unterstützt das Filtern nach Datentyp, Häufigkeit, Asset-Typ usw.) und die Bereinigung und das Schreiben im lokalen DataSource; Die Aktualisierung abhängiger Tabellen und des Handelskalenders erfolgt intern automatisch. Informationen zum spezifischen Workflow und den empfohlenen Parameterkombinationen finden Sie in der Dokumentation zur manage_data-Serie.

qteasy.refill_data_source(tables, *, channel=None, data_source=None, dtypes=None, freqs=None, asset_types=None, refresh_trade_calendar=False, refill_dependent_tables=True, symbols=None, start_date=None, end_date=None, list_arg_filter=None, reversed_par_seq=False, parallel=True, process_count=None, chunk_size=100, download_batch_size=0, download_batch_interval=0, merge_type='update', log=False) None[Quellcode]

Laden Sie Daten stapelweise vom API-Kanal des Netzwerkdatenanbieters herunter, bereinigen Sie sie und füllen Sie sie in die lokale Datenquelle

Parameter:
  • tables (str or list of str, default: None) – Der Name der Datentabelle muss die in der Datenbank definierte Datentabelle sein und wird zur Angabe der herunterzuladenden Datentabelle verwendet. Sie können den Namen der Datentabelle angeben, z. B. „stock_day, stock_weekly“, oder Sie können den Zweck der Datentabelle angeben, z. B. „data, basic“

  • data_source (DataSource, Default None) – DataSource soll mit Daten gefüllt werden. Wenn keine, füllen Sie die Datenquelle mit QT_DATA_SOURCE

  • channel (str, optional, Default 'tushare') – Datenerfassungskanal, Finanzdaten-API, unterstützt die folgenden Optionen: – „tushare“: Finanzdaten von der Tushare-API abrufen, bitte beantragen Sie die entsprechenden Berechtigungen und Punkte selbst – „akshare“: Finanzdaten von der AKshare-API abrufen – „eastmoney“: Finanzdaten von Eastmoney abrufen

  • tables – Der Name der Datentabelle muss die in der Datenbank definierte Datentabelle sein und wird zur Angabe der herunterzuladenden Datentabelle verwendet

  • dtypes (str or list of str, default: None) – Der herunterzuladende Datentyp, der zum weiteren Filtern der Datentabelle verwendet wird, muss der in der Datenbank definierte Datentyp sein

  • freqs (str or list of str, default: None) – Die herunterzuladende Datenhäufigkeit, die zum weiteren Filtern der Datentabelle verwendet wird, muss der in der Datenbank definierten Datenhäufigkeit entsprechen

  • asset_types (str or list of str, default: None) – Der herunterzuladende Asset-Typ, der zum weiteren Filtern der Datentabelle verwendet wird, muss der in der Datenbank definierte Asset-Typ sein

  • refresh_trade_calendar (Bool, Default False) – Bei „True“ wird die Tabelle „trade_calendar“ heruntergeladen

  • refill_dependent_tables (Bool, Default True, New in v1.4.3) – Wenn die Einstellung auf „Falsch“ gesetzt ist, ignorieren Sie die Abhängigkeitstabelle, was zu einem Fehler beim Herunterladen der Daten führen kann

  • start_date (str YYYYMMDD) – Begrenzen Sie den Zeitraum für den Datendownload. Wenn start_date/end_date angegeben ist, werden nur die Daten innerhalb dieses Zeitraums heruntergeladen

  • end_date (str YYYYMMDD) – Begrenzen Sie den Zeitraum für den Datendownload. Wenn start_date/end_date angegeben ist, werden nur die Daten innerhalb dieses Zeitraums heruntergeladen

  • list_arg_filter (str or list of str, default: None 注意,不是所有情况下filter_arg参数都有效) – Filterparameter, die zum Einschränken von Downloads verwendet werden. Einige Datentabellen stellen filterbare Parameter als Liste bereit; Beispielsweise verfügt die Tabelle stock_basic über einen Filterparameter „exchange“ mit den Optionen „SSE“, „SZSE“, „BSE“. Mit diesem Parameter können Sie den Umfang des Downloads einschränken. Wenn filter_arg „None“ ist, werden alle Daten heruntergeladen. Wenn Sie beispielsweise die Daten der Tabelle „stock_basic“ herunterladen, sind alle folgenden Eingaben gültig: - „SZSE“ lädt nur Aktien herunter, die an der Shenzhen Stock Exchange notiert sind - [‚SSE‘, ‚SZSE‘] - „SSE, SZSE“ die beiden oben genannten Formen sind gleichwertig; Laden Sie Aktien herunter, die an den Börsen Shanghai und Shenzhen notiert sind

  • symbols (str or list of str, default: None) – Bestandscodes, die zum Herunterladen von Daten verwendet werden. Bei Angabe von Symbolen werden nur die Daten dieser Bestandscodes heruntergeladen

  • reversed_par_seq (Bool, Default False) – Bei „True“ werden die Daten in umgekehrter Reihenfolge heruntergeladen. Bei „False“ werden die Daten in normaler Reihenfolge heruntergeladen

  • parallel (Bool, Default True) – Wenn „True“, Multithread-Datendownload aktivieren – False: Multithread-Download deaktivieren

  • process_count (int) – Anzahl der gleichzeitig geöffneten Threads, wenn der Multithread-Download aktiviert ist. Der Standardwert ist die Anzahl der CPU-Kerne des Geräts

  • chunk_size (int) – Anzahl der Daten, die vor dem lokalen Speichern akkumuliert werden sollen, chunk_size ist die Stapelgröße, der Standardwert ist 100

  • download_batch_size (int, default 0) – Anzahl der vor dem Anhalten herunterzuladenden Daten. Dieser Parameter ist nur gültig, wenn parallel=False. Wenn 0, keine Pause, alle Daten auf einmal herunterladen

  • download_batch_interval (int, default 0) – Anzahl der Sekunden, die pausiert werden müssen, bevor mit dem Herunterladen von Daten fortgefahren wird. Dieser Parameter ist nur gültig, wenn parallel=False. Wenn <=0, keine Pause, sofort mit dem nächsten Daten-Download-Batch beginnen

  • merge_type (str, Default 'update') – Die Zusammenführungsmethode beim Schreiben von Daten in die Datenquelle unterstützt die folgenden Optionen: – „Aktualisieren“: Daten aktualisieren, wenn Daten bereits vorhanden sind, Daten aktualisieren – „Ignorieren“: Daten ignorieren, wenn Daten bereits vorhanden sind, heruntergeladene Daten verwerfen

  • log (Bool, Default False) – Wenn True, Daten-Download-Protokoll aufzeichnen

Rückgabetyp:

None

Examples

>>> import qteasy as qt
>>> qt.refill_data_source(tables='stock_basic')

Nachdem Sie historische Daten lokal heruntergeladen haben, können Sie diese Daten überprüfen, verwalten und abrufen.

Überprüfen Sie die lokalen Daten

qteasy.get_table_info(table_name, data_source=None, verbose=True) dict[Quellcode]

Rufen Sie Informationen zu einer Datentabelle in der Datenquelle ab und drucken Sie sie aus, einschließlich Datenvolumen, Speicherplatznutzung, Primärschlüsselname, Inhalt sowie Namen, Datentypen und Beschreibungen der Datenspalten.

Parameter:
  • table_name (str) – Der abzufragende Datentabellenname

  • data_source (DataSource) – Die Datenquelle zum Abrufen der Datentabelleninformationen ist standardmäßig Keine. Zu diesem Zeitpunkt werden die QT_DATA_SOURCE-Informationen abgerufen

  • verbose (bool, Default: True,) – Wenn True, wird die vollständige Liste der Datenspaltennamen und -typen gedruckt

Rückgabe:

data_struct – Strukturierte Informationen zur Datentabelle: {

Tabellenname: Name der Datentabelle table_exists: bool, ob die Datentabelle vorhanden ist table_size: int/str, von der Datentabelle belegter Speicherplatz, menschlich Wenn True, wird eine leicht lesbare Zeichenfolge zurückgegeben. table_rows: int/str, Anzahl der Zeilen in der Datentabelle, menschlich Wenn True, wird eine leicht lesbare Zeichenfolge zurückgegeben. Primary_key1: str, Name des ersten Primärschlüssels der Datentabelle. pk_count1: int, Anzahl der Datensätze des ersten Primärschlüssels der Datentabelle pk_min1: obj, Startdatensatz des Primärschlüssels 1 der Datentabelle pk_max1: obj, Enddatensatz des Primärschlüssels 2 der Datentabelle Primary_key2: str, Name des zweiten Primärschlüssels der Datentabelle pk_count2: int, Anzahl der Datensätze des zweiten Primärschlüssels der Datentabelle pk_min2: obj, Startdatensatz des Primärschlüssels 2 der Datentabelle pk_max2: obj, Enddatensatz des Primärschlüssels 2 der Datentabelle

}

Rückgabetyp:

dict

Examples

>>> get_table_info('STOCK_BASIC')
<stock_basic>, 1.5MB/5K records on disc
primary keys:
-----------------------------------
1:  ts_code:
    <unknown> entries
    starts: 000001.SZ, end: 873527.BJ
columns of table:
------------------------------------
        columns       dtypes remarks
0       ts_code   varchar(9)    证券代码
1        symbol   varchar(6)    股票代码
2          name  varchar(20)    股票名称
3          area  varchar(10)      地域
4      industry  varchar(10)    所属行业
5      fullname  varchar(50)    股票全称
6        enname  varchar(80)    英文全称
7       cnspell  varchar(40)    拼音缩写
8        market   varchar(6)    市场类型
9      exchange   varchar(6)   交易所代码
10    curr_type   varchar(6)    交易货币
11  list_status   varchar(4)    上市状态
12    list_date         date    上市日期
13  delist_date         date    退市日期
14        is_hs   varchar(2)  是否沪深港通

Verschaffen Sie sich einen Überblick über die heruntergeladenen lokalen Daten

„qt.get_table_overview()“ und „qt.get_data_overview()“ fassen zusammen und zeigen an, ob für jeden Datentabellentyp in der lokalen Datenquelle derzeit Daten, Speicherplatznutzung, Datensatzanzahl und Zeitabdeckungsbereich vorhanden sind, sodass sie sich als Einstiegspunkt für die Überprüfung der Datenbereitschaft eignen.

qteasy.get_table_overview(data_source=None, tables=None, include_sys_tables=False) DataFrame[Quellcode]

Zeigen Sie die Datenübersicht der Standarddatenquelle oder der angegebenen Datenquelle an

Parameter:
  • data_source (Object) – Ein data_source-Objekt, der Standardwert ist None. Wenn „Keine“, wird die Übersicht der Standarddatenquelle angezeigt

  • tables (str or list of str, Default: None) – Wenn angegeben, wird die Datentabellenübersicht angezeigt. Wenn keine vorhanden ist, wird die Übersicht aller Datentabellen angezeigt

  • include_sys_tables (bool, Default: False) – Wenn True, wird die Übersicht der Systemdatentabellen angezeigt

Rückgabetyp:

pd.DataFrame

Notes

Beispielverwendung siehe get_data_overview()

qteasy.get_data_overview(data_source=None, tables=None, include_sys_tables=False) DataFrame[Quellcode]

Zeigt die Datenübersicht der Datenquelle an, äquivalent zu get_table_overview()

Zu den Informationen gehören das Datenvolumen aller Datentabellen, der belegte Speicherplatz, der Name des Primärschlüssels, der Inhalt usw.

Parameter:
  • data_source (Object) – Ein data_source-Objekt, der Standardwert ist None. Wenn „Keine“, wird die Übersicht der Standarddatenquelle angezeigt

  • tables (str or list of str, Default: None) – Wenn angegeben, wird die Datentabellenübersicht angezeigt. Wenn keine vorhanden ist, wird die Übersicht aller Datentabellen angezeigt

  • include_sys_tables (bool, Default: False) – Wenn True, wird die Übersicht der Systemdatentabellen angezeigt

Rückgabe:

  • pd.DataFrame

  • Gibt einen DataFrame zurück, der die Übersichtsinformationen der Datentabelle enthält

Examples

>>> import qteasy as qt
>>> qt.get_data_overview()  # 获取当前默认数据源的数据总览
Analyzing local data source tables... depending on size of tables, it may take a few minutes
[########################################]62/62-100.0%  Analyzing completed!
db:mysql://localhost@3306/ts_db
Following tables contain local data, to view complete list, print returned DataFrame
                 Has_data Size_on_disk Record_count Record_start  Record_end
table
trade_calendar     True        2.5MB         73K     1990-10-12   2023-12-31
stock_basic        True        1.5MB          5K           None         None
stock_names        True        1.5MB         14K     1990-12-10   2023-07-17
stock_company      True       18.5MB          3K           None         None
stk_managers       True      150.4MB        126K     2020-01-01   2022-07-27
index_basic        True        3.5MB         10K           None         None
fund_basic         True        4.5MB         17K           None         None
future_basic       True        1.5MB          7K           None         None
opt_basic          True       15.5MB         44K           None         None
stock_1min         True      42.83GB      273.0M       20220318     20230710
stock_5min         True      34.33GB      233.2M       20090105     20230710
stock_15min        True      14.45GB      141.2M       20090105     20230710
stock_30min        True       7.78GB       77.1M       20090105     20230710
stock_hourly       True       4.22GB       42.0M       20090105     20230710
stock_daily        True       1.49GB       11.6M     1990-12-19   2023-07-17
stock_weekly       True      231.9MB        2.6M     1990-12-21   2023-07-14
stock_monthly      True       50.6MB        635K     1990-12-31   2023-06-30
index_1min         True       4.25GB       27.6M       20220318     20230712
index_5min         True       6.18GB       47.2M       20090105     20230712
index_15min        True       2.61GB       26.1M       20090105     20230712
index_30min        True      884.0MB       12.9M       20090105     20230712
index_hourly       True      536.0MB        7.6M       20090105     20230712
index_daily        True      309.0MB        3.7M     1990-12-19   2023-07-10
index_weekly       True       61.6MB        674K     1991-07-05   2023-07-14
index_monthly      True       13.5MB        158K     1991-07-31   2023-06-30
fund_1min          True       5.46GB       55.8M       20220318     20230712
fund_5min          True       3.68GB       12.3M       20220318     20230712
fund_15min         True      835.9MB        3.9M       20220318     20230712
fund_30min         True      385.7MB        1.9M       20220318     20230712
fund_hourly        True      124.8MB        1.6M       20210104     20230629
fund_daily         True      129.7MB        1.6M     1998-04-07   2023-07-10
fund_nav           True      693.0MB       13.6M     2000-01-07   2023-07-07
fund_share         True       72.7MB        1.4M     1998-03-27   2023-07-14
fund_manager       True      109.7MB         37K     2000-02-22   2023-03-30
future_hourly      True         32KB           0           None         None
future_daily       True      190.8MB        2.0M     1995-04-17   2023-07-10
options_hourly     True         32KB           0           None         None
options_daily      True      436.0MB        4.6M     2015-02-09   2023-07-10
stock_adj_factor   True      897.0MB       11.8M     1990-12-19   2023-07-12
fund_adj_factor    True       74.6MB        1.8M     1998-04-07   2023-07-12
stock_indicator    True       2.06GB       11.8M     1999-01-01   2023-07-17
stock_indicator2   True      734.8MB        4.1M     2017-06-14   2023-07-10
index_indicator    True        4.5MB         45K     2004-01-02   2023-07-10
index_weight       True      748.0MB        8.7M     2005-04-08   2023-07-14
income             True       59.7MB        213K     1990-12-31   2023-06-30
balance            True       97.8MB        218K     1989-12-31   2023-06-30
cashflow           True       69.7MB        181K     1998-12-31   2023-06-30
financial          True      289.0MB        203K     1989-12-31   2023-06-30
forecast           True       32.6MB         98K     1998-12-31   2024-03-31
express            True        3.5MB         23K     2004-12-31   2023-06-30
shibor             True         16KB         212           None         None

Verwenden Sie die heruntergeladenen Daten - Basisdaten

„qt.get_basic_info()“ und „qt.get_stock_info()“ bieten Einstiegspunkte für die Abfrage grundlegender Informationen zu Aktien/Fonds/Indizes usw. nach Code oder Name. Sie können zusammen mit „filter_stock_codes()“ und „filter_stocks()“ verwendet werden, um einen Asset-Pool aufzubauen oder eine Vorfilterung durchzuführen.

qteasy.get_basic_info(code_or_name: str, asset_types=None, match_full_name=False, printout=True, verbose=False)[Quellcode]

Entspricht get_stock_info(); sucht basierend auf der Eingabe nach grundlegenden Informationen zu Aktien, Fonds, Indizes oder Futures und Optionen.

Parameter:
  • code_or_name (str) – Sicherheitscode oder Name: - Wenn es sich um einen Sicherheitscode handelt, kann er ein Suffix enthalten oder nicht. Führen Sie bei einem Suffix eine genaue Suche durch. Führen Sie ohne Suffix einen globalen Abgleich durch. - Wenn es sich um einen Sicherheitsnamen handelt, können Sie Platzhaltermuster für die Fuzzy-Suche verwenden oder eine Fuzzy-Suche nach Namen durchführen. – Wenn genau ein Sicherheitscode übereinstimmt, wird ein Wörterbuch zurückgegeben, das Informationen zu diesem Sicherheitscode enthält.

  • asset_types (str, list of str, optional) – Sicherheitstyp. Akzeptiert eine Liste oder eine durch Kommas getrennte Zeichenfolge, einschließlich der erkannten Asset-Typen: - E-Aktien - IDX-Indizes - FD-Fonds - FT-Futures - OPT-Optionen

  • match_full_name (bool, default False) – Bei „True“ wird der vollständige Name der Aktie oder des Fonds abgeglichen. Der Standardwert ist „False“. Wenn der vollständige Name übereinstimmt, dauert es länger

  • printout (bool, default True) – Wenn True, werden die übereinstimmenden Ergebnisse gedruckt

  • verbose (bool, default False) – Wenn zu viele Wertpapiere übereinstimmen (mehr als fünf), ob vollständige Informationen angezeigt werden sollen - Falsch (Standard): Es werden nur die Übereinstimmungen mit der höchsten Relevanz angezeigt - True: Alle übereinstimmenden Ergebnisse anzeigen

Rückgabe:

stock_basic – Wenn nur eine Übereinstimmung gefunden wird, wird ein Diktat zurückgegeben, das die gefundenen Basisinformationen enthält. Die Informationen variieren je nach Wertpapiertyp: - Aktie: Firmenname, Region, Branche, vollständiger Name, Notierungsstatus, Notierungsdatum - Index: Indexname, vollständiger Name, Emittent, Kategorie, Ausgabedatum - Fonds: Fondsname, Manager, Depotbank, Fondstyp, Ausgabedatum, Ausgabebetrag, Anlagetyp, Kategorie - Futures: Name des Futures - Optionen: Name der Option

Rückgabetyp:

dict

Examples

>>> get_basic_info('000001.SZ')
found 1 matches, matched codes are {'E': {'000001.SZ': '平安银行'}, 'count': 1}
More information for asset type E:
------------------------------------------
ts_code       000001.SZ
name               平安银行
area                 深圳
industry             银行
fullname     平安银行股份有限公司
list_status           L
list_date    1991-04-03
-------------------------------------------
>>> get_basic_info('000001')
found 4 matches, matched codes are {'E': {'000001.SZ': '平安银行'}, 'IDX': {'000001.CZC': '农期指数', '000001.SH': '上证指数'}, 'FD': {'000001.OF': '华夏成长'}, 'count': 4}
More information for asset type E:
------------------------------------------
ts_code       000001.SZ
name               平安银行
area                 深圳
industry             银行
fullname     平安银行股份有限公司
list_status           L
list_date    1991-04-03
-------------------------------------------
More information for asset type IDX:
------------------------------------------
ts_code   000001.CZC   000001.SH
name            农期指数        上证指数
fullname        农期指数      上证综合指数
publisher    郑州商品交易所        中证公司
category        商品指数        综合指数
list_date       None  1991-07-15
-------------------------------------------
More information for asset type FD:
------------------------------------------
ts_code        000001.OF
name                华夏成长
management          华夏基金
custodian         中国建设银行
fund_type            混合型
issue_date    2001-11-28
issue_amount     32.3683
invest_type          成长型
type              契约型开放式
-------------------------------------------
>>> get_basic_info('平安银行')
found 4 matches, matched codes are {'E': {'000001.SZ': '平安银行', '600928.SH': '西安银行'}, 'IDX': {'802613.SI': '平安银行养老新兴投资指数'}, 'FD': {'700001.OF': '平安行业先锋'}, 'count': 4}
More information for asset type E:
------------------------------------------
ts_code       000001.SZ   600928.SH
name               平安银行        西安银行
area                 深圳          陕西
industry             银行          银行
fullname     平安银行股份有限公司  西安银行股份有限公司
list_status           L           L
list_date    1991-04-03  2019-03-01
-------------------------------------------
More information for asset type IDX:
------------------------------------------
ts_code       802613.SI
name       平安银行养老新兴投资指数
fullname   平安银行养老新兴投资指数
publisher          申万研究
category           价值指数
list_date    2017-01-03
-------------------------------------------
More information for asset type FD:
------------------------------------------
ts_code        700001.OF
name              平安行业先锋
management          平安基金
custodian           中国银行
fund_type            混合型
issue_date    2011-08-15
issue_amount     31.9816
invest_type          混合型
type              契约型开放式
-------------------------------------------
>>> get_basic_info('贵州钢绳', match_full_name=False)
No match found! To get better result, you can
- pass "match_full_name=True" to match full names of stocks and funds
>>> get_basic_info('贵州钢绳', match_full_name=True)
found 1 matches, matched codes are {'E': {'600992.SH': '贵绳股份'}, 'count': 1}
More information for asset type E:
------------------------------------------
ts_code       600992.SH
name               贵绳股份
area                 贵州
industry            钢加工
fullname     贵州钢绳股份有限公司
list_status           L
list_date    2004-05-14
-------------------------------------------
qteasy.get_stock_info(code_or_name: str, asset_types=None, match_full_name=False, printout=True, verbose=False)[Quellcode]
Identisch mit get_basic_info()

Suchen Sie anhand der Eingabeinformationen nach grundlegenden Informationen zu Aktien, Fonds, Indizes, Futures oder Optionen

Parameter:
  • code_or_name (str) – Lagercode oder Name. Wenn es sich um einen Lagercode handelt, kann er Suffixe enthalten oder nicht. Wenn es Suffixe enthält, wird genau gesucht. Wenn es keine Suffixe enthält, wird es global abgeglichen. Wenn es sich um einen Aktiennamen handelt, kann er eine Wildcard-Fuzzy-Suche oder eine Fuzzy-Suche nach Namen enthalten. Wenn eine genaue Übereinstimmung für einen Aktiencode gefunden wird, wird ein Wörterbuch zurückgegeben, das die relevanten Informationen zum Aktiencode enthält

  • asset_types (str or list of str, optional) – Sicherheitstyp. Akzeptiert eine Liste oder eine durch Kommas getrennte Zeichenfolge, einschließlich der erkannten Asset-Typen: - E-Aktien - IDX-Indizes - FD-Fonds - FT-Futures - OPT-Optionen

  • match_full_name (bool, default False) – Bei „True“ wird der vollständige Name der Aktie oder des Fonds abgeglichen. Der Standardwert ist „False“. Wenn der vollständige Name übereinstimmt, dauert es länger

  • printout (bool, default True) – Wenn True, werden die übereinstimmenden Ergebnisse gedruckt

  • verbose (bool, default False) – Wenn zu viele Wertpapiere übereinstimmen (mehr als fünf), ob vollständige Informationen angezeigt werden sollen - Falsch (Standard): Es werden nur die Übereinstimmungen mit der höchsten Relevanz angezeigt - True: Alle übereinstimmenden Ergebnisse anzeigen

Rückgabe:

stock_info – Wenn nur eine Übereinstimmung gefunden wird, wird ein Diktat zurückgegeben, das die gefundenen Basisinformationen enthält. Die Informationen variieren je nach Sicherheitstyp: - Aktieninformationen: Firmenname, Region, Branche, vollständiger Name, Listungsstatus, Listungsdatum - Indexinformationen: Indexname, vollständiger Name, Emittent, Kategorie, Ausgabedatum - Fonds:

Rückgabetyp:

dict

Notes

Beispielverwendung siehe: get_basic_info()

qteasy.filter_stock_codes(date: str = 'today', **kwargs) list[Quellcode]

Filtern Sie Aktien basierend auf den Eingabeparametern und rufen Sie filter_stocks auf, um eine Liste von Aktiencodes zurückzugeben

Parameter:
  • date (date-like str) – Filtern Sie das Listungsdatum der Aktie. Nach diesem Datum notierte Aktien werden ausgeschlossen:

  • kwargs (str or list of str) – Sie können Aktien anhand der folgenden Parameter filtern. Es können mehrere Filterbedingungen gleichzeitig eingegeben werden und nur Bestände, die die Anforderungen erfüllen, werden herausgefiltert

Rückgabetyp:

list, 股票代码清单

Siehe auch

filter_stocks

qteasy.filter_stocks(date: str = 'today', **kwargs) DataFrame[Quellcode]

Filtern Sie Aktien basierend auf den Eingabeparametern und geben Sie einen DataFrame zurück, der Aktiencodes und zugehörige Informationen enthält

Parameter:
  • date (date-like str) – Filtern Sie das Listungsdatum der Aktie. Nach diesem Datum notierte Aktien werden ausgeschlossen:

  • kwargs (str or list of str) – Sie können Aktien anhand der folgenden Parameter filtern. Es können mehrere Filterbedingungen gleichzeitig eingegeben werden, und es werden nur Aktien herausgefiltert, die die Anforderungen erfüllen. - Index: Nach Index filtern, Aktien, die nicht im angegebenen Index enthalten sind, werden ausgeschlossen

Rückgabe:

DataFrame

Rückgabetyp:

筛选出来的股票的基本信息

Examples

>>> # 筛选出2019年1月1日以后的上证300指数成分股
>>> filter_stocks(date='2019-01-01', index='000300.SH')
       symbol   name area industry market  list_date exchange
ts_code
000001.SZ  000001   平安银行   深圳       银行     主板 1991-04-03     SZSE
000002.SZ  000002    万科A   深圳     全国地产     主板 1991-01-29     SZSE
000063.SZ  000063   中兴通讯   深圳     通信设备     主板 1997-11-18     SZSE
000069.SZ  000069   华侨城A   深圳     全国地产     主板 1997-09-10     SZSE
000100.SZ  000100  TCL科技   广东      元器件     主板 2004-01-30     SZSE
           ...    ...  ...      ...    ...        ...      ...
600732.SH  600732   爱旭股份   上海     电气设备     主板 1996-08-16      SSE
600754.SH  600754   锦江酒店   上海     酒店餐饮     主板 1996-10-11      SSE
600875.SH  600875   东方电气   四川     电气设备     主板 1995-10-10      SSE
601699.SH  601699   潞安环能   山西     煤炭开采     主板 2006-09-22      SSE
688223.SH  688223   晶科能源   江西     电气设备    科创板 2022-01-26      SSE
[440 rows x 7 columns]
>>> # 筛选出2019年1月1日以后上市的上海银行业的股票
>>> filter_stocks(date='2019-01-01', industry='银行', area='上海')
           name area industry market  list_date exchange
ts_code
600000.SH  浦发银行   上海       银行     主板 1999-11-10      SSE
601229.SH  上海银行   上海       银行     主板 2016-11-16      SSE
601328.SH  交通银行   上海       银行     主板 2007-05-15      SSE

Nutzen Sie die heruntergeladenen Daten – Erhalten Sie Preis- oder technische Indikatoren

Einstiegspunkte für den Datenabruf: Für die tägliche Analyse, Strategiearbeit und Visualisierungsvorbereitung bevorzugen Sie „qt.get_history_data()“. „qteasy.history.get_history_panel()“ ist für Szenarios auf niedrigerer Ebene gedacht, in denen Sie bereits eine explizite „DataType“-Liste und „DataSource“ haben und direkt ein „HistoryPanel“ zusammenstellen müssen; Die Benutzerdokumente folgen hauptsächlich „get_history_data“ – siehe Kapitel HistoryPanel in „manage_data“.

qteasy.get_history_data(htypes=None, *, htype_names=None, data_types=None, data_source=None, shares=None, symbols=None, start=None, end=None, freq=None, rows=None, asset_type=None, adj=None, as_data_frame=None, group_by=None, **kwargs)[Quellcode]

Rufen Sie anhand der angegebenen Instrumente, Datentypen und Häufigkeit historische Daten aus der lokalen Datenquelle ab und fügen Sie sie in einer Struktur zusammen, die direkt von der Strategie verwendet werden kann.

Sie können die erforderlichen Datentypen über „htype_names“ oder „data_types“ angeben und diese mit „shares“ / „symbols“, einem Zeitbereich und „freq“ kombinieren, um den Abrufumfang zu steuern; Abhängig von den Einstellungen von „as_data_frame“ und „group_by“ gibt die Funktion einen HistoryPanel oder ein Diktat von DataFrames zurück, gruppiert nach Instrument/Datentyp. Informationen zur erweiterten Verwendung wie Datentypinferenz, Frequenzkonvertierung und trade_time_only finden Sie in den entsprechenden Abschnitten in der Dokumentation „Historical Data Retrieval get_history_data“.

Parameter:
  • htype_names (str or list of str, optional) – Sammlung historischer Datennamen zum Abrufen; kann eine durch Kommas getrennte Zeichenfolge (z. B. „open, high, low, close“) oder eine Liste (z. B. „[‚open‘, ‚high‘, ‚low‘, ‚close‘]`` sein). Wenn leer, leitet das System verfügbare htypes basierend auf Parametern wie „freq“ / „asset_type“ ab.

  • htypes (list of DataType, optional, deprecated) – Liste historischer Datentypobjekte; Die Semantik ähnelt „htype_names“. Bevorzugen Sie die neue Schnittstelle „htype_names“ / „data_types“.

  • data_types (list of DataType, optional) – Der Satz historischer Datentypen, der abgerufen werden soll, muss ein zulässiges Datentypobjekt sein. Wenn dieser Parameter angegeben wird, werden htype_names ignoriert, andernfalls werden mögliche Htypes basierend auf dem htype_names-Parameter erstellt

  • data_source (DataSource, optional) – Datenquelle zum Abrufen historischer Daten

  • shares (str or list of str, optional) – Sammlung von Sicherheitscodes; kann eine durch Kommas getrennte Zeichenfolge (z. B. „000001.SZ, 000002.SZ“) oder eine Liste (z. B. „[‘000001.SZ‘, ‚000002.SZ‘]“ sein).

  • symbols (str or list of str, optional) – Sammlung von Sicherheitscodes; kann eine durch Kommas getrennte Zeichenfolge (z. B. „000001, 000002“) oder eine Liste (z. B. „[‘000001‘, ‚000002‘]“ sein).

  • start (str, optional) – JJJJMMTT HH:MM:SS Format Datum/Uhrzeit, Startdatum/Uhrzeit der abzurufenden historischen Daten (falls verfügbar)

  • end (str, optional) – Datum/Uhrzeit im Format JJJJMMTT HH:MM:SS, Enddatum/Uhrzeit der abzurufenden historischen Daten (falls verfügbar)

  • rows (int, default 10) – Anzahl der Zeilen mit historischen Daten, die abgerufen werden sollen. Wenn Start und Ende angegeben sind, wird dieser Parameter ignoriert und der Zeitbereich der erhaltenen Daten ist [Start, Ende]. Wenn Start und Ende nicht angegeben sind, werden die neuesten Datenzeilen in der Datentabelle abgerufen. Die Verwendung von Zeilen zum Abrufen von Daten ist viel langsamer als die Verwendung von Datumsangaben

  • freq (str, optional) – Frequenz; unterstützt Minutenintervalle wie „1 Minute“/„5 Minuten“/„15 Minuten“/„30 Minuten“ sowie stündliche/tägliche/wöchentliche/monatliche Intervalle wie „H“/„T“/„W“/„M“ (z. B. Kerzen).

  • asset_type (str or list of str, optional) – Asset-Typ-Filter; kann eine durch Kommas getrennte Zeichenfolge (z. B. „E, IDX“) oder eine Liste (z. B. „[‘E‘, „IDX‘]“ sein). Zu den gängigen Werten gehören „any“, „E“, „IDX“, „FT“, „FD“ usw.

  • adj (str, optional, deprecated) – Veraltete Anpassungsoptionen (none/n, back/b, forward/fw/f). Verwenden Sie für neuen Code explizit den angepassten Spaltennamen in htype (z. B. „close|b“).

  • as_data_frame (bool, default True) – Gibt „HistoryPanel“ zurück, wenn „True“; gibt ein Wörterbuch von „DataFrame“ zurück, wenn „False“ lautet.

  • group_by (str, default 'shares') – Gruppierungsschlüssel bei der Rückgabe eines Diktats von DataFrames; üblicherweise 'shares'/'share'/'s' oder 'htypes'/'htype'/'h'.

  • **kwargs – Zusätzliche Parameter, die an die zugrunde liegende Datenabfrage/Frequenzkonvertierung weitergegeben werden (z. B. „drop_nan“, „resample_method“ usw.). Ausführliche Informationen zu den verfügbaren Werten und zur Semantik finden Sie in der Dokumentation „Historical Data Retrieval get_history_data“ und in den Hinweisen zu „infer_data_types“.

Rückgabe:

  • HistoryPanel – Wenn „as_data_frame“ False ist, wird ein HistoryPanel-Objekt zurückgegeben, das alle angeforderten Daten enthält.

  • dict of pandas.DataFrame – Wenn „as_data_frame“ True ist, wird ein Diktat von DataFrames zurückgegeben, gruppiert nach „group_by“.

Examples

>>> import qteasy as qt
# 给出历史数据类型和证券代码,起止时间,可以获取该时间段内该股票的历史数据
>>> qt.get_history_data(htype_names='open, high, low, close, vol', shares='000001.SZ', start='20191225', end='20200110')
{'000001.SZ':
             open   high    low  close         vol
2019-12-25  16.45  16.56  16.24  16.30   414917.98
2019-12-26  16.34  16.48  16.32  16.47   372033.86
2019-12-27  16.53  16.93  16.43  16.63  1042574.72
2019-12-30  16.46  16.63  16.10  16.57   976970.31
2019-12-31  16.57  16.63  16.31  16.45   704442.25
2020-01-02  16.65  16.95  16.55  16.87  1530231.87
2020-01-03  16.94  17.31  16.92  17.18  1116194.81
2020-01-06  17.01  17.34  16.91  17.07   862083.50
2020-01-07  17.13  17.28  16.95  17.15   728607.56
2020-01-08  17.00  17.05  16.63  16.66   847824.12
2020-01-09  16.81  16.93  16.53  16.79  1031636.65
2020-01-10  16.79  16.81  16.52  16.69   585548.45
}
>>> # 除了股票的价格数据以外,也可以获取基金、指数的价格数据,如下面的代码获取000300.SH的指数价格
>>> qt.get_history_data(htype_names='close', shares='000300.SH', start='20191225', end='20200105')
{'000300.SH':
              close
2019-12-25  3990.87
2019-12-26  4025.99
2019-12-27  4022.03
2019-12-30  4081.63
2019-12-31  4096.58
2020-01-02  4152.24
2020-01-03  4144.96
}
>>> # 以及基金的净值数据
>>> qt.get_history_data(htype_names='unit_nav, accum_nav', shares='000001.OF', start='20191225', end='20200105')
{'000001.OF':
            unit_nav  accum_nav
2019-12-25     1.086      3.547
2019-12-26     1.096      3.557
2019-12-27     1.091      3.552
2019-12-30     1.100      3.561
2019-12-31     1.105      3.566
2020-01-02     1.123      3.584
2020-01-03     1.127      3.588
}
>>> # 不光价格数据,其他类型的数据也可以同时获取:
>>> qt.get_history_data(htype_names='close, pe, pb', shares='000001.SZ', start='20191225', end='20200105')
{'000001.SZ':
            close       pe      pb
2019-12-25  16.30  12.7454  1.1798
2019-12-26  16.47  12.8784  1.1921
2019-12-27  16.63  13.0035  1.2036
2019-12-30  16.57  12.9566  1.1993
2019-12-31  16.45  12.8627  1.1906
2020-01-02  16.87  13.1911  1.2210
2020-01-03  17.18  13.4335  1.2434
}
>>> # 可以同时混合获取多只股票、指数、多种数据类型的数据,如果某些数据类型缺失,会用NaN填充,注意000001.SZ是股票平安银行,000001.SH是上证指数
>>> qt.get_history_data(htype_names='close, pe, pb, total_mv, eps', shares='000001.SZ, 000001.SH', start='20191225', end='20200105')
{'000001.SZ':
            close       pe      pb      total_mv   eps
2019-12-25  16.30  12.7454  1.1798  3.163165e+07   NaN
2019-12-26  16.47  12.8784  1.1921  3.196155e+07   NaN
2019-12-27  16.63  13.0035  1.2036  3.227204e+07   NaN
2019-12-30  16.57  12.9566  1.1993  3.215561e+07   NaN
2019-12-31  16.45  12.8627  1.1906  3.192274e+07  1.54
2020-01-02  16.87  13.1911  1.2210  3.273778e+07  1.54
2020-01-03  17.18  13.4335  1.2434  3.333937e+07  1.54,
'000001.SH':
              close     pe    pb      total_mv  eps
2019-12-25  2981.88  13.74  1.38  3.987686e+13  NaN
2019-12-26  3007.35  13.85  1.39  4.020871e+13  NaN
2019-12-27  3005.04  13.85  1.39  4.019086e+13  NaN
2019-12-30  3040.02  14.00  1.40  4.064796e+13  NaN
2019-12-31  3050.12  14.05  1.41  4.079249e+13  NaN
2020-01-02  3085.20  14.22  1.42  4.128453e+13  NaN
2020-01-03  3083.79  14.22  1.42  4.127933e+13  NaN
}
>>> # 通过设置freq参数,可以获取不同频率的K线数据,如设置freq='H'可以获取1小时频率的数据
>>> qt.get_history_data(htype_names='open:b, high:b, low:b, close:b', shares='000001.SZ', start='20191229', end='20200106', freq='H', asset_type='E')
 {'000001.SZ':
                           open        high         low       close
2019-12-30 10:00:00  1796.92174  1796.92174  1796.92174  1796.92174
2019-12-30 11:00:00  1790.37160  1800.19681  1758.71259  1786.00484
2019-12-30 14:00:00  1811.11371  1813.29709  1795.83005  1806.74695
2019-12-30 15:00:00  1805.65526  1808.93033  1793.64667  1808.93033
2019-12-31 10:00:00  1808.93033  1808.93033  1808.93033  1808.93033
2019-12-31 11:00:00  1806.74695  1806.74695  1780.54639  1788.18822
2019-12-31 14:00:00  1786.00484  1788.18822  1781.63808  1786.00484
2019-12-31 15:00:00  1786.00484  1796.92174  1783.82146  1795.83005
2020-01-02 10:00:00  1817.66385  1817.66385  1817.66385  1817.66385
2020-01-02 11:00:00  1819.84723  1848.23117  1807.83864  1840.58934
2020-01-02 14:00:00  1842.77272  1847.13948  1828.58075  1843.86441
2020-01-02 15:00:00  1843.86441  1844.95610  1836.22258  1841.68103
2020-01-03 10:00:00  1849.32286  1849.32286  1849.32286  1849.32286
2020-01-03 11:00:00  1849.32286  1879.89018  1849.32286  1877.70680
2020-01-03 14:00:00  1863.51483  1889.71539  1863.51483  1884.25694
2020-01-03 15:00:00  1884.25694  1884.25694  1872.24835  1875.52342
}
>>> # 可以设置b_days_only参数来将价格填充到非交易日,形成完整的日期序列
>>> qt.get_history_data(htype_names='open, high, low, close, vol', shares='000001.SZ', start='20191225', end='20200105', b_days_only=False)
{'000001.SZ':
              open   high    low  close         vol
 2019-12-25  16.45  16.56  16.24  16.30   414917.98
 2019-12-26  16.34  16.48  16.32  16.47   372033.86
 2019-12-27  16.53  16.93  16.43  16.63  1042574.72
 2019-12-28  16.53  16.93  16.43  16.63  1042574.72
 2019-12-29  16.53  16.93  16.43  16.63  1042574.72
 2019-12-30  16.46  16.63  16.10  16.57   976970.31
 2019-12-31  16.57  16.63  16.31  16.45   704442.25
 2020-01-01  16.57  16.63  16.31  16.45   704442.25
 2020-01-02  16.65  16.95  16.55  16.87  1530231.87
 2020-01-03  16.94  17.31  16.92  17.18  1116194.81
 2020-01-04  16.94  17.31  16.92  17.18  1116194.81
 2020-01-05  16.94  17.31  16.92  17.18  1116194.81
 }
>>> # 使用特殊的htypes,可以获取特定的数据,如指数权重数据,下面的代码获取000001.SZ在HS300指数重的权重数据,单位为百分比
>>> qt.get_history_data(htype_names='wt_id:000300.SH', shares='000001.SZ, 000002.SZ', start='20191225', end='20200105')
{'000001.SZ':
            wt_idx:000300.SH
2020-01-02        1.1714
2020-01-03        1.1714,
'000002.SZ':
            wt_idx:000300.SH
2020-01-02        1.3595
2020-01-03        1.3595
}