Herunterladen und Verwalten von Finanzdaten
Dieses Beispiel zeigt, wie das qteasy-Modul zum Herunterladen, Verwalten und Extrahieren lokal gespeicherter Finanzdaten verwendet werden kann. QTEASY bietet ein relativ komplettes Set von Tools zum Herunterladen und Verwalten von Finanzdaten, mit denen eine breite Palette von Finanzdaten über den tushare-Server heruntergeladen, die Daten lokal gespeichert und bei Bedarf automatisch aus dem lokalen Bereich zum Backtesting der Strategie oder der Strategieläufe extrahiert werden können.
Lokales Datenquellenobjekt DataSource
In qteasy ist ein DataSource-Objekt definiert, das eine lokale Finanzdatenquelle definiert und eine Reihe von eingebauten lokalen Finanzdatentabellen und Datentypen bereitstellt, die es dem Benutzer ermöglichen, die entsprechenden Finanzdaten direkt über die IDs der verschiedenen Datentypen zu lesen (vorausgesetzt, die Finanzdaten wurden aus dem Internet heruntergeladen und in der lokalen Datenquelle gespeichert).
Eine große Anzahl häufig verwendeter Finanzdaten wie z.B. „close“ „pe“ ist vordefiniert und in „qteasy“ integriert, das eine ziemlich breite Palette von Themen abdeckt, einschließlich:
Volumen- und Kursdaten, wie z. B. Eröffnungskurs, Schlusskurs, Höchstkurs, Handelsvolumen, usw.
Finanzielle Indikatoren, wie Kurs-Gewinn-Verhältnis pe, Kurs-Buchwert-Verhältnis pb
Jahresabschlussdaten wie ebidta, ebit, etc.
Grundlegende Unternehmensdaten, wie Name der Geschäftsführung, Informationen zur Branche des Unternehmens
Die oben genannten Daten sind in das System integriert und als „Datenblätter“ definiert. Wenn Sie diese Daten verwenden möchten, müssen Sie sie zunächst lokal herunterladen. Das DataSource-Objekt definiert, wie und wo die Daten gespeichert werden. qteasy definiert ein Standard-Datenquellen-Objekt QT_DATA_SOURCE, das die Quelle der Daten ist, mit denen qteasy arbeitet und die es verwendet, sofern nicht anders angegeben.
Das DataSource-Objekt kann Daten im Dateiformat (csv, fth, etc.) oder in einer mysql-Datenbank speichern, was angesichts des Umfangs der Finanzdaten empfohlen wird. Die Methode der Datenspeicherung und der Speicherort können in der Konfiguration von qteasy festgelegt werden.
Zwei Arten von DataSource
qt.DataSource(source_type, file_type='fth', file_loc='qteasy/data/', host='localhost', port=3306, user=None, password=None, db='qt_db')
Für ein DataSource-Objekt hat der Benutzer die Möglichkeit, Daten in verschiedenen Formen, auch Datenquellen genannt, zu speichern. Die DataSource unterstützt derzeit zwei verschiedene Datenquellen:
db: Datenbank, die Daten werden in einer mysql/Maria DB-Datenbank gespeichert und der Zugriff erfolgt durch Herstellen einer Verbindung zur Datenbank
file: Datei, Daten in Form von Dateien, die im angegebenen Ordner gespeichert sind, unterstützt die Dateiformate csv, hdf5 und feather three
In Anbetracht der großen Menge an Finanzdaten (z. B. umfasst die tägliche K-Linie aller Aktien mehr als 10 Millionen Datenzeilen, und die K-Linie auf Minutenebene hat ein noch größeres Datenvolumen) wird empfohlen, eine `mysql‘-Datenbank zur Speicherung der Daten zu verwenden, und der Datenaustausch ist ineffizient, wenn die Daten in lokalen Dateien gespeichert werden.
Verwenden Sie die folgenden Parameter, um ein DataSource-Objekt zu erstellen, das eine Verbindung zur lokalen Datenbank herstellt:
import qteasy as qt
ds_db = qt.DataSource(source_type='db', host='localhost', port=3306, user='user', password='password', db='qt_db')
Sie können die Art der Verbindung eines DataSource-Objekts über die Eigenschaft connection_type erfahren
print(ds_db.connection_type)
ds_db
db:mysql://localhost@3306/qt_db
DataSource('db', 'localhost', 3306)
Ein „DataSource“-Objekt, das einen lokalen Ordner verwendet, kann mit den folgenden Parametern erstellt werden
import qteasy as qt
ds_csv = qt.DataSource(source_type='file', file_loc='src/data', file_type='csv')
print(ds_csv.connection_type)
ds_csv
file://csv@qt_root/qteasy/data
DataSource('file', 'qteasy/data', 'csv')
Verwenden Sie qt.configuration, um die aktuellen Konfigurationsvariablen anzuzeigen, und qt.QT_DATA_SOURCE, um den aktuellen Datenquellentyp und die Parameter anzuzeigen
qt.configuration(config_key='local_data_source, local_data_file_type, local_data_file_path', default=False)
qt.QT_DATA_SOURCE
No. Config-Key Cur Val
-----------------------------------------
1 local_data_source database
2 local_data_file_type csv
3 local_data_file_path qteasy/data/
DataSource('db', 'localhost', 3306)
Historische Datentypen
qteasy kann eine Reihe verschiedener Datentypen verwalten, die automatisch heruntergeladen und lokal gespeichert werden, damit Handelsstrategien sie abrufen können. Jeder Datentyp hat eine eingebaute Daten-ID (data_id), anhand derer der Benutzer die entsprechenden Daten ansehen, lesen und herunterladen kann.
qt.find_history_data(s, match_description=False, fuzzy=False, freq=None, asset_type=None, match_threshold=0.85,)
qt.find_history_data()sucht nach allen in qteasy eingebauten Datentypen und listet die Daten-ID, den Asset-Typ und die Häufigkeit sowie eine detaillierte Beschreibung der Daten auf. Wenn Sieqt.get_history_data()` verwenden und die ID der gefundenen Daten als Argument übergeben, können Sie die heruntergeladenen historischen Daten direkt einsehen.
import qteasy as qt
qt.find_history_data('pe')
Die Ausgabe sieht folgendermaßen aus
matched following history data,
use "qt.get_history_data()" to load these historical data by its data_id:
------------------------------------------------------------------------
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 股票技术指标 - 动态市盈率
========================================================================
import qteasy as qt
qt.get_history_data('pe', '000001.SZ', start="20220101", end="20220201")
Out[16]:
{'000001.SZ':
pe
2022-01-04 11.1761
2022-01-05 11.5048
2022-01-06 11.4847
2022-01-07 11.5384
2022-01-10 11.5317
2022-01-11 11.6792
2022-01-12 11.4042
2022-01-13 11.3908
2022-01-14 10.9547
2022-01-17 10.8809
2022-01-18 11.0822
2022-01-19 11.0688
2022-01-20 11.6256
2022-01-21 11.6390
2022-01-24 11.5384
2022-01-25 11.3036
2022-01-26 11.1694
2022-01-27 10.9346
2022-01-28 10.6193
2022-01-31 10.6193
2022-02-01 10.6193}
Überprüfung von Daten aus lokalen Datenquellen
Verwenden Sie qt.get_table_overview(), um die Datenmenge zu sehen, die von der aktuellen Datenquelle heruntergeladen wurde. Wenn die Datenmenge groß ist, dauert es ein paar Minuten, um alle Daten zu analysieren und die Datenmenge, den belegten Speicherplatz und den Datenbereich für die Tabellen in der lokalen Datenquelle zu drucken
Lokale Daten werden in einer Reihe von Datentabellen gespeichert, Sie können auch qt.get_table_info() verwenden, um die Details einer Datentabelle zu erhalten. Dazu gehören der Primärschlüsseltyp und der Wertebereich der Datentabelle, aber auch der Name jeder Datenspalte, die Bedeutung und die Datentypen
qt.get_table_info(table_name, data_source=None, verbose=True)
Abrufen von Informationen über eine Datentabelle, einschließlich der Datenmenge (Anzahl der Zeilen), des belegten Speicherplatzes, des Namens des Primärschlüssels der Daten und des Datenbereichs Wenn Sie „verbose=True“ einstellen, können Sie auch vollständige Informationen über die Datenspalten in der Datentabelle anzeigen, einschließlich der Spaltennamen, Datentypen und Beschreibungen
qt.get_table_overview(data_source=None)
Zählt das Datenvolumen aller Datentabellen in der Datenquelle und gibt eine Übersicht aus.
Verwenden Sie qt.get_table_info(), um Informationen über eine Tabelle zu erhalten:
qt.get_table_info('stock_15min', verbose=True)
<stock_15min>, 15.85GB/100.9M records on disc
primary keys:
-----------------------------------
1: ts_code: *<CRITICAL>*
<unknown> entries
starts: 000001.SZ, end: 689009.SH
2: trade_time:
<unknown> entries
starts: 20090105, end: 20220323
columns of table:
------------------------------------
columns dtypes remarks
0 ts_code varchar(20) 证券代码
1 trade_time datetime 交易日期时间
2 open float 开盘价
3 high float 最高价
4 low float 最低价
5 close float 收盘价
6 vol double 成交量(股)
7 amount double 成交额(元)
Verwenden Sie qt.get_table_overview(), um einen Überblick über alle lokalen Daten in der DataSource zu erhalten.
qt.get_table_overview()
Analyzing local data source tables... depending on size of tables, it may take a few minutes
[########################################]62/62-100.0% Analyzing completed!or>>>>>ht>or>>
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 76K 1990-10-12 2022-12-31
stock_basic True 1.5MB 5K None None
stock_names True 2.4MB 13K 1990-12-10 2022-03-21
index_basic True 4.5MB 11K None None
fund_basic True 8.3MB 17K None None
future_basic True 2.5MB 7K None None
opt_basic True 4.5MB 10K None None
stock_15min True 15.85GB 100.9M 20090105 20220323
stock_30min True 6.66GB 38.9M 20090105 20220321
stock_hourly True 3.41GB 38.3M 20090105 20220318
stock_daily True 1.57GB 12.1M 1990-12-19 2022-03-22
stock_weekly True 217.9MB 2.4M 1990-12-21 2022-03-18
stock_monthly True 87.7MB 638K 1990-12-31 2022-02-28
index_15min True 2.07GB 17.6M 20090105 20220323
index_30min True 1.12GB 7.6M 20090105 20220318
index_hourly True 602.0MB 7.1M 20090105 20220113
index_daily True 357.0MB 2.2M 1990-12-19 2022-03-23
index_weekly True 56.6MB 611K 1991-07-05 2022-03-18
index_monthly True 22.5MB 139K 1991-07-31 2022-02-28
fund_hourly True 16KB 0 None None
fund_daily True 165.3MB 1.6M 1998-04-07 2022-03-22
fund_nav True 973.0MB 15.0M 2000-01-07 2022-03-22
fund_share True 69.7MB 1.1M 1998-03-27 2022-03-18
fund_manager True 84.7MB 40K 2000-02-22 2022-03-18
future_daily True 384.0MB 2.0M 1995-04-17 2022-03-23
options_daily True 753.0MB 5.3M 2015-02-09 2022-03-23
stock_adj_factor True 688.0MB 11.0M 1990-12-19 2022-03-23
fund_adj_factor True 112.7MB 1.9M 1998-04-07 2022-03-23
stock_indicator True 2.31GB 11.6M 1999-01-01 2022-03-23
stock_indicator2 True 988.0MB 4.8M 2017-06-14 2022-03-23
index_indicator True 5.5MB 45K 2004-01-02 2022-03-23
index_weight True 841.9MB 10.5M 2005-04-08 2022-03-17
income True 94.8MB 189K 1990-12-31 2021-12-31
balance True 130.0MB 172K 1989-12-31 2021-12-31
cashflow True 111.9MB 186K 1998-12-31 2021-12-31
financial True 373.0MB 152K 1989-12-31 2021-12-31
forecast True 50.6MB 86K 1998-12-31 2022-12-31
express True 4.5MB 23K 2004-12-31 2021-12-31
HistoryPanel und get_history_data
In qteasy 2.x wird qt.get_history_data() empfohlen, um ein HistoryPanel direkt zurückzugeben:
import qteasy as qt
hp = qt.get_history_data(
htypes='open, high, low, close, vol',
shares='000300.SH,000905.SH',
start='20230101',
end='20231231',
)
print(hp)
HistoryPanel ist ein 3D-Container mit Achsen:
Achse 0 (Aktien): Instrumentenliste, z.B. Aktien- oder Indexcodes
Achse 1 (hdates): Zeitachse – eine Zeile pro Zeitstempel
Achse 2 (htypes): Verlaufsdatentypen wie „open“, „high“, „low“, „close“, „vol“.
Das Schneiden mit „hp[…]“ gibt ein sub-HistoryPanel mit korrekten Achsenbeschriftungen zurück, kein rohes „ndarray“. Verwenden Sie hp['close'].values oder hp['close'].to_numpy(copy=True) für Arrays; Informationen zu benannten Slices und zum Kopierverhalten finden Sie unter „hp.subpanel(…, copy=True)“.
Verwenden Sie für Forschungsmasken und APIs mit „mask=“ „hp.where(condition)“ – ein Bool-Array, das mit „hp.values“ übereinstimmt, ohne „hp“ zu mutieren. Siehe HistoryPanel API und HistoryPanel Tutorial.
Seit 2.2.8: schreibgeschützte Spaltenattribute (hp.close ≡ hp['close']); Vergleiche („hp.close > 100“) ergeben Numpy-Bool-Arrays für „hp.where(…)“; Zeitfilterung über hp.loc[key] (≡ hp[:, :, key]). Siehe API „Spaltenzugriff, Vergleiche und Loc“ und Tutorial §6.1.
Strategien und Visualisierung teilen sich ein strukturiertes Objekt ohne wiederholte Konvertierungen.
Passen Sie vorhandene „DataFrame“ an oder diktieren Sie Daten mit „qt.dataframe_to_hp()“ und verwenden Sie dieselbe API wieder.
Von HistoryPanel zur Visualisierung
„HistoryPanel.plot()“ wählt Diagrammtypen (Kerze, Volumen, MACD, Linie) aus vorhandenen H-Typen aus und unterstützt den Vergleich mehrerer Instrumente:
import qteasy as qt
hp = qt.get_history_data(
htypes='open, high, low, close, vol',
shares='000300.SH',
start='20230101',
end='20231231',
)
# 静态 K 线 + 成交量
hp.plot(interactive=False)
# 交互式 K 线(在 Jupyter 中体验更好)
hp.plot(interactive=True)
HistoryPanel.plot Interaktive Visualisierung (Plotly)
„hp.plot(interactive=True)“ verwendet Plotly mit Zoom, Schwenken und Hover. In Notizbüchern wird FigureWidget (benötigt „ipywidgets“ und „anywidget“) bevorzugt; andernfalls HTML-Fallback. Legen Sie „plotly_backend_app=‘auto‘|‘FigureWidget‘|‘html‘ bei Bedarf explizit fest.
Abhängigkeiten und Installation
Grundlegende Interaktivität (Plotly Abbildung):
pip install plotly
Vollständige Notebook-Interaktivität (FigureWidget + Rückrufe):
pip install ipywidgets anywidget
Wenn Plotly fehlt, löst „interactive=True“ einen englischen Fehler aus (z. B. „requires plotly“), sodass fehlende Abhängigkeiten frühzeitig fehlschlagen, anstatt ein nicht interaktives leeres Diagramm zu erzeugen.
plotly_backend_app: Ausgabemodus und Fallback
plotly_backend_app gilt nur, wenn interactive=True:
plotly_backend_app='auto': FigureWidget in Notizbüchern bevorzugen; sonst HTML-Wrapper; kann in Skripten eine rohe Plotly-Zahl zurückgeben.plotly_backend_app='FigureWidget': Force FigureWidget; Fehler, wenn nicht im Notebook oder Deps fehlen.plotly_backend_app='html': HTML-Wrapper erzwingen; Fehler, wenn nicht im Notizbuch.
Wichtige interaktive Funktionen (Benutzeransicht)
Zoom-/Schwenkkonsistenz: HTML und FigureWidget haben dieselben X-Achsen-Einschränkungen – minimale sichtbare Balken, Zurückschwenken in den Datenbereich, wenn diese außerhalb der Grenzen liegen.
Top-OHLC-Zusammenfassung: wird angezeigt, wenn das vollständige OHLC-Candlestick-Hauptdiagramm vorhanden ist; Beginnt beim letzten Balken und wird beim Klicken aktualisiert. Ausgeblendet für reine Liniendiagramme (z. B. nur Schließen).
layout='overlay'für zwei Instrumente: Klicken auf einen Balken schaltet primär/sekundär um; Aktualisierung der Deckkraft und Linienbreite; „highlight“ folgt dem Hauptinstrument.Auswahl-Fadenkreuz: wird nach dem Klicken im Hauptpreisdiagramm angezeigt; synchronisiert sich beim Zoomen/Schwenken; ausgeblendet, wenn die ausgewählte Leiste nicht mehr sichtbar ist.
Beispiele: Zwei häufige interaktive Anrufe
Beispiel 1: Interaktiver Candlestick für ein einzelnes Instrument
hp.plot(interactive=True, plotly_backend_app='auto')
Beispiel 2: Zwei-Instrumenten-Overlay + Hervorhebung
hp2 = qt.get_history_data(
htypes='open, high, low, close, vol',
shares='000300.SH,000905.SH',
start='20230101',
end='20231231',
)
hp2.plot(
interactive=True,
layout='overlay',
highlight='max',
plotly_backend_app='html',
)
Die Visualisierung folgt „plotieren, was existiert“:
Nur Spalten, die bereits im HistoryPanel enthalten sind – keine neuen Indikatoren, die im Plot-Layer berechnet wurden
Candlestick, Volumen oder MACD hängen ausschließlich von den entsprechenden vorhandenen H-Typen ab
Typische Htype-zu-Diagramm-Zuordnung:
Diagrammtyp |
Beispiel-htypes erforderlich |
|---|---|
Leuchter |
|
Volumen |
|
MACD |
|
Liniendiagramm |
Jede 1-D-Reihe (z. B. „close“, „pe“) |
Berechnen Sie für MA/Bollinger/MACD auf HistoryPanel (hp.kline.ma(), hp.kline.bbands(), hp.kline.macd()), hängen Sie Spalten an und dann hp.plot().
Beziehung zwischen qt.candle und HistoryPanel
„qt.candle()“ ist eine allgemeine Abkürzung, um die Kerze eines Instruments in einer Zeile darzustellen:
stock,start,endanalysieren, von lokal DataSource abrufenPreise an ein einzelnes Instrument anpassen HistoryPanel
Angeforderte Indikatoren (MA, Bollinger, MACD) an HistoryPanel anhängen
Rufen Sie zum Rendern
hp.plot(...)auf
Behalten Sie vorhandene „qt.candle“-Aufrufe bei oder steuern Sie das Plotten direkt auf HistoryPanel.
Beispiel für blender
import qteasy as qt
# 快速绘制日 K 线(内部走 HistoryPanel 可视化)
df = qt.candle(
stock='000300.SH',
start='2023-06-01',
end='2023-12-01',
asset_type='IDX',
plot_type='candle',
interactive=True,
)
print(df.head()) # df 为用于绘图的价格数据
plot_type-Werte:
'candle'/'c': OHLC-Kerze'ohlc'/'o': Lightweight-Alias in der Nähe von'candle''line'/'l': 1-D-Preislinie (normalerweiseclose)„none“ / „n“: Nur Daten, „DataFrame“ für externes Plotten zurückgeben
Renko („renko“ / „r“) ist nicht mehr eingebaut; Verwenden Sie eine spezielle TA-/Charting-Bibliothek.
Abrufen historischer Daten und Speichern der Daten in DataSource
Wenn keine Daten in der DataSource vorhanden sind, kann qteasy nicht das tun, was es am besten kann. Das erste, was Sie tun müssen, ist, die Daten in der DataSource zu speichern. Die Klasse DataSource bietet die Funktion _fetch_table_data_from_tushare(), um die historischen Daten in die DataSource zu holen und zu speichern. In den Parametern dieser Funktion können Sie direkt einen DataFrame, einen csv-Dateinamen oder einen Excel-Dateinamen angeben. Sie können sich auch mit der API des Netzwerkdatenanbieters verbinden, um die Daten zu erhalten. Die Verwendung des DataSource-Objekts zum Abrufen und Aktualisieren von Daten beinhaltet folgende Methoden:
DataSource.update_table_data()
Nach der Überprüfung der Eingabedaten und dem Entfernen von nicht konformen Spalten oder Zeilen werden die Daten in die Tabelle zusammengeführt, was die folgenden Schritte umfasst:
Prüfen Sie, ob die Spaltennamen der heruntergeladenen Datentabelle mit der Definition der Datentabelle übereinstimmen, und löschen Sie die überflüssigen Spalten.
Wenn der Datenquellentyp „db“ ist, löschen Sie die Duplikate der lokalen Daten in den heruntergeladenen Daten und behalten Sie nur die neuen Daten.
Wenn der Datenquellentyp “file” ist, werden die heruntergeladenen Daten mit den lokalen Daten zusammengeführt und ihre Duplizierung aufgehoben.
DataSource.read_table_data()
Holen Sie die Daten aus einer lokalen Datei und speichern Sie sie in einer DataSource:
Der folgende Beispielcode wird im DataFrame in den Daten gespeichert, die in der DataSource im
# stock_data 是事先准备好的股票价格数据,格式为pd.DataFrame
df = ds_csv._fetch_table_data_from_tushare(table='stock_basic', channel='df', df=stock_data)
ds_csv.update_table_data('stock_basic', df)
ds_csv.table_data_exists('stock_basic')
Lokale Datenerfassung und -visualisierung
Solange die Daten in der lokalen Datenquelle verfügbar sind, ist es sehr einfach, auf sie zuzugreifen und sie, im Falle von Volumen- und Preisdaten, zu visualisieren (als K-Diagramm oder Preisdiagramm zu drucken).
Grundlegende Informationsdaten über den Bestand oder die Anlage
qt.get_basic_info(code_or_name: str, asset_types=None, match_full_name=False, printout=True, verbose=False)
Grundlegende Informationen über eine Aktie oder ein Wertpapier abrufen, code_oder_name kann der Code der Aktie oder der Name der Aktie sein, standardmäßig führt das System einen vollständigen Drama-Match durch, um passende Wertpapiere zu finden, z.B. '000001' wird mit einer Reihe verschiedener Wertpapiere abgeglichen, und alle Treffer werden aufgelistet, es sei denn, ein oder mehrere Wertpapiertypen sind im Feld Eine oder mehrere Wertpapierarten werden in asset_type angegeben. Wenn match_full_name=True gesetzt ist, werden die Wertpapiere unscharf nach dem vollständigen Namen der Aktie oder des Fonds abgeglichen
qt.get_stock_info(code_or_name: str, asset_types=None, match_full_name=False, printout=True, verbose=False)
Ein Alias für get_basic_info().
Screening von Bestandscodes
qt.filter_stocks(date: str = 'today', **kwargs)
Screening einer Auswahl von Aktien auf der Grundlage einer breiten Palette verfügbarer Informationen wie Ausgabedatum, Region, Branche, Größe, Indexbestandteile usw. und Ausdrucken der Aktieninformationen
qt.filter_stock_codes(date: str = 'today', **kwargs)
Filtern einer Auswahl von Aktien auf der Grundlage einer Vielzahl verfügbarer Informationen wie Emissionsdatum, Region, Branche, Größe, Indexbestandteile usw. und Rückgabe des vollständigen Aktiencodes
Extrahieren von Daten zur Finanzgeschichte
Visualisierung von Mengen- und Preisdaten
qt.candle(stock=None, start=None, end=None, stock_data=None, asset_type=None, freq=None, plot_type='candle', Interactive=True, data_source=None, **kwargs)
Diese Funktion extrahiert die Kursdaten einer Aktie aus einer lokalen Datenquelle und generiert ein vollständiges dynamisches K-Chart
Beispiel für blender
Finden Sie grundlegende Informationen über Wertpapiere
Verwendung von qt.get_basic_info(), um grundlegende Informationen über ein Wertpapier zu erhalten Nachdem die relevanten Finanzdaten in der DataSource vorbereitet wurden, ist es auch einfach, Informationen über ein Wertpapier zu finden, indem man nach dem Sicherheitscode (sechs Ziffern) oder nach dem Namen des Wertpapiers sucht und die Details ausdruckt. Bei der Suche über den Namen des Wertpapiers wird eine unscharfe Suche oder die Verwendung von Wildcards unterstützt:
Zum Beispiel die Beschaffung von Informationen über ein Wertpapier mit Hilfe eines sechsstelligen Codes:
qt.get_basic_info('601728')
found 1 matches, matched codes are {'E': {'601728.SH': '中国电信'}, 'IDX': {}, 'FT': {}, 'FD': {}, 'OPT': {}, 'count': 1}
More information for asset type E:
------------------------------------------
ts_code 601728.SH
name 中国电信
area 北京
industry 电信运营
fullname 中国电信股份有限公司
list_status L
list_date 2021-08-20
-------------------------------------------
Es ist auch möglich, ein Wertpapier direkt über seinen Namen zu finden, wobei eine unscharfe Suche z. B. mehrere Wertpapiere abdeckt:
qt.get_basic_info('中国证券')
Too many matched codes 128, best matched are
{'E': {'000728.SZ': '国元证券'}, 'IDX': {'100630.CIC': '中金证券'}, 'FD': {'001552.OF': '天弘中证证券保险A'}}
pass "verbose=Ture" to view all matched assets
More information for asset type E:
------------------------------------------
ts_code 000728.SZ
name 国元证券
area 安徽
industry 证券
fullname 国元证券股份有限公司
list_status L
list_date 1997-06-16
-------------------------------------------
More information for asset type IDX:
------------------------------------------
ts_code 100630.CIC
name 中金证券
fullname 中金证券指数
publisher 中金公司
category 其他
list_date None
-------------------------------------------
More information for asset type FD:
------------------------------------------
ts_code 001552.OF
name 天弘中证证券保险A
management 天弘基金
custodian 国泰君安
fund_type 股票型
issue_date 2015-06-29
issue_amount 0.05
invest_type 被动指数型
type 契约型开放式
-------------------------------------------
Bei der Suche nach dem Namen eines Wertpapiers wird eine Wildcard-Suche unterstützt:
qt.get_basic_info('中国?通')
found 2 matches, matched codes are {'E': {'600050.SH': '中国联通', '601698.SH': '中国卫通'}, 'IDX': {}, 'FD': {}, 'count': 2}
More information for asset type E:
------------------------------------------
ts_code 600050.SH 601698.SH
name 中国联通 中国卫通
area 北京 北京
industry 电信运营 电信运营
fullname 中国联合网络通信股份有限公司 中国卫通集团股份有限公司
list_status L L
list_date 2002-10-09 2019-06-28
-------------------------------------------
Standardmäßig wird der vollständige Name des Wertpapiers nicht nachgeschlagen, kann aber bei Bedarf abgeglichen werden, z. B…
# 使用‘贵州钢绳’为关键字搜索股票代码,不匹配全名时,找不到匹配的结果:
qt.get_basic_info('贵州钢绳')
Die Ergebnisse des Laufs sind wie folgt:
found 0 matches, matched codes are {'E': {}, 'IDX': {}, 'FD': {}, 'count': 0}
# 然而如果设置了匹配全名`match_full_name=True`,则能够找到匹配的代码:
qt.get_basic_info('贵州钢绳', match_full_name=True)
Die Ergebnisse des Laufs sind wie folgt:
found 1 matches, matched codes are {'E': {'600992.SH': '贵绳股份'}, 'IDX': {}, 'FD': {}, 'count': 1}
More information for asset type E:
------------------------------------------
ts_code 600992.SH
name 贵绳股份
area 贵州
industry 钢加工
fullname 贵州钢绳股份有限公司
list_status L
list_date 2004-05-14
-------------------------------------------
qt.filter_stocks wird verwendet, um Aktien nach bestimmten Kriterien zu filtern, zum Beispiel:
# 筛选2000年以后发行的HS300指数成份股
qt.filter_stocks(date = '20000101', 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 |
| ... | ... | ... | ... | ... | ... | ... | ... |
| 603486.SH | 603486 | 科沃斯 | 江苏 | 家用电器 | 主板 | 2018-05-28 | SSE |
| 605499.SH | 605499 | 东鹏饮料 | 深圳 | 软饮料 | 主板 | 2021-05-27 | SSE |
| 688561.SH | 688561 | 奇安信-U | 北京 | 软件服务 | 科创板 | 2020-07-22 | SSE |
| 688599.SH | 688599 | 天合光能 | 江苏 | 电气设备 | 科创板 | 2020-06-10 | SSE |
| 688981.SH | 688981 | 中芯国际 | 上海 | 半导体 | 科创板 | 2020-07-16 | SSE |
397 rows × 7 columns













