Skip to content

DataSource 模块

数据源抽象模块,提供统一的数据源接口,支持多数据源动态切换。

模块结构

DataSource/
├── base.py              # 数据源基类和协议
├── registry.py          # 数据源注册表
├── facade.py            # 数据源统一入口
├── health_check.py      # 健康检查
└── adapters/            # 数据源适配器
    ├── tdx/             # 通达信适配器
    │   ├── stock.py     # 股票数据适配器
    │   ├── index.py     # 指数数据适配器
    │   ├── future.py    # 期货数据适配器
    │   ├── bond.py      # 债券数据适配器
    │   ├── hkstock.py   # 港股数据适配器
    │   ├── option.py    # 期权数据适配器
    │   ├── realtime.py  # 实时数据适配器
    │   └── ...
    ├── eastmoney/       # 东方财富适配器
    └── ...

核心组件

组件说明
DataSource数据源统一入口类
DataSourceRegistry数据源注册表,单例模式
DataSourceAdapter数据源适配器基类
DataSourceHealthCheck数据源健康检查
TdxStockAdapter通达信股票适配器
TdxIndexAdapter通达信指数适配器
TdxFutureAdapter通达信期货适配器

支持的适配器

TDX 通达信适配器

python
from FQData.DataSource import TdxStockAdapter, TdxIndexAdapter, TdxFutureAdapter
适配器说明
TdxBaseAdapter通达信基类适配器
TdxStockAdapter股票数据适配器
TdxIndexAdapter指数数据适配器
TdxFutureAdapter期货数据适配器
TdxBondAdapter债券数据适配器
TdxHKStockAdapter港股数据适配器
TdxOptionAdapter期权数据适配器
TdxMacroAdapter宏观数据适配器
TdxExchangeAdapter交易所数据适配器
TdxRealtimeAdapter实时行情适配器
TdxTransactionAdapter成交明细适配器
TdxExtensionAdapter扩展数据适配器
TdxToolsAdapter工具适配器
TdxIPSelectorIP 选择器

AkShare 适配器

python
from FQData.DataSource import AkShareAdapter
适配器说明
AkShareAdapterAkShare 基类适配器
BondAdapter债券数据适配器
HKStockAdapter港股数据适配器
HKFundAdapter港股基金适配器
HKIndexAdapter港股指数适配器
USStockAdapter美股数据适配器
OptionAdapter期权数据适配器
MacroIndexAdapter宏观指数适配器
GlobalIndexAdapter全球指数适配器
GlobalFutureAdapter全球期货适配器
ExchangeRateAdapter汇率适配器
CHIBORAdapter银行间拆借利率适配器
IndexAdapter指数数据适配器
FutureAdapter期货数据适配器

EFinance 适配器

python
from FQData.DataSource import EFinanceAdapter

快速开始

基本使用

python
from FQData.DataSource import get_datasource

# 获取数据源实例
ds = get_datasource()

# 设置数据源模式
ds.set_mode('tdx')  # 或 'eastmoney'

# 获取股票日线数据
data = ds.get_stock_day(
    code='600000',
    start='2024-01-01',
    end='2024-12-31'
)

多数据源切换

python
from FQData.DataSource import get_datasource, DataSourceMode

# 获取数据源
ds = get_datasource()

# 切换到东方财富
ds.set_mode(DataSourceMode.EASTMONEY)

# 获取数据
data = ds.get_stock_day('600000')

# 切换回通达信
ds.set_mode(DataSourceMode.TDX)

数据类型

股票数据

python
from FQData.DataSource import TdxStockAdapter

adapter = TdxStockAdapter()

# 日线数据
daily_data = adapter.get_security_bars(
    code='600000',
    category=9,  # 日线
    start=0,
    count=100
)

# 分钟数据
min_data = adapter.get_security_bars(
    code='600000',
    category=0,  # 1分钟
    start=0,
    count=100
)

指数数据

python
from FQData.DataSource import TdxIndexAdapter

adapter = TdxIndexAdapter()

# 获取指数数据
index_data = adapter.get_index_bars(
    code='000001',  # 上证指数
    category=9,
    start=0,
    count=100
)

期货数据

python
from FQData.DataSource import TdxFutureAdapter

adapter = TdxFutureAdapter()

# 获取期货日线
future_data = adapter.get_future_daily(
    code='IF2401',
    start='2024-01-01',
    end='2024-12-31'
)

健康检查

python
from FQData.DataSource import DataSourceHealthCheck, HealthStatus

# 创建健康检查器
checker = DataSourceHealthCheck()

# 检查数据源状态
status = checker.check()

print(f"状态: {status.status}")
print(f"消息: {status.message}")
print(f"详情: {status.details}")

# 检查特定适配器
adapter_health = checker.check_adapter('tdx')
print(f"TDX 适配器: {adapter_health}")

数据源注册

python
from FQData.DataSource import DataSourceRegistry, register_source

# 创建自定义适配器
class MyAdapter(DataSourceAdapter):
    def get_stock_day(self, code, start, end):
        # 自定义实现
        return data

# 注册数据源
register_source('my_adapter', MyAdapter)

# 使用注册的数据源
ds = get_datasource()
ds.set_mode('my_adapter')

文档索引

文档说明
README本文档,模块索引
API完整API参考
使用使用指南与示例
开发指南开发环境、调试、测试
最佳实践开发建议与注意事项
FAQ常见问题解答

相关文档