Skip to content

DataStruct - API参考 ​

阅读路径 ​

角色阅读路径
🔵 开发者README → 技术架构 → API参考

概述 ​

DataStruct 模块 API 参考文档。

类 ​

QuotationDataStructBase ​

位置: FQData/DataStruct/_base.py

描述: 行情数据结构基类,所有具体数据类的父类

python
from FQData.DataStruct import StockDayData

stock = StockDayData(data)

参数 ​

参数类型必填默认值描述
datapd.DataFrame是-行情数据,必须包含 open/high/low/close/volume 列
dtypestr否None数据类型
if_fqstr否'qfq'复权类型:'qfq'/'hfq'/'none'
market_typestr否None市场类型
frequencestr否None数据频率:'day'/'min1'/'min5' 等

属性 ​

属性类型描述
datapd.DataFrame原始数据
indexpd.Index数据索引
openpd.Series开盘价
highpd.Series最高价
lowpd.Series最低价
closepd.Series收盘价
volumepd.Series成交量
amountpd.Series成交额

方法 ​

select_code ​
python
result = stock.select_code('000001')

描述: 按股票代码筛选数据

参数:

参数类型必填描述
codestr是股票代码

返回: QuotationDataStructBase

select_time ​
python
result = stock.select_time('2024-01-01', '2024-01-31')

描述: 按时间范围筛选数据

参数:

参数类型必填描述
start_datestr是开始日期 (YYYY-MM-DD)
end_datestr是结束日期 (YYYY-MM-DD)

返回: QuotationDataStructBase

to_df ​
python
df = stock.to_df()

描述: 转换为 Pandas DataFrame

返回: pd.DataFrame

resample ​
python
result = stock.resample('W')

描述: 重采样,转换为不同周期

参数:

参数类型必填描述
freqstr是目标频率:'D'/'W'/'M' 等

返回: 重采样后的数据对象


StockDayData ​

位置: FQData/DataStruct/stock.py

描述: 股票日线数据类

python
from FQData.DataStruct import StockDayData

stock = StockDayData(data)

特有属性 ​

属性类型描述
preclosepd.Series昨收价
changepd.Series涨跌额
pct_changepd.Series涨跌幅
amplitudepd.Series振幅
high_limitpd.Series涨停价
low_limitpd.Series跌停价

StockMinData ​

位置: FQData/DataStruct/stock.py

描述: 股票分钟线数据类

python
from FQData.DataStruct import StockMinData

stock_min = StockMinData(data)

特有属性 ​

属性类型描述
min5StockMinData5分钟线
min15StockMinData15分钟线
min30StockMinData30分钟线
min60StockMinData60分钟线

IndexDayData ​

位置: FQData/DataStruct/index.py

描述: 指数日线数据类

python
from FQData.DataStruct import IndexDayData

index = IndexDayData(data)

FutureDayData ​

位置: FQData/DataStruct/future.py

描述: 期货日线数据类

python
from FQData.DataStruct import FutureDayData

future = FutureDayData(data)

Mixin 类 ​

QuotationIndicatorsMixin ​

描述: 指标计算 Mixin,提供技术指标计算功能

python
# 通过继承使用
class StockDayData(QuotationDataStructBase, QuotationIndicatorsMixin):
    pass

方法 ​

方法返回类型描述
max()pd.Series最大值
min()pd.Series最小值
mean()pd.Series平均值
stdev()pd.Series标准差
variance()pd.Series方差
pct_change()pd.Series百分比变化
amplitude()pd.Series振幅

QuotationOperationsMixin ​

描述: 数据操作 Mixin,提供数据筛选、切片等功能

方法 ​

方法返回类型描述
select_code()QuotationDataStructBase按代码筛选
select_time()QuotationDataStructBase按时间筛选
selects()QuotationDataStructBase组合筛选
head()QuotationDataStructBase获取前 N 条
tail()QuotationDataStructBase获取后 N 条

QuotationIOSMixin ​

描述: 序列化 IO Mixin,提供数据导入导出功能

方法 ​

方法返回类型描述
to_df()pd.DataFrame转换为 DataFrame
to_csv()str导出为 CSV
to_json()str导出为 JSON
to_excel()bytes导出为 Excel
to_pickle()bytes导出为 Pickle

异常 ​

本模块定义的异常类型:

异常描述触发条件解决方案
ValueError值错误代码或时间筛选无效检查代码格式和时间范围
KeyError键错误列名不存在检查数据列名
RuntimeError运行时错误格式不支持检查数据格式

API 示例 ​

基本用法 ​

python
import pandas as pd
from FQData.DataStruct import StockDayData

# 创建数据
data = pd.DataFrame({
    'code': ['000001', '000001'],
    'date': ['2024-01-01', '2024-01-02'],
    'open': [10.0, 10.5],
    'high': [10.5, 11.0],
    'low': [9.5, 10.0],
    'close': [10.2, 10.8],
    'volume': [1000000, 1200000],
})
data['date'] = pd.to_datetime(data['date'])
data = data.set_index(['code', 'date'])

# 创建对象
stock = StockDayData(data)

# 筛选数据
result = stock.select_code('000001').select_time('2024-01-01', '2024-01-31')

# 获取统计
stats = result.mean()
print(stats)

更多示例 ​

请参考 快速入门 和 最佳实践。

相关文档 ​