2. データの取得と管理

qteasyを使用すると、大量の履歴データを取得して管理できます。 qteasy が管理できる履歴データは、価格データ、テクニカル指標、マクロ経済、企業財務報告書、マクロファイナンスなどを含む株式、ファンド、指数、先物などをカバーします。

すべてのデータは、tushare インターフェイスを通じて取得できます。ローカルにダウンロードした後、qteasy インターフェイスを介して管理し、呼び出すことができます。

サポートされている履歴データを探しています

必要に応じて qt.find_history_data() to search across all known historical data types by name, Chinese description, or wildcard, and return either a list of data_id values compatible with get_history_data() または構造化された DataFrame の結果を使用すると、利用可能なデータ フィールドを探索しやすくなります。

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][ソース]

入力文字列に基づいて、履歴データの種類を検索または照合し、履歴データに関する詳細情報を表示します。ファジー検索、ワイルドカード、英語文字または中国語を使用した履歴データ タイプの検索/照合をサポートし、データフレームの形式でより構造化された結果を返します。

パラメータ:
  • s (str) -- 履歴データ型の検索または照合に使用される文字列

  • match_description (bool, Default: False) -- データ記述をあいまい一致するかどうか。指定された文字列に非 ASCII 文字が含まれている場合は、自動的に True に設定されます。 - False: データ型名のみに一致します。 - True: データ型名とデータの説明の両方に一致します。

  • fuzzy (bool, Default: False) -- データ名をあいまい一致するかどうか。指定された文字列に非 ASCII 文字またはワイルドカード文字 */? が含まれている場合、自動的に True に設定されます - False: データ名と完全一致 - True: データ名またはデータ説明とあいまい一致

  • freq (str, Default: None) -- データの頻度が指定されている場合、データの頻度のみが一致します。単一の周波数、またはカンマで区切って複数の周波数を入力できます。

  • asset_type (str, Default: None) -- アセット タイプが指定されている場合は、データのアセット タイプにのみ一致します。単一のアセット タイプを入力することも、カンマで区切って複数のアセット タイプを入力することもできます。

  • match_threshold (float, default 0.85) -- 一致度の閾値。この閾値を超える一致度を持つ項目を一致と判断します。

  • table (str or list of str, Default: None) -- データテーブル名フィルター。指定した場合、これらのテーブルのデータ型のみと一致します。単一のテーブル名またはカンマ区切りの文字列を指定できます

  • as_data_frame (bool, Default: False) --

    • False: data_id 値の下位互換性リストを返し、一致したデータ型に関する情報を出力します。

    • True: 印刷出力に依存せずに、一致した結果に関する詳細情報を含む DataFrame を返します。

戻り値:

  • data_id (list[str]) -- as_data_frame が False の場合、一致したデータ型の data_id 値のリスト。 qt.get_history_data() 経由でデータをダウンロードするために使用できます。

  • pandas.DataFrame -- as_data_frame が True の場合、DataFrame を返します。各行は一致したデータ型に対応し、少なくとも次の列が含まれます。

    • name: データ型名

    • description: データ型の中国語の説明

    • freq: 周波数

    • asset_type: アセットタイプ

    • table_name: 基礎となるデータテーブル名

    • 列: 対応するデータフィールド名

サンプル

>>> 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  上市公司财务指标 - 稀释每股收益同比增长率(%)
========================================================================
例外:

TypeError -- 入力 s が文字列ではないか、freq/asset_type/table が文字列またはリストではありません

履歴データのダウンロード

qt.refill_data_source() を使用すると、指定したテーブルまたは目的のデータをリモート財務データ API (データ タイプ、頻度、資産タイプなどによるフィルタリングをサポート) からバッチ ダウンロードし、ローカル DataSource でのクリーニングと書き込みを完了できます。依存テーブルと取引カレンダーの更新は内部で自動的に処理されます。特定のワークフローと推奨されるパラメーターの組み合わせについては、manage_data シリーズのドキュメントを参照してください。

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[ソース]

