Skip to content

DataStore query 模块

数据查询核心模块,提供从存储层查询各类行情数据的功能。

模块结构

query.py

核心查询函数

股票数据

python
from FQData.DataStore.query import (
    query_stock_day,
    query_stock_min,
    query_stock_list,
    query_stock_info,
    query_stock_block,
    query_stock_adj,
    query_stock_full,
    query_stock_terminated,
)
函数说明
query_stock_day查询股票日线
query_stock_min查询股票分钟线
query_stock_list查询股票列表
query_stock_info查询股票信息
query_stock_block查询股票板块
query_stock_adj查询股票复权因子
query_stock_full查询完整股票数据
query_stock_terminated查询已退市股票

指数数据

python
from FQData.DataStore.query import (
    query_index_day,
    query_index_min,
    query_index_list,
    query_index_name,
    query_index_transaction,
)
函数说明
query_index_day查询指数日线
query_index_min查询指数分钟线
query_index_list查询指数列表
query_index_name查询指数名称
query_index_transaction查询指数成交明细

期货数据

python
from FQData.DataStore.query import (
    query_future_day,
    query_future_min,
    query_future_tick,
    query_future_list,
    query_ctp_tick,
)
函数说明
query_future_day查询期货日线
query_future_min查询期货分钟线
query_future_tick查询期货 Tick
query_future_list查询期货列表
query_ctp_tick查询 CTP Tick

其他查询

python
from FQData.DataStore.query import (
    query_trade_date,
    query_stock_name,
    query_etf_name,
    query_bond2stock_day,
    query_bond2stock_min,
)
函数说明
query_trade_date查询交易日
query_stock_name查询股票名称
query_etf_name查询 ETF 名称
query_bond2stock_day查询可转债日线
query_bond2stock_min查询可转债分钟线

工具函数

_normalize_date

统一日期参数处理。

python
from FQData.DataStore.query import _normalize_date

date_str = _normalize_date('2024-01-01')
date_str = _normalize_date(None)  # 自动使用上一交易日

参数:

参数类型默认值说明
date_valAny-日期值(str/date/datetime/None)
defaultstrNone默认日期

返回: str - YYYY-MM-DD 格式的交易日期

_validate_code_list

验证并标准化代码列表。

python
from FQData.DataStore.query import _validate_code_list

codes = _validate_code_list('600000')  # ['600000']
codes = _validate_code_list(['600000', '000001'])  # ['600000', '000001']
codes = _validate_code_list(None)  # []

参数:

参数类型说明
codestr/List[str]单个代码或代码列表

返回: List[str] - 代码列表


工具常量

_FREQUENCE_MAP

频率映射表。

python
from FQData.DataStore.query import _FREQUENCE_MAP

freq = _FREQUENCE_MAP.get('5min')  # '5min'
freq = _FREQUENCE_MAP.get('5m')     # '5min'

使用示例

基本查询

python
from FQData.DataStore.query import query_stock_day

df = query_stock_day(
    code='600000',
    start_date='2024-01-01',
    end_date='2024-12-31'
)
print(df.head())

批量查询

python
df = query_stock_day(
    code=['600000', '000001', '000002'],
    start_date='2024-01-01',
    end_date='2024-06-30'
)
print(df.head())

不同返回格式

python
from FQData.DataStore.query import query_stock_day

# DataFrame (默认)
df = query_stock_day(code='600000', start_date='2024-01-01', end_date='2024-01-31', format='pd')

# numpy
arr = query_stock_day(code='600000', start_date='2024-01-01', end_date='2024-01-31', format='numpy')

# list
lst = query_stock_day(code='600000', start_date='2024-01-01', end_date='2024-01-31', format='list')

# dict
d = query_stock_day(code='600000', start_date='2024-01-01', end_date='2024-01-31', format='dict')

相关文档