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 列
dtypestrNone数据类型
if_fqstr'qfq'复权类型:'qfq'/'hfq'/'none'
market_typestrNone市场类型
frequencestrNone数据频率:'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)

更多示例

请参考 快速入门最佳实践

相关文档