ネットワーク データ プロバイダーの API チャネルからデータをバッチでダウンロードし、クリーンアップして、ローカル データ ソースに入力します。

パラメータ:
  • tables (str or list of str, default: None) -- データ テーブル名は、データベースに定義されているデータ テーブルである必要があり、ダウンロードするデータ テーブルを指定するために使用されます。 「stock_daily、stock_weekly」などのデータ テーブル名を指定することも、「data、basic」などのデータ テーブルの目的を指定することもできます。

  • data_source (DataSource, Default None) -- DataSource にはデータが入ります。なしの場合は、データ ソースを QT_DATA_SOURCE に入力します。

  • channel (str, optional, Default 'tushare') -- データ取得チャネルである財務データ API は、以下のオプションをサポートしています。 - 'tushare' : Tushare API から財務データを取得します。対応する権限とポイントを自分で申請してください。 - 'akshare' : AKshare API から財務データを取得します。 - 'eastmoney' : Eastmoney から財務データを取得します。

  • tables -- データ テーブル名。データベースで定義されたデータ テーブルである必要があります。ダウンロードするデータ テーブルを指定するために使用されます。

  • dtypes (str or list of str, default: None) -- ダウンロードするデータ タイプは、データ テーブルをさらにフィルタリングするために使用され、データベースで定義されているデータ タイプである必要があります。

  • freqs (str or list of str, default: None) -- ダウンロードされるデータ頻度は、データ テーブルをさらにフィルタリングするために使用され、データベースで定義されたデータ頻度である必要があります。

  • asset_types (str or list of str, default: None) -- ダウンロードするアセット タイプは、データ テーブルをさらにフィルタリングするために使用され、データベースで定義されているアセット タイプである必要があります。

  • refresh_trade_calendar (Bool, Default False) -- True の場合、 trade_calendar テーブルがダウンロードされます

  • refill_dependent_tables (Bool, Default True, New in v1.4.3) -- False に設定すると、依存関係テーブルが無視されるため、データのダウンロードが失敗する可能性があります。

  • start_date (str YYYYMMDD) -- データのダウンロードの時間範囲を制限します。 start_date/end_date が指定されている場合、この期間内のデータのみがダウンロードされます

  • end_date (str YYYYMMDD) -- データのダウンロードの時間範囲を制限します。 start_date/end_date が指定されている場合、この期間内のデータのみがダウンロードされます

  • list_arg_filter (str or list of str, default: None 注意,不是所有情况下filter_arg参数都有效) -- ダウンロードを制限するために使用されるフィルター パラメーター。一部のデータ テーブルでは、フィルター可能なパラメーターがリストとして提供されます。たとえば、stock_basic テーブルには、オプション「SSE」、「SZSE」、「BSE」を持つフィルター パラメーター「exchange」があります。このパラメータを使用して、ダウンロードの範囲を制限できます。 filter_arg が None の場合、すべてのデータがダウンロードされます。たとえば、stock_basic テーブル データをダウンロードする場合、次の入力はすべて有効です。 - 「SZSE」は深セン証券取引所に上場されているダウンロード専用銘柄です - ['SSE'、'SZSE'] - 'SSE、SZSE' 上記 2 つの形式は同等です。上海証券取引所と深セン証券取引所に上場されている株式をダウンロードする

  • symbols (str or list of str, default: None) -- データのダウンロードに使用される銘柄コード。シンボルが指定されている場合は、その銘柄コードのデータのみがダウンロードされます

  • reversed_par_seq (Bool, Default False) -- True の場合、データを逆の順序でダウンロードします - False : データを通常の順序でダウンロードします

  • parallel (Bool, Default True) -- True の場合、マルチスレッドのデータ ダウンロードを有効にします。False: マルチスレッドのダウンロードを無効にします。

  • process_count (int) -- マルチスレッド ダウンロードが有効な場合に同時に開かれるスレッドの数。デフォルト値はデバイスの CPU コアの数です。

  • chunk_size (int) -- ローカルに保存する前に蓄積されるデータの数、chunk_size はバッチ サイズ、デフォルト値は 100

  • download_batch_size (int, default 0) -- 一時停止する前にダウンロードされるデータの数。このパラメータは、Parallel=False の場合にのみ有効です。 0の場合、一時停止せず、すべてのデータを一度にダウンロードします

  • download_batch_interval (int, default 0) -- データのダウンロードを続行する前に一時停止する秒数。このパラメータは、Parallel=False の場合にのみ有効です。 <=0 の場合、一時停止せずに、データのダウンロードの次のバッチをすぐに開始します。

  • merge_type (str, Default 'update') -- データ ソースにデータを書き込むときのマージ メソッドは、次のオプションをサポートします。 - 'update' : データを更新します。データがすでに存在する場合、データを更新します。 - 'ignore' : データを無視します。データがすでに存在する場合、ダウンロードされたデータを破棄します。

  • log (Bool, Default False) -- True の場合、データのダウンロード ログを記録します

