BigQuant 2026年度私享会

私享会成员使用数据SDK

由small_q创建,最终由qxiao 被浏览 53 用户

导语

大家好,今天详细介绍下私享会成员如何使用SDK。关于SDK的更多介绍,请移步:BigQuant终端本地SDK使用文档,原文介绍了用户管理、策略运行、策略查询等功能,本文只介绍数据相关功能。

\

导入bigquant库

from bigquant.api import dai, user

这里从bigquant.api中导入了dai对象,这里的dai和线上云端的dai功能几乎一致,可以使用query读取数据,可以使用write_bdb保存数据,写数据表。关于sdk能做什么,您可以移步:BigQuantsdk应用场景

登录

账号密码登录

user.login(username='xxxxxxxxxxx', password='xxxxxxxxxxxxxx')
# 本地使用sdk一定要先登录。

访问凭证登录

点击用户中心

新增访问凭证

我们复制好访问凭证后填入login函数中

user.login(keypair="xxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")

平台数据访问

==私享会数据SDK套餐是可以单独购买的,原价是20000/年,优惠价是10000元/年,每周享有数据额度是1000万quota,每周会重置额度。如果是私享会成员的话,可免费获得SDK数据套餐,不用额外单独付费。==

私享会成员可访问的数据权限大类如下:(如果是行情数据的话,包括日频和分钟级别数据)

数据名称 私享会成员是否可访问
A股行情信息
A股财务
A股预计算因子
指数及行业
可转债
ETF基金

默认私享会成员是直接可以访问上述版块数据表,如果没有访问权限,可联系小Q进行按用户配置。不在上述范围内的表可以单独购买,也是可以联系小Q进行询价。

如果想知道当前账号拥有哪些表的数据权限,可以使用命令: dai.quota()

使用方法

简单取数

为避免请求量太大,浪费数据额度,重要事情写到前面,写三遍!!!

==不要读全字段全时间段的数据!不要select * from 某表! 不要读全字段全时间段的数据!不要select * from 某表! 不要读全字段全时间段的数据!不要select * from 某表!==

# 我们可以将数据使用dai引擎取出来,然后使用pandas进行加工
sql = """
SELECT date, instrument, close
FROM cn_stock_bar1d
"""
dai.query(sql, filters={'date': ['2020-01-01', '2020-01-31']}).df()

五日均线数据加工

# 除此之外还可以使用dai内置的函数, 具体参见文档(https://bigquant.com/wiki/doc/Rceb2JQBdS)
# 我们来简单加工一个五日均值因子
sql = """
SELECT date, instrument, m_avg(close, 5) AS five_day_avg
FROM cn_stock_bar1d
"""
dai.query(sql, filters={'date': ['2020-01-01', '2020-01-31']}).df()

分钟因子加工——早盘成交量斜率

  1. 筛选出开盘前30分钟的行情数据;
  2. 计算这段时间的成交量对数据索引的斜率。
sql = """
WITH t1 AS (
    -- 先抽取早盘30分钟的成交量数据
    SELECT date, instrument, volume, 
    (EXTRACT(EPOCH FROM "date"::time) - EXTRACT(EPOCH FROM time '09:30:00'))/60.0 AS t
    FROM cn_stock_bar1m_c
    WHERE date::TIME <= TIME '10:00:00'
    ORDER BY date, instrument
)
-- 正规方程组求斜率
SELECT date::DATE::DATETIME AS date, instrument, 
(AVG(volume * t) - AVG(volume) * AVG(t)) / (AVG(t * t) - AVG(t) * AVG(t)) AS factor
FROM t1
GROUP BY date::DATE, instrument
"""
dai.query(sql, filters={'date': ['2020-01-01', '2020-01-10']}).df()

注意事项:

  1. 读表时不要全表全字段读取,不要sleect * 这样来读取数据,会导致崩溃或者额度直接浪费或者消耗掉;

  2. 读表尽量只读取部分日期、部分股票的数据,以免浪费数据额度;

  3. 分钟数据不宜读取过多数据;

  4. 如果想获取多标的分钟数据,建议读取个股分钟行情尽量使用数据表cn_stock_bar1m_c

  5. 关于数据SDK如果有一些反馈,可联系小q;

  6. 本文档最终解释权归宽邦科技,最终定稿在2025年11月15日,之前时间为试运行。

    \

\

{link}