Skip to content

DataSource Adapters 模块 - 使用指南

概述

本指南介绍如何使用 DataSource Adapters 模块获取各类金融数据。

基本使用

1. TDX 股票数据

python
from FQData.DataSource.adapters.tdx import TdxStockAdapter

adapter = TdxStockAdapter()

data = adapter.get_security_bars(
    code='600000',
    category=9,  # 日线
    start=0,
    count=100
)
print(data.head())

2. TDX 指数数据

python
from FQData.DataSource.adapters.tdx import TdxIndexAdapter

adapter = TdxIndexAdapter()

data = adapter.get_index_bars(
    code='000001',
    category=9,
    start=0,
    count=100
)

3. TDX 期货数据

python
from FQData.DataSource.adapters.tdx import TdxFutureAdapter

adapter = TdxFutureAdapter()

data = adapter.get_future_bars(
    code='IF2401',
    category=9,
    start=0,
    count=100
)

东方财富数据

资金流向

python
from FQData.DataSource.adapters.eastmoney import get_stock_fund_flow

df = get_stock_fund_flow('600000')
print(df.head())

批量资金流向

python
from FQData.DataSource.adapters.eastmoney import get_stock_fund_flow_batch

codes = ['600000', '000001', '000002']
dfs = get_stock_fund_flow_batch(codes)

爬取历史资金流向

python
from FQData.DataSource.adapters.eastmoney import crawl_eastmoney_fund_flow

count = crawl_eastmoney_fund_flow('2024-01-01', '2024-12-31')
print(f"爬取了 {count} 条数据")

同花顺数据

日线数据

python
from FQData.DataSource.adapters.ths import get_stock_day

data = get_stock_day('600000', '2024-01-01', '2024-12-31')
print(data.head())

板块数据

python
from FQData.DataSource.adapters.ths import get_stock_block

blocks = get_stock_block('600000')
print(blocks)

交易所数据

融资融券

python
from FQData.DataSource.adapters.exchange import get_margin_all

data = get_margin_all('2024-01-01', '2024-12-31')
print(data.head())

分市场获取

python
from FQData.DataSource.adapters.exchange import get_sh_margin, get_sz_margin

sh_data = get_sh_margin('2024-01-15')
sz_data = get_sz_margin('2024-01-15')

集思录数据

可转债列表

python
from FQData.DataSource.adapters.jisilu import (
    create_browser,
    login,
    get_cbnewlist
)

browser = create_browser()
login(browser, 'username', 'password')
cb_list = get_cbnewlist(browser)
print(cb_list.head())
browser.quit()

通过 Facade 使用

使用统一入口

python
from FQData import get_datasource

ds = get_datasource()
ds.set_mode('tdx')

data = ds.get_stock_day('600000', '2024-01-01', '2024-12-31')

错误处理

python
from FQData.DataSource import (
    DataSourceError,
    DataSourceConnectionError,
    DataNotFoundError,
)

try:
    from FQData.DataSource.adapters.tdx import TdxStockAdapter

    adapter = TdxStockAdapter()
    data = adapter.get_security_bars('600000', 9, 0, 100)
except DataSourceConnectionError as e:
    print(f"连接失败: {e}")
except DataNotFoundError as e:
    print(f"数据不存在: {e}")
except DataSourceError as e:
    print(f"数据源错误: {e}")

配置

TDX 连接池配置

python
from FQData.DataSource.adapters.tdx import TdxConnectionPool

pool = TdxConnectionPool(max_size=10, min_size=2)

AkShare 限速配置

python
from FQData.DataSource.adapters.akshare import AkShareAdapter

adapter = AkShareAdapter()
adapter.rate_limit = 5  # 5 请求/秒

相关文档