戻り値の型:

None

サンプル

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

履歴データをローカルにダウンロードした後、このデータを確認、管理、呼び出すことができます。

ローカルデータを確認する

qteasy.get_table_info(table_name, data_source=None, verbose=True) dict[ソース]

データ ボリューム、ディスク領域の使用状況、主キー名、内容、データ列の名前、データ型、説明など、データ ソース内のデータ テーブルに関する情報を取得して出力します。

パラメータ:
  • table_name (str) -- クエリ対象のデータテーブル名

  • data_source (DataSource) -- データテーブル情報を取得するデータソース、デフォルトはNone、今回はQT_DATA_SOURCE情報を取得します

  • verbose (bool, Default: True,) -- True の場合、データ列の名前と型の完全なリストを出力します。

戻り値:

data_struct -- データ テーブルに関する構造化情報: {

table name: データテーブル名 table_exists: bool、データテーブルが存在するかどうか table_size: int/str、データテーブルが占有するディスク容量、human True の場合、読みやすい文字列を返します table_rows: int/str、データテーブルの行数、human True の場合、読みやすい文字列を返しますprimary_key1: str、データテーブルの最初の主キーの名前 pk_count1: int、データの最初の主キーのレコード数table pk_min1: obj、データテーブルの主キー 1 の開始レコード pk_max1: obj、データテーブルの主キー 2 の最終レコード Primary_key2: str、データテーブルの 2 番目の主キーの名前 pk_count2: int、データテーブルの 2 番目の主キーのレコード数 pk_min2: obj、データテーブルの主キー 2 の開始レコード pk_max2: obj、主キーの最終レコード 2 of the data table

}

戻り値の型:

dict

サンプル

>>> 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)  是否沪深港通

ダウンロードしたローカルデータの概要を取得する

qt.get_table_overview() and qt.get_data_overview() は、ローカル データ ソースの各タイプのデータ テーブルに現在データがあるかどうか、ディスク領域の使用状況、レコード数、および時間カバレッジ範囲を要約して表示します。これにより、データの準備状況を確認するためのエントリ ポイントとして適切になります。

qteasy.get_table_overview(data_source=None, tables=None, include_sys_tables=False) DataFrame[ソース]

デフォルトのデータソースまたは指定したデータソースのデータ概要を表示します。

パラメータ:
  • data_source (Object) -- data_source オブジェクト。デフォルトは None です。なしの場合、デフォルトのデータソースの概要を表示します。

  • tables (str or list of str, Default: None) -- 指定した場合はデータ テーブルの概要を表示し、なしの場合はすべてのデータ テーブルの概要を表示します。

  • include_sys_tables (bool, Default: False) -- True の場合、システム データ テーブルの概要を表示します。

