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, 股票代码清单
- 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 asfreq/asset_type)。htypes (list of DataType, optional, deprecated) -- 履歴データ型オブジェクトのリスト。セマンティクスは
htype_names. Prefer the newhtype_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) --
HistoryPanelwhenTrue; returns a dictionary ofDataFramewhen ``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 theinfer_data_typesメモ)。
- 戻り値:
HistoryPanel --
as_data_frameが False の場合、要求されたすべてのデータを含む HistoryPanel オブジェクトを返します。pandas.DataFrame の辞書 --
as_data_frameis True, returns a dict of DataFrames grouped bygroup_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 }