戻り値の型:

pd.DataFrame

メモ

使用例は get_data_overview() を参照してください。

qteasy.get_data_overview(data_source=None, tables=None, include_sys_tables=False) DataFrame[ソース]

get_table_overview() と同等のデータ ソースのデータ概要を表示します。

情報には、すべてのデータテーブルのデータ量、占有ディスク容量、主キー名、内容などが含まれます。

パラメータ:
  • data_source (Object) -- data_source オブジェクト。デフォルトは None です。なしの場合、デフォルトのデータソースの概要を表示します。

  • tables (str or list of str, Default: None) -- 指定した場合はデータ テーブルの概要を表示し、なしの場合はすべてのデータ テーブルの概要を表示します。

  • include_sys_tables (bool, Default: False) -- True の場合、システム データ テーブルの概要を表示します。

戻り値:

  • pd.DataFrame

  • データテーブルの概要情報を含むDataFrameを返します

サンプル

>>> 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

ダウンロードしたデータを利用する - 基本データ

qt.get_basic_info() and qt.get_stock_info() provide entry points for querying basic information on stocks/funds/indices, etc. by code or name. They can be used together with filter_stock_codes() and filter_stocks() を使用して、資産プールを構築するか、事前フィルタリングを実行します。

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

get_stock_info(); と同等です。入力に基づいて、株式、ファンド、指数、先物およびオプションに関する基本情報を検索します。

パラメータ:
  • code_or_name (str) -- セキュリティコードまたは名前: - セキュリティコードの場合、サフィックスが含まれる場合と含まれない場合があります。サフィックスを使用すると、正確な検索が実行されます。サフィックスを指定しないと、グローバル一致が実行されます。 - セキュリティ名の場合、あいまい検索にワイルドカード パターンを使用したり、名前によるあいまい検索を実行したりできます。 - セキュリティ コードが 1 つだけ一致した場合は、そのセキュリティ コードに関連する情報を含む辞書を返します。

  • asset_types (str, list of str, optional) -- セキュリティタイプ。認識されたアセット タイプを含むリストまたはカンマ区切りの文字列を受け入れます。 - E ストック - IDX インデックス - FDファンド - FT先物 - OPTオプション

  • match_full_name (bool, default False) -- True の場合、株式またはファンドの完全名と一致します。デフォルトは False です。フルネームが一致する場合はさらに時間がかかります

  • printout (bool, default True) -- True の場合、一致した結果を出力します

  • verbose (bool, default False) -- 一致する銘柄が多すぎる場合(5 つ以上)、完全な情報を表示するかどうか - False (デフォルト): 最も関連性の高い一致のみを表示します。 - True: 一致した結果をすべて表示します

戻り値:

stock_basic -- 一致が 1 つだけ見つかった場合は、見つかった基本情報を含む辞書を返します。情報は証券の種類によって異なります。 - 株式: 会社名、地域、業種、氏名、上場状況、上場日 - インデックス: インデックス名、フルネーム、発行者、カテゴリ、発行日 - ファンド: ファンド名、マネージャー、カストディアン、ファンドの種類、発行日、発行額、投資タイプ、カテゴリ - 先物: 先物名 - オプション: オプション名

戻り値の型:

dict

サンプル

>>> 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)[ソース]
get_basic_info() と同じ

入力情報をもとに株式、ファンド、指数、先物、オプションの基本情報を検索します。

パラメータ:
  • code_or_name (str) -- 銘柄コードまたは銘柄名。銘柄コードの場合は、サフィックスを含めても含めなくてもかまいません。サフィックスが含まれている場合は、正確に検索されます。サフィックスが含まれていない場合は、グローバルに一致します。株名の場合は、ワイルドカードあいまい検索または名前によるあいまい検索を含めることができます。完全に一致する銘柄コードが見つかった場合は、銘柄コードの関連情報を含む辞書を返します。

  • asset_types (str or list of str, optional) -- セキュリティタイプ。認識されたアセット タイプを含むリストまたはカンマ区切りの文字列を受け入れます。 - E ストック - IDX インデックス - FDファンド - FT先物 - OPTオプション

  • match_full_name (bool, default False) -- True の場合、株式またはファンドの完全名と一致します。デフォルトは False です。フルネームが一致する場合はさらに時間がかかります

  • printout (bool, default True) -- True の場合、一致した結果を出力します

  • verbose (bool, default False) -- 一致する銘柄が多すぎる場合(5 つ以上)、完全な情報を表示するかどうか - False (デフォルト): 最も関連性の高い一致のみを表示します。 - True: 一致した結果をすべて表示します

戻り値:

stock_info -- 一致するものが 1 つだけ見つかった場合は、見つかった基本情報を含む辞書を返します。情報はセキュリティの種類によって異なります。 - 株式情報:会社名、地域、業種、氏名、上場状況、上場日 - インデックス情報: インデックス名、フルネーム、発行者、カテゴリ、発行日 - 資金:

戻り値の型:

dict

メモ

使用例は get_basic_info() を参照してください。

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

入力パラメーターに基づいて銘柄をフィルターし、filter_stocks を呼び出して銘柄コードのリストを返します。

パラメータ:
  • date (date-like str) -- 株式の上場日をフィルタリングします。この日以降に上場された株式は除外されます。

  • kwargs (str or list of str) -- 次のパラメータを使用して株式をフィルタリングできます。複数の絞り込み条件を同時に入力でき、条件を満たす銘柄のみを絞り込みます

戻り値の型:

list, 股票代码清单

参考

filter_stocks

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

入力パラメーターに基づいて銘柄をフィルターし、銘柄コードと関連情報を含むデータフレームを返します。

パラメータ:
  • date (date-like str) -- 株式の上場日をフィルタリングします。この日以降に上場された株式は除外されます。

  • kwargs (str or list of str) -- 次のパラメータを使用して株式をフィルタリングできます。複数の絞り込み条件を同時に入力でき、条件を満たす銘柄のみを絞り込みます - 指数:指数で絞り込み、指定した指数に含まれない銘柄は除外します - 業界:企業の業種、上場業種のみを選択します - 地域:企業の所在地の省、上場省の株式のみを選択します - 市場:市場、メインボード、GEMなどに分かれています - 取引所:上海証券取引所、深セン証券取引所を含む取引所

戻り値:

DataFrame

戻り値の型:

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

サンプル

>>> # 筛选出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

ダウンロードしたデータを使用して価格やテクニカル指標を取得します

データ取得エントリ ポイント: 日常の分析、戦略作業、視覚化の準備には、 ⟦コード0⟧⟦コード1⟧⟦コード2⟧⟦コード3⟧⟦コード4⟧⟦コード5⟧⟦コード6⟧⟦コード7⟧⟦コード8⟧⟦コード9⟧⟦コード10⟧⟦コード11⟧⟦コード12⟧

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)[ソース]

指定された商品、データ型、頻度を指定して、ローカル データ ソースから履歴データを取得し、戦略で直接使用できる構造に組み立てます。

必要なデータ型を指定するには、 ⟦コード0⟧⟦コード1⟧⟦コード2⟧⟦コード3⟧⟦コード4⟧⟦コード5⟧⟦コード6⟧⟦コード7⟧⟦コード8⟧⟦コード9⟧⟦コード10⟧⟦コード11⟧⟦コード12⟧、この関数は、HistoryPanel、または計測器/データ型ごとにグループ化された DataFrame の辞書を返します。データ型推論、頻度変換、trade_time_only などの高度な使用方法については、ドキュメント「履歴データの取得 get_history_data」の関連セクションを参照してください。

パラメータ:
  • htype_names (str or list of str, optional) -- 取得する履歴データ名のコレクション。カンマ区切りの文字列にすることができます (例: 'open, high, low, close') or a list (e.g., ['open', 'high', 'low', 'close']). If empty, the system will infer available htypes based on parameters such as freq / asset_type)。

  • htypes (list of DataType, optional, deprecated) -- 履歴データ型オブジェクトのリスト。セマンティクスは htype_names. Prefer the new htype_names / data_types インターフェイスに似ています。

  • data_types (list of DataType, optional) -- 取得する履歴データ型のセットは、正当なデータ型オブジェクトである必要があります。このパラメータが指定されている場合、htype_names は無視されます。それ以外の場合は、htype_names パラメータに基づいて、可能な htype が作成されます。

  • data_source (DataSource, optional) -- 履歴データを取得するデータソース

  • shares (str or list of str, optional) -- セキュリティコードの収集。カンマ区切りの文字列にすることができます (例: '000001.SZ, 000002.SZ') or a list (e.g., ['000001.SZ', '000002.SZ'])。

  • symbols (str or list of str, optional) -- セキュリティコードの収集。カンマ区切りの文字列にすることができます (例: '000001, 000002') or a list (e.g., ['000001', '000002'])。

  • start (str, optional) -- YYYYMMDD HH:MM:SS 形式の日付/時刻、取得する履歴データの開始日付/時刻 (利用可能な場合)

  • end (str, optional) -- YYYYMMDD HH:MM:SS 形式の日付/時刻、取得する履歴データの終了日付/時刻 (利用可能な場合)

  • rows (int, default 10) -- 取得する履歴データの行数。 start、endを指定した場合、本パラメータは無視され、取得データの時間範囲は[start, end]となります。 start と end を指定しない場合は、データ テーブル内の最新のデータ行が取得されます。行を使用してデータを取得すると、日付を使用するよりもはるかに時間がかかります

  • freq (str, optional) -- 頻度;などの分間隔をサポートします。 ⟦コード0⟧⟦コード1⟧⟦コード2⟧⟦コード3⟧⟦コード4⟧⟦コード5⟧⟦コード6⟧⟦コード7 ⟧⟦コード8⟧⟦コード9⟧⟦コード10⟧⟦コード11⟧⟦コード12⟧⟦コード13⟧⟦コード14⟧ (ローソク足など)。

  • asset_type (str or list of str, optional) -- 資産タイプのフィルター。カンマ区切りの文字列にすることができます (例: ⟦コード0⟧⟦コード1⟧⟦コード2⟧⟦コード3⟧⟦コード4⟧⟦コード5⟧⟦コード6⟧⟦コード7⟧⟦コード8⟧⟦コード9⟧⟦コード10⟧⟦コード11⟧⟦コード12⟧、など

  • adj (str, optional, deprecated) -- 廃止された調整オプション(none/n, back/``b`⟦CODE7 ⟧⟦コード8⟧⟦コード9⟧⟦コード10⟧⟦コード11⟧⟦コード12⟧⟦コード13⟧⟦コード14⟧`)。

  • as_data_frame (bool, default True) -- HistoryPanel when True; returns a dictionary of DataFrame when ``False``を返します。

  • group_by (str, default 'shares') -- DataFrame の辞書を返すときのグループ化キー。一般的には 'shares'/'share'/'s' or 'htypes'/'htype'/'h'

  • **kwargs -- 基礎となるデータ取得/周波数変換に渡される追加パラメーター (例: drop_nan, resample_method, etc.). For detailed available values and semantics, see the documentation “Historical Data Retrieval get_history_data” and the infer_data_types メモ)。

戻り値:

  • HistoryPanel -- as_data_frame が False の場合、要求されたすべてのデータを含む HistoryPanel オブジェクトを返します。

  • pandas.DataFrame の辞書 -- as_data_frame is True, returns a dict of DataFrames grouped by group_by の場合。

サンプル

>>> 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
}