tuda2 package

Submodules

tuda2.api module

基于数据库的查询封装接口

从数据库中读取数据,速度较慢,功能更全

tuda2.api.get_closed_fund_prices(since=None, until=None, fund_codes=None, adjusted=True)

获取指定区间内 全部封闭式基金 的复权或非复权行情数据

提示

adjusted=True 不影响复权因子、成交量(手)、成交金额(千元)、贴水率

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • adjusted (bool) – 是否是复权价格,默认为 True

返回

index 为 [dt, sid] 的行情,包含开高低收前收、 复权因子、成交量(手)、成交金额(千元)、贴水率

返回类型

pd.DataFrame

tuda2.api.get_con_forecast(expression: str, since=None, until=None, table='CON_FORECAST_STK')

从朝阳永续数据库中提取个股一致预期数据

提示

表和对应的字段、类型

  • CON_FORECAST_STK: 一致预期数据表(个股)
    • stock_code 证券代码

    • con_date 预测日期(截止日期) datetime

    • rpt_date 预测报告年度

    • rpt_type 预测报告季度

参数
  • table (str) – 朝阳永续的表名,CON_FORECAST_STK

  • expression (str) – 表达式,可以是多个字段,字段的运算,别名等等,只要是合法的sql字段即可, 譬如 c7 as value

  • since (str or pd.Timestamp) – 起始日期

  • until (str or pd.Timestamp) – 截止日期

返回

包含 sid dt 的 DataFrame,其余字段根据 expression 生成

返回类型

pd.DataFrame

tuda2.api.get_conceptual_fund(sector_type='20010202')

获取基金概念列表

参数

type (str) –

基金概念版块,wind基金概念版块

  • ’ETF基金’ 或 ‘20010202’,

  • ’LOF基金’ 或 ‘20010203’,

  • ’量化基金’ 或 ‘20010207’,

  • ’分级基金’ 或 ‘20010209’,

  • ’定期开放基金’ 或 ‘2001020e’,

  • ’发起式基金’ 或 ‘2001020r’

  • Wind概念版块里的版块代号

返回

基金概念列表

  • sid : 基金代码

  • begt : 起始日期

  • endt : 结束日期,若未结束,日期显示2022-02-22

  • cur_sign : 当前状态,1为当前,0为非当前

返回类型

DataFrame

tuda2.api.get_delist(since=None, until=None, type='all')

获取区间退市的股票或(和)已到期的基金列表

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • type (str) –

    证券类型

    • fund: 基金

    • stock: 股票

    • all: 基金&股票

返回

index 为 sid,value 为 dt 的退市列表

返回类型

pd.DataFrame

tuda2.api.get_derivative_indicators(expression, since=None, until=None)

从每日衍生指标表中提取指定表达式表示的字段

参数
  • expression (str) – 表达式,可以是多个字段,字段的运算,别名等等,只要是合法的sql字段即可 譬如 S_DQ_CLOSE_TODAY * TOT_SHR_TODAY * 10000 mv市值

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

返回

包含 sid,date 的 DataFrame,其余字段根据 expression 生成

返回类型

pd.DataFrame

tuda2.api.get_dividend(expression: str, since=None, until=None)

从 AShareDividend (中国A股分红)表中提取现金分红数据

参数
  • expression (str) – 表达式,可以是多个字段,字段的运算,别名等等,只要是合法的sql字段即可。 譬如 CASH_DVD_PER_SH_PRE_TAX*S_DIV_BASESHARE value每股现金分红

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

返回

包含 sid,report_period, ann_dt 的 DataFrame,其余字段根据 expression 生成

返回类型

pd.DataFrame

tuda2.api.get_expired_fund(since=None, until=None)

获取已经到期的基金代码及其到期日期

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

返回

index 为 sid,value 为 dt 的到期列表

返回类型

pd.DataFrame

tuda2.api.get_financial_indicators(fields, since=None, until=None, report_period=None)

从A股财务指标中提取指定表达式表示的字段(asharefinancialindicator)

参数
  • fields (str) – 表达式,可以是多个字段,字段的运算,别名等等,只要是合法的sql字段即可

  • since (str or pd.Timestamp, default None) – [公告日] 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – [公告日] 结束日期,为 None 时从配置文件获取默认值

  • report_period (str, default None) – 报告期,’0331’, ‘0630’, ‘0930’, ‘1231’ 中的一种

返回

包含 sid,date 的 DataFrame,其余字段根据 fields 生成

返回类型

pd.DataFrame

tuda2.api.get_free_index_weight(index_sid: str, since=None, until=None)

获取指数成份股月度权重(免费数据)

参数
  • index_sid (str) – 指数代码

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

返回

权重信息,index 为 [dt, sid],此处的 sid 为成份股代码,列为 weight 表示权重

返回类型

pd.DataFrame

tuda2.api.get_fund_and_bench_nav(since=None, until=None, fund_codes=None)

获取共同基金的单位净值(含复权)、基准的收盘价

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • fund_codes (str or list, default None) – 共同基金代码,None 则取全部基金的复权单位净值与单位净值、基准的收盘价

返回

基金净值与收盘价

  • index : [dt, sid]

  • columns : [nav, adj_nav, bench_close]

返回类型

pd.DataFrame

tuda2.api.get_fund_index_price(sids: list, since=None, until=None, fields='close')

获取指定区间内 指定【基金】指数 的收盘价或指定价格

提示

指数代码不做转换

参数
  • sids (str or list of str) – 指数代码或者指数代码列表,如H11020.CSI

  • since (str or pd.Timestamp) – 起始日期,字符串日期 或者 pd.Timestamp,默认从配置文件获取

  • until (str or pd.Timestamp) – 截至日期,字符串日期 或者 pd.Timestamp,默认从配置文件获取

  • fields (None or str or list) –

    需要返回的字段,默认为 close 收盘价。支持的字段有

    • preclose: 前收盘价

    • open: 开盘价

    • high: 最高价

    • low: 最低价

    • close: 收盘价

    • volume: 成交量

    • amount: 成交金额

返回

index 为 [date, sid]。当 fields 为字符串时返回 Series,当为多个元素的 list 时,返回 DataFrame

返回类型

pd.Series or pd.DataFrame

tuda2.api.get_fund_info(fund_codes=None, one_date=False)

获取基金基本信息

参数
  • fund_codes (None or list or str) – 基金名称或列表,默认不指定,即获取所有基金信息

  • one_date (False or str) – 具体某一天, 有差别的是基金的投资类型、跟踪指数、量化标签、发起式、操作模式、运作模式

返回

基金基本信息

列名

列名解释

sid

基金代码

fullname

基金全称

shortname

基金简称

managementcomp

基金管理公司

custodianbank

基金托管人

setupdate

成立日期

maturitydate

基金到期日,若未到期,本栏日期为2222-02-22

issueunit

基金发行份额

benchmark

基金的业绩比较基准

isinitial

是否初始份额

managementfeeratio

管理费

custodianfeeratio

托管费

status

基金状态

exchmarket

交易所

investtype1

一级分类,如股票型基金、债券型基金

investtype2

二级分类,如偏股混合型基金、偏债混合型基金等

operation_flg

普通开放式,定期开放式,封闭式

quant_flg

是否量化基金,取自wind

carrier_flg

LOF ETF 联接 其他

structured_flg

分级基金标识

sponsor_flg

发起式基金标识,取自wind

parvalue

单位面值

返回类型

pd.DataFrame

tuda2.api.get_fund_investtype(fund_codes=None, since=None, until=None)

获取全部/部分基金的历史投资类型(一级分类与二级分类),扩展到每一天

参数
  • fund_codes (None or list or str) – 基金名称或列表,默认不指定,即获取所有基金投资类型

  • since (str or pd.DataFrame) – 起始日期

  • unitl (str or pd.DataFrame) – 截止日期

返回

基金历史投资类型

  • index: [date, sid]

  • columns: investtype1, investtype2

返回类型

DataFrame

tuda2.api.get_fund_position(fund_codes=None, since=None, until=None, semi_annual=True)

获取 wind基金的持股明细, 是否仅是年报与半年报

参数
  • fund_codes (str or list) – 需要提取的基金代码或其列表

  • since (str or pd.Timestamp) – 开始日期,字符串日期或者 pd.Timestamp

  • until (str or pd.Timestamp) – 结束日期,字符串日期或者 pd.Timestamp

  • semi_annual (bool) –

    是否仅是年报与半年报数据

    • True: 仅年报、半年报数据

    • False: 年报、半年报、1季度报、3季度报

返回

index:

[date, fund_code]

columns:

列名

列名解释

ann_dt

公告日期

sid

股票代码

quantity

持股数量(股)

mkt

持股价值(元)

stock_ratio

个股占基金资产净值的比例

返回类型

pd.DataFrame

tuda2.api.get_fund_sids(is_initial=False)

获取全部基金代码

参数

is_initial (bool, default False) – 如果 True 则存在多类份额时仅取主份额的代码,False 则总是取全部份额的代码

返回

columns: sid 如:2510050

返回类型

pd.DataFrame

tuda2.api.get_fund_stock_portfolio(fund_codes=None, since=None, until=None)

获取 wind基金的基金资产总值/净值、股票总市值、股票仓位占比

参数
  • fund_codes (str or list) – 需要提取的基金代码或其列表

  • since (str or pd.Timestamp) – 开始日期,字符串日期或者 pd.Timestamp

  • until (str or pd.Timestamp) – 结束日期,字符串日期或者 pd.Timestamp

返回

index:

[date, sid]

columns:

列名

列名解释

total_asset

总资产

net_asset

净资产

stock_value

股票市值

stock_ratio

股票仓位

返回类型

pd.DataFrame

tuda2.api.get_fundandbench_nav(since=None, until=None, fund_codes=None)

获取共同基金的单位净值(含复权)、基准的收盘价

参数
  • since (str) – 数据开始日期

  • until (str) – 数据选取的截止日

  • fund_codes (str or list or None) – 共同基金代码,None 则取全部基金的复权单位净值与单位净值、基准的收盘价

返回

共同基金的单位净值和收盘价

  • index : [date, sid]

  • columns : [nav, adjnav, benchclose]

形如:

date

sid

nav

adjnav

benchclose

2017-11-01

000003.OF 000004.OF 000005.OF 000007.OF 000008.OF 000014.OF 000015.OF 000016.OF 000017.OF 000020.OF

0.8180 0.8210 1.0050 1.1500 1.7973 1.1680 1.1670 1.1450 1.6820 2.2750

0.9617 0.9653 1.2190 1.1596 1.7973 1.1680 1.1977 1.1754 2.4628 2.2750

1196.365713 1196.365713 1171.538991 1169.547825 1800.885688 1170.067157 1014.045346 1014.045346 1501.132697 1542.905523

返回类型

pd.DataFrame

tuda2.api.get_future_index_prices(sids: list, since=None, until=None, fields='close')

获取指定区间内 期货指定指数 的收盘价或指定价格

提示

指数代码不做转换

参数
  • sids (str or list of str) – 比如 H11066.CSI

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • fields (None or str or list, default 'close') –

    需要返回的字段,默认为 close 收盘价。支持的字段有

    • pre_close: 前收盘价

    • open: 开盘价

    • high: 最高价

    • low: 最低价

    • close: 收盘价

    • volume: 成交量,手

    • amount: 成交金额,千元

    • pct_change : 涨跌幅,%

返回

index 为 [dt, sid] 指数价格数据

返回类型

pd.DataFrame

tuda2.api.get_hkindex_prices(sids: list, since=None, until=None, fields='close')

获取指定区间内 指定指数(港股指数) 的收盘价

提示

指数代码不做转换

参数
  • sids (str or list of str) – 指数代码或者指数代码列表,例如 HSTECH.HI

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • fields (None or str or list, default 'close') –

    需要返回的字段,默认为 close 收盘价。支持的字段有

    • pre_close: 前收盘价

    • open: 开盘价

    • high: 最高价

    • low: 最低价

    • close: 收盘价

    • volume: 成交量

    • amount: 成交金额

返回

index 为 [dt, sid] 指数价格数据

返回类型

pd.DataFrame

tuda2.api.get_hkprices(sids=None, since=None, until=None, fields=None, adjusted=True)

获取指定区间内 全部港股 的复权收盘价或指定价格

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • fields (str or list, default None) –

    需要返回的字段,默认为 close

    • pre_close: 前收盘价

    • open: 开盘价

    • high: 最高价

    • low: 最低价

    • close: 收盘价

    • volume: 成交量

    • amount: 成交金额(千元)

    • adj_factor: 复权因子

    • vwap: 成交均价

  • adjusted (bool, default True) – 是否是复权价格,默认为复权(上市价格为真实价格,调整之后的价格)

  • keep_stops (bool, default False) – 是否保留停牌股票的价格,默认为不保持

返回

index 为 [dt, sid] 的行情,除了指定的列外会额外返回 status 表示交易状态

返回类型

pd.DataFrame

tuda2.api.get_hkstock_names(sids=None)

获取港股代码的简称

参数

sids (list or str, default mmf) – 股票代码或列表,默认不指定,即获取所有股票简称

返回

港股代码的简称

  • index: sid

  • coloumns: name

返回类型

pd.DataFrame

tuda2.api.get_incoming_delist(date, months=1)

获取指定日期未来指定月数内的退市股票列表

参数
  • date (str or timestamp) – 指定日期

  • months (str or timestamp) – 未来多少个月

返回

index 为 sid,value 为 dt 的退市列表

返回类型

pd.DataFrame

tuda2.api.get_index_consensus_data(expression, index_sid=None, since=None, until=None)

从 Wind 提取指数一致预期数据

参数

expression (str) – 表达式,可以是多个字段,字段的运算,别名等等,只要是合法的sql字段即可。

返回

包含 sid,date 的 DataFrame,其余字段根据 expression 生成

返回类型

pd.DataFrame

tuda2.api.get_index_derivative_indicators(expression, index_sid='000300.SH', since=None, until=None)

从每日衍生指标表中提取指定表达式表示的字段

expressionstr

表达式,可以是多个字段,字段的运算,别名等等,只要是合法的sql字段即可。参考字典如下

字段中文名称

字段名

字段类型

释义

成分股数量

CON_NUM

NUMBER(20,4)

市盈率(PE_LYR)

PE_LYR

NUMBER(20,4)

市盈率(PE_TTM)

PE_TTM

NUMBER(20,4)

市净率(PB_LF)

PB_LF

NUMBER(20,4)

市现率(PCF_LYR)

PCF_LYR

NUMBER(20,4)

市现率(PCF_TTM)

PCF_TTM

NUMBER(20,4)

市销率(PS_LYR)

PS_LYR

NUMBER(20,4)

市销率(PS_TTM)

PS_TTM

NUMBER(20,4)

当日总市值合计(元)

MV_TOTAL

NUMBER(20,4)

当日流通市值合计(元)

MV_FLOAT

NUMBER(20,4)

股息率

DIVIDEND_YIELD

NUMBER(20,4)

%

历史PEG

PEG_HIS

NUMBER(20,4)

总股本合计(股)

TOT_SHR

NUMBER(20,4)

流通股本合计(股)

TOT_SHR_FLOAT

NUMBER(20,4)

自由流通股本合计(股)

TOT_SHR_FREE

NUMBER(20,4)

换手率

TURNOVER

NUMBER(20,4)

%

换手率(自由流通)

TURNOVER_FREE

NUMBER(20,4)

%

预测净利润(Y1)

EST_NET_PROFIT_Y1

NUMBER(20,4)

元,Y1预测当年

预测净利润(Y2)

EST_NET_PROFIT_Y2

NUMBER(20,4)

元, Y2预测下年

预测营业收入(Y1)

EST_BUS_INC_Y1

NUMBER(20,4)

预测营业收入(Y2)

EST_BUS_INC_Y2

NUMBER(20,4)

预测每股收益(Y1)

EST_EPS_Y1

NUMBER(20,4)

预测每股收益(Y2)

EST_EPS_Y2

NUMBER(20,4)

预测净利润同比增速(Y1)

EST_YOYPROFIT_Y1

NUMBER(20,4)

%

预测净利润同比增速(Y2)

EST_YOYPROFIT_Y2

NUMBER(20,4)

%

预测营业收入同比增速(Y1)

EST_YOYGR_Y1

NUMBER(20,4)

%

预测营业收入同比增速(Y2)

EST_YOYGR_Y2

NUMBER(20,4)

%

预测PE(Y1)

EST_PE_Y1

NUMBER(20,4)

预测PE(Y2)

EST_PE_Y2

NUMBER(20,4)

预测PEG(Y1)

EST_PEG_Y1

NUMBER(20,4)

预测PEG(Y2)

EST_PEG_Y2

NUMBER(20,4)

pd.DataFrame

包含 sid,date 的 DataFrame,其余字段根据 expression 生成

tuda2.api.get_index_members(index_sid, since=None, until=None)

获取填充到交易日的指数成分股

参数
  • index_sid (str) – 指数代码,支持中证指数代码

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

返回

指数成分股

  • index: [dt, sid]

  • column: empty

返回类型

pd.DataFrame

tuda2.api.get_index_names(sids=None)

获取指数代码的简称

参数

sids (list or str, default mmf) – 指数代码或列表,默认不指定,即获取所有指数简称

返回

指数简称

  • index: sid

  • coloumns: name

返回类型

pd.DataFrame

tuda2.api.get_index_price_mix(index_sid=None, since=None, until=None, fields=['close'])

获取指数的行情数据,支持多后缀混取

参数
  • sids (str or list of str) –

    指数代码或者指数代码列表,只能是下属三种

    • 中信行业指数,WI 作为后缀

    • 申万行业指数,SI 作为后缀

    • 中证指数,SH, SZ 或 CSI 作为后缀

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • fields (None or str or list, default 'close') –

    需要返回的字段,默认为 close 收盘价。支持的字段

    • pre_close: 前收盘价

    • open: 开盘价

    • high: 最高价

    • low: 最低价

    • close: 收盘价

    • volume: 成交量

    • amount: 成交金额

返回

指数行情

返回类型

pd.DataFrame

tuda2.api.get_index_prices(sids: list, since=None, until=None, fields='close')

获取指定区间内 指定指数 的收盘价或指定价格

提示

指数代码不做转换

参数
  • sids (str or list of str) –

    指数代码或者指数代码列表,只能是下属三种,不可混合提取

    • 中信行业指数,WI 作为后缀

    • 申万行业指数,SI 作为后缀

    • 中证指数,SH, SZ 或 CSI 作为后缀

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • fields (None or str or list, default 'close') –

    需要返回的字段,默认为 close 收盘价。支持的字段

    • pre_close: 前收盘价

    • open: 开盘价

    • high: 最高价

    • low: 最低价

    • close: 收盘价

    • volume: 成交量

    • amount: 成交金额(千元)

返回

index 为 [dt, sid] 指数价格数据

返回类型

pd.DataFrame

tuda2.api.get_index_sids()

获取全部指数代码

返回

columns: sid 如:000300.SH

返回类型

pd.DataFrame

tuda2.api.get_industries(since=None, until=None, itype='citics', level=1)

获取所有股票指定日期间的行业信息

提示

  • 目前只支持 ** 申万、中信、CSI、wind ** 行业分类

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • itype (str) –

    行业分类:

    • ’sw’ 申万

    • ’citics’ 中信

    • ’csi’ 中证

    • ’wind’ 万得

  • level (int) –

    获取几级行业信息

    • 1 一级

    • 2 二级

返回

行业信息,index 为 [dt, sid]

返回类型

pd.Series

tuda2.api.get_industry_plate_fund()

获取wind基金行业版块主题分类

返回

主题分类

  • sid : 基金代码

  • theme_name : 所属基金行业主题

返回类型

DataFrame

tuda2.api.get_mmf_rtn(since=None, until=None, fund_code='040003.OF', annu=True)

获取货币市场基金7日年化收益率(*100)

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • fund_code (str, default 040003.OF) – 货币市场基金代码,默认为 华安现金富利货币A

  • annu (bool) – 年化,默认无风险收益率为年化值,即数据库的原始返回值;若为 False,则返回每日收益率(除以365)

返回

index 为 dt,列为 rate 表示收益率

返回类型

pd.DataFrame

tuda2.api.get_openref_price(since=None, until=None)

获得开盘参考价,若无分红等影响除权因子数据的行为发生,则开盘参考价=前收

提示

收盘清算后更新,或第二天早上开盘前更新

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

返回

index: [dt, sid]

返回类型

pd.DataFrame

tuda2.api.get_prices(since=None, until=None, fields=None, adjusted=True, keep_stops=False)

获取指定区间内 全部A股 的复权收盘价或指定价格

提示

  • status:
    • 0: 停牌+待核查,

    • -1: 新股,

    • 1: 交易及其他除权除息

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • fields (str or list, default None) –

    需要返回的字段,默认为 close 收盘价。支持的字段

    • pre_close: 前收盘价

    • open: 开盘价

    • high: 最高价

    • low: 最低价

    • close: 收盘价

    • volume: 成交量

    • amount: 成交金额(千元)

    • adj_factor: 复权因子

    • vwap: 成交均价

  • adjusted (bool, default True) – 是否是复权价格,默认为复权(上市价格为真实价格,调整之后的价格)

  • keep_stops (bool, default False) – 是否保留停牌股票的价格,默认为不保持

返回

行情数据

  • index 为 [dt, sid] 的行情,除了指定的列外会额外返回 status 表示交易状态

  • status
    • 1 正常交易

    • 0 停牌

    • -1 新股

返回类型

pd.DataFrame

tuda2.api.get_private_fund_info()

取私募基金的信息

返回

私募基金信息

返回类型

pd.DataFrame

tuda2.api.get_private_fund_nav(fund_names, since=None, until=None)

取私募基金净值

参数
  • fund_names (str or list) – 私募基金名称,若不知具体名称,可由 get_private_fund_info 查询

  • since (str, default None) – 开始日期,形如”yyyymmdd”; 为 None 时,20000101

  • until (str, default None) – 结束日期,形如”yyyymmdd”; 为 None 时,截至昨日

返回

净值数据

返回类型

pd.DataFrame

tuda2.api.get_rate_sids(is_initial=False, itype='mmf')

获取全部货币基金或债券利率代码

参数
  • is_initial (bool, default False) – 如果 True 则存在多类份额时仅取主份额的代码,False 则总是取全部份额的代码

  • itype (str, default mmf) –

    利率类型

    • bondrate: 债券利率, is_initial不起作用

    • mmf: 货币基金

返回

columns: sid 如:110006.OF

返回类型

pd.DataFrame

tuda2.api.get_st_index(dts)

# 获取st股票信息

参数

dts (index) – 由 get_trading_days 函数取得的交易日期 index

返回

MultilIndex 为 [dt, sid] 为需要的空 DataFrame

返回类型

pd.DataFrame

tuda2.api.get_stock_names(sids=None)

获取股票代码的简称

参数

sids (list or str, default mmf) – 股票代码或列表,默认不指定,即获取所有股票简称

返回

股票简称

  • index: sid

  • coloumns: name

返回类型

pd.DataFrame

tuda2.api.get_stock_sids()

获取全部A股代码

返回

columns: sid 如:000001.SZ

返回类型

pd.DataFrame

tuda2.api.get_theme_concept_fund()

获取wind基金概念版块主题分类

返回

概念板块

  • sid : 基金代码

  • theme_name : 所属基金概念主题

返回类型

DataFrame

tuda2.api.get_total_share(since=None, until=None)

获取A股总股本 这里获取是A股的总股本,而非全部总股本

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

返回

index 为 [dt, sid],列为 total 的 A股总市值,单位股

返回类型

pd.DataFrame

tuda2.api.get_trading_days(since=None, until=None) pandas.core.indexes.datetimes.DatetimeIndex

获取指定区间内的交易日列表

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

返回

交易日期 index

返回类型

pd.DatetimeIndex

tuda2.api.get_universe(universe='ashare', since=None, until=None)

剔除了ST、上市不足三个月新股、过去三个月中停牌超过两个月且复牌不足一个月的股票形成最终股票池

参数
  • universe (str,) –

    股票池名称,目前支持

    • ashare: 全市场

    • csi300: 000300.SH(沪深300)

    • csi500: 000905.SH(中证500)

    • csi800: 000906.SH(中证800)

    • csi1000: 000852.SH(中证1000)

    • csiall: 000985.SH(中证全指)

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

返回

样本空间

  • index: dt, sid

  • columns:
    • status 全部股票交易状态

    • member 是否成分股

    • tradable 是否良好标的

返回类型

pd.DataFrame

tuda2.api_ module

基于文件的快速数据提取接口

api_ 模块中的函数直接去读处理好的文件系统中的数据,因此相对与 api 模块其读取效率要高出数十倍甚至上百倍。但 两个模块的功能有所差异,api_ 模块提供了高频数据及因子数据的读取,而 api 模块则直接从数据库中读取数据,数据 查询的定制化功能更强。

所有 tuda2.api_.[function] 函数推荐直接使用 tuda2.[function] 的形式调用

class tuda2.api_.HFDReader(dt, category='lob')

基类:object

L2高频行情数据提取接口

参数
  • dt (str or datetime like object) – 指定日期

  • category (str) – 数据类型,目前仅支持 lob-实时订单簿

get(sid, columns=None)

获取指定证券代码指定列的数据

参数
  • sid (str) – 证券代码,类似 000001.SZ/600000.SH

  • columns (list of str, default None) –

    需要的列。对于 lob 数据,可用列如下

    • dt: int64 HHMMSSsss 当前时间

    • volume: int64 当前变动成交数量,单位 股

    • amount: int64 当前变动成交金额,单位 分

    • num_trades: int32 成交笔数

    • side: int8 触发委托的方向(0-买,1-卖,2-撤单)

    • order_qty: 触发委托的数量,单位 股

    • order_price: 触发委托的价格,单位 分

    • total_bv: int64 总委买量,单位 股

    • avg_bp: int32 平均委买价格,单位 0.1分

    • total_av: int64 总委卖量,单位 股

    • avg_ap: int32 平均委卖价格,单位 0.1分

    • bp[1-10]: int32 竞买价格,单位 分

    • bv[1-10]: int32 竞买数量,单位 股

    • ap[1-10]: int32 竞卖价格,单位 分

    • av[1-10]: int32 竞卖数量,单位 股

property sids

当前可用的证券列表

tuda2.api_.get_asof_dts(dts, target_dts=None, market='SSE')

获取 dts 在 target_dts 中最新可用的日期,即如果 dts 中的日期存在于 tdts 中,则取该日期, 如果不在,则取 target_dts 中 早于该日期的最新日期

提示

如果提供 target_dts,需要是已排序的

参数
  • dts (list or array or DatetimIndex) – 需要测试的日期

  • trading_days (list or array or DatetimIndex, default None) – 目标日期列表,一般为交易日,默认为 None 则从 market 指定市场取交易日序列

  • market (str, default SSE) – 交易日所属市场,默认为 SSE 即上交所(深交所,中金所与之相同)

返回

最近可用日期列表

返回类型

DatetimeIndex

tuda2.api_.get_cap(since=None, until=None, dts=None, sids=None, cap_type=None)

获取证券的市值

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • dts (list of datetime, default None) – 需要获取数据的时间点,不能同 since 和 until 同时指定

  • sids (list of sid (str), default None) – 需要获取的证券代码列表,默认为 全部

  • cap_type (str or list, default None) –

    市值类型,默认为 None 取全部类型,可指定其中一种或多种

    • free 表示自由流通市值

    • float 表示流通市值

    • total 表示总市值

返回

index 为 dt, sid 的 DataFrame A股市值,单位元

返回类型

pd.DataFrame

tuda2.api_.get_derivative_fields(name=None)

查找衍生指标字段信息

参数

name (str, optional) – 字段名,支持模糊查找,默认为查找全部

返回

字段信息

返回类型

dict

tuda2.api_.get_derivative_indicators(fields, since=None, until=None, dts=None, sids=None, as_table=False)

获取指定字段的衍生指标

参数
  • fields (str or list of str) – 需要获取的字段名或字段名列表, 字段信息可以通过 get_derivative_fields 查询

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • dts (list of datetime, default None) – 需要获取数据的时间点,不能同 since 和 until 同时指定

  • sids (list of sid (str), default None) – 需要获取的证券代码列表,默认为 全部

  • as_table (bool, defalut False) – 是否返回 pyarrow.Table 对象,若为 True 则直接返回 Table 对象

返回

指标值,index 为 [dt, sid],每一列为一个指标

返回类型

DataFrame

参见

get_derivative_fields

可用字段查询.

tuda2.api_.get_factor_values(name, category='general', since=None, until=None, dts=None, sids=None, private=False, as_table=False)

获取 单个 因子的值

提示

当 private=False 时,用户需要指定 category。注意此 category 并非是形如基本面或者价量的分类,而是系统对于因子管理的一种划分。不同的 category 可能包含相同的因子名(但值可能不相同)。

当 private=True 时 category 则无意义,因为因子名具有唯一性。

参数
  • name (str) – 因子名

  • category (str) – 因子类别,仅对 private=False 有效

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • dts (list of datetime, default None) – 需要获取数据的时间点,不能同 since 和 until 同时指定

  • sids (list of sid (str), default None) – 需要获取的证券代码列表,默认为 全部

  • private (bool, optional) – 是否是当前用户私人因子, by default False

  • as_table (bool, defalut False) – 是否返回 pyarrow.Table 对象,若为 True 则直接返回 Table 对象

返回

因子值,index 为 [dt, sid],列为值

返回类型

DataFrame

tuda2.api_.get_fund_nav(since=None, until=None, dts=None, sids=None, as_table=False)

获取指定区间内基金的 复权 日净值

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • dts (list of datetime, default None) – 需要获取数据的时间点,不能同 since 和 until 同时指定

  • sids (list of sid (str), default None) – 需要获取的证券代码列表,默认为 全部

  • as_table (bool, defalut False) – 是否返回 pyarrow.Table 对象,若为 True 则直接返回 Table 对象

返回

index 为 [dt, sid]

返回类型

pd.DataFrame

tuda2.api_.get_fundametal_fields(name=None, state_type='bs')

获取财务报表字段信息

参数
  • name (str, optional) – 字段名,支持模糊查找,默认为查找全部

  • state_type (str, optional) –

    财务报表类型, by default ‘bs’

    • 资产负债表:balancesheet or bs for short

    • 利润表:income or in for short

    • 现金流表:cashflow or cf for short

返回

字段信息

返回类型

dict

tuda2.api_.get_fundametals(fields, since=None, until=None, state_type='bs', adjusted=True, use_actual_ann_dt=True)

获取财务报表 原始 数据

提示

  • 我们不支持真正意义上的 PIT,但我们记录了数据的更新。本函数可以获取不同版本的数据。

  • 返回的数据没有调整报告期与公告日的单调一致性

  • 如果要使用未来数据和避免大量缺失值,请设置 adjust=True, use_actual_ann_dt=False

  • 不支持 use_actual_ann_dt = True, adjusted=False,即使用未修正的数据、但公告日期是修正当时的公告日期

参数
  • fields (str or list of str) – 需要获取的字段信息,可以通过 get_fundemetal_fields 查询

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • state_type (str, default 'bs') –

    财务报表类型

    • 资产负债表:balancesheet or bs for short

    • 利润表:income or in for short

    • 现金流表:cashflow or cf for short

  • adjusted (bool, default False) – 是否取调整过的数据, 默认为 False,设为 None 可以返回所有原始数据

  • use_actual_ann_dt (bool, default True) – 是否使用实际公告日作为 dt 的值,默认为 True,否则永远使用最早的公告日

返回

index 为 dt(公告日),report_period 为报告期,sid 为代码,其他为数据 同一 sid 和 report_period 可能存在多条记录。

返回类型

DataFrame

参见

get_fundametal_fields

可用字段查询.

tuda2.api_.get_hf_data(sid, since=None, until=None, dts=None, freq='m1', fields=None, start_time=None, end_time=None)

获取分钟级高频行情数据

提示

  • 暂时只支持 1 分钟行情

  • 限于内存大小,高频行情一次只能获取一个股票

参数
  • sid (str) – 需要获取数据的证券代码

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • dts (list of datetime, default None) – 需要获取数据的时间点,不能同 since 和 until 同时指定

  • freq (str) –

    频率

    • m1 : 1分钟数据

  • field (str or list of str) – 默认 None, 取全部字段

  • start_time (str) – 开始时间,最高精度分钟,譬如 09:30

  • end_time (str) – 结束时间,最高精度分钟,譬如 14:30

返回

index 为 dt,无 sid 列

返回类型

DataFrame

参见

get_prices

指定 freq=m{n} 可以一次性获取 $n$ 分钟频率的截面行情

tuda2.api_.get_index_prices(sids, fields=None, since=None, until=None, dts=None)

获取指数的行情

参数
  • sids (str or list of str) –

    指数代码或者指数代码列表,为下列一种或者多种

    • ’000300.SH’: 沪深300

    • ’000905.SH’: 中证500

    • ’000906.SH’: 中证800

    • ’000852.SH’: 中证100

    • ’000985.SH’: 中证全指

    • ’H00300.CSI’: 沪深300全收益

    • ’H00905.CSI’: 中证500全收益

    • ’H00906.CSI’: 中证800全收益

    • ’H00852.CSI’: 中证1000全收益

    • ’H00985.CSI’: 中证全指全收益

  • fields (None or str or list) –

    需要返回的字段,默认取收盘价 close,设为 None 可以取全部。支持的字段

    • pre_close: 前收盘价

    • open: 开盘价

    • high: 最高价

    • low: 最低价

    • close: 收盘价

    • volume: 成交量

    • amount: 成交金额(千元)

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • dts (list of datetime, default None) – 需要获取数据的时间点,不能同 since 和 until 同时指定

返回

指数行情,index 为 [dt, sid] (此处 sid 为指数代码)

返回类型

pd.DataFrame

tuda2.api_.get_index_weight(index_sid='000300.SH', since=None, until=None, dts=None, w_type='free', as_table=False)

获取 单一指数 的成分股权重

参数
  • index_sid (str, default 000300.SH) –

    指数代码,目前支持指数:

    • 000300.SH : 沪深300

    • 000905.SH : 中证500

    • 000906.SH : 中证800

    • 000852.SH : 中证1000

    • 000985.SH : 中证全指

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • dts (list of datetime, default None) – 需要获取数据的时间点,不能同 since 和 until 同时指定

  • w_type (str, default 'free') –

    权重类型

    • free : 免费权重,一般为月度

    • daily : 根据成分股数据,用自由流通市值加权的日度权重数据

  • as_table (bool, defalut False) – 是否返回 pyarrow.Table 对象,若为 True 则直接返回 Table 对象

返回

权重数据 - index: [dt, sid] - columns: weight 权重

返回类型

pd.DataFrame

tuda2.api_.get_industries(since=None, until=None, dts=None, sids=None, itype='citics', level=1)

获取指定区间内的行业信息

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • dts (list of datetime or DatetimeIndex, default None) – 需要获取数据的时间点,不能同 since 和 until 同时指定

  • sids (list of sid (str), default None) – 需要获取的证券代码列表,默认为 全部

  • level (int) –

    行业级别

    • 1 一级

    • 2 二级

返回

行业数据 - index: [dt, sid] - columns: industry 所属行业

返回类型

pd.DataFrame

tuda2.api_.get_intraday_vwap(since=None, until=None, dts=None, sids=None, as_table=False)

获取日内半小时的vwap

提示

价格为非复权价格,而 get_prices 返回的是复权的 vwap

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • dts (list of datetime or DatetimeIndex, default None) – 需要获取数据的时间点,不能同 since 和 until 同时指定

  • sids (list of sid (str), default None) – 需要获取的证券代码列表,默认为 全部

  • as_table (bool, defalut False) – 是否返回 pyarrow.Table 对象,若为 True 则直接返回 Table 对象

返回

index 为 [dt, sid],列 open_vwap 是开盘 0931-1001 的 vwap,close_vwap 是 1420-1450 的 vwap

返回类型

pd.DataFrame

tuda2.api_.get_option_info(underlying_code='510050.SH', fields=None)

获取期权基础信息数据

参数
  • underlying_code (str, optional) –

    期权的标的代码. 默认为 510050.SH.

    • 510050.SH

    • 510300.SH

    • 159919.SZ

    • 000300.SH

  • field (str or list of str) – 默认 None, 取全部字段

返回

index 为 dt

返回类型

DataFrame

tuda2.api_.get_option_quote(underlying_code='510050.SH', since=None, until=None, dts=None, fields=None)

获取期权行情数据

参数
  • underlying_code (str, optional) –

    期权的标的代码. The default is ‘510050.SH’.

    • 510050.SH

    • 510300.SH

    • 159919.SZ

    • 000300.SH

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • dts (list of datetime, default None) – 需要获取数据的时间点,不能同 since 和 until 同时指定

  • field (str or list of str) – 默认 None, 取全部字段

返回

index 为 [dt, sid]

返回类型

DataFrame

tuda2.api_.get_option_vix(underlying_code='510050.SH', since=None, until=None, dts=None)

获取期权vix

参数
  • underlying_code (str, optional) –

    期权的标的代码. 默认为 510050.SH

    • 510050.SH

    • 510300.SH

    • 159919.SZ

    • 000300.SH

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • dts (list of datetime, default None) – 需要获取数据的时间点,不能同 since 和 until 同时指定

返回

index 为 dt

返回类型

DataFrame

tuda2.api_.get_periodic_trade_dt(since=None, until=None, end=True, freq='month', market='SSE', as_index=False)

取出日期序列的每周/月/季/年的最后一个交易日或第一个交易日

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • end (bool, default True) –

    日期结束类型

    • True: 末

    • False: 初

  • freq (str, default month) – 周期的频率,year/quarter/month/week/day/y/q/m/w/d,默认为 month 表示月度

  • market (str, default SSe) – 交易日所属市场,默认为 SSE 即上交所(深交所,中金所与之相同)

  • as_index (bool, default False) – 是否以 DateTimeIndex 返回,默认为 False,即返回 list

返回

返回交易日

返回类型

list of pd.Timestamp or DateTimeIndex

tuda2.api_.get_previous_trade_dt(until=None, back=1, market='SSE') pandas._libs.tslibs.timestamps.Timestamp

获取从 until 回溯 back 个交易日之后的日期

提示

  • 依据 沪深交易日 来推算

  • 当回溯日期过长时,返回配置文件中的默认起始日期

  • 支持向未来取交易日,但是最多只支持未来 30 个交易日,避免交易日临时变化

参数
  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • back (int, default 1) – 回溯天数,默认为 1,表示上一个交易日

  • market (str, default SSE) – 交易日所属市场,默认为 SSE 即上交所(深交所,中金所与之相同)

返回

回溯之后的交易日

返回类型

pd.Timestamp

tuda2.api_.get_prices(since=None, until=None, dts=None, sids=None, fields='close', keep_stops=True, freq='d', as_table=False)

获取指定区间内的 复权 价格

提示

  • status 暂时未区分临时停牌或者短暂日中停牌的情形

  • 日内数据只有自 2017-01-01 以来的

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • dts (list of datetime or DatetimeIndex, default None) – 需要获取数据的时间点,不能同 since 和 until 同时指定

  • sids (list of sid (str), default None) – 需要获取的证券代码列表,默认为 全部

  • fields (None or str or list) –

    需要返回的字段,默认取收盘价 close,设为 None 可以取全部。

    • 日频 D/d 支持的字段
      • pre_close: 前收盘价

      • open: 开盘价

      • high: 最高价

      • low: 最低价

      • close: 收盘价

      • volume: 成交量

      • amount: 成交金额(千元)

      • adj_factor: 复权因子

      • vwap: 成交均价(已复权)

      • open_vwap: 开盘 0931-1001 vwap

      • close_vwap: 收盘 1420-1450 vwap

      • status: 状态,-1:新股,0:停牌,1:正常交易

    • 分钟频 M/m 支持的字段
      • open: 开盘价

      • high: 最高价

      • low: 最低价

      • close: 收盘价

      • pre_close: 前**日**收盘价

      • volume: 成交量

      • amount: 成交金额(元,已复权)

      • vwap: 成交均价(已复权)

  • keep_stops (bool) – 是否保留停牌股票,默认为保留

  • freq (str) – 数据频率, 默认 D/d 表示日频数据,支持 m{5/10/15/20/30/60} 表示分钟的分钟频率

  • as_table (bool, defalut False) – 是否返回 pyarrow.Table 对象,若为 True 则直接返回 Table 对象

返回

index 为 [dt, sid] 的行情数据

返回类型

pd.DataFrame

tuda2.api_.get_rate(sid='040003.OF', since=None, until=None)

获取指定货币基金的七日 年化收益率

参数
  • sid (str) – 需要获取的货币基金代码,默认为 华安现金富利货币A

  • since (str or pd.Timestamp) – 起始日期,字符串日期 或者 pd.Timestamp,默认从配置文件获取

  • until (str or pd.Timestamp) – 截至日期,字符串日期 或者 pd.Timestamp,默认从配置文件获取

返回

index 为 dt

返回类型

pd.Series

tuda2.api_.get_return(since=None, until=None, sids=None, freq='1D', shift=0, r_type='close')

获取预计算的A股复权收益率

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • sids (list of sid (str), default None) – 需要获取的证券代码列表,默认为 全部

  • freq (str, default D) –

    收益率频率

    • nD, 滚动 n 日收益率,支持 n=1, 5, 10, 15, 20, 40, 60

    • W,非滚动周度收益率

    • M,非滚动月度收益率

  • shift (int) –

    偏移周期,1 代表偏移一个周期(D/W/M),即当前收益率为下一个频率的收益,默认为 0 不偏移 对于周度和月度收益率,shift如正常理解;对于滚动 n 日收益率,

    • r_type=’close’: shift 一般应与滚动日期 n 相等,即 t0 收益率为 t0 与 tn 收盘价区间收益率(原本记录在 tn)

    • r_rtype=’open’: shift 一般应比滚动日期 n 多一天,即 t0 收益率为 t_1 与 t_n+1 开盘价的区间收益率 (原本记录在t_n+1)

  • r_type (str) –

    收益率类型

    • close : 按照收盘价格计算的收益率

    • open : 按照开盘半小时 vwap 计算的收益率,仅支持 freq=nD 频率

返回

index 为 [dt, sid],列为 rtn

返回类型

pd.DataFrame

tuda2.api_.get_rm_data(field, since=None, until=None, dts=None, sids=None, rm_type='barra', as_table=False, **kwargs)

获取风险模型相关数据

参数
  • field (str) –

    需要获取的数据的字段

    • cov: 协方差矩阵

    • exposure: 个股敞口

    • dailyrtn: 个股日收益

    • spec_risk: 残差风险

    • spec_rtn: 残差收益

    • total_risk: 总风险

    • barra_rate: barra所使用的无风险收益率

    • factor_rtn: 因子收益率

    • price : 个股收盘价

    • dailyrtn : 个股收益率

    • share : 个股的股本

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • dts (list of datetime, default None) – 需要获取数据的时间点,不能同 since 和 until 同时指定

  • sids (list of sid (str), default None) – 需要获取的证券代码列表,默认为 全部

  • rm_type (str) – 风险模型类型,默认为 barra

  • as_table (bool, defalut False) – 是否返回 pyarrow.Table 对象,若为 True 则直接返回 Table 对象

  • kwargs (dict) –

    当包含 factor_type 时,exposure/factor_rtn 仅返回相应的列

    • style: 所有风格因子

    • industry: 所有行业因子(exposure 包含[industry] 和 [sector] 两列,factor_rtn 包含所有行业列)

    • all: 全部因子

    当包含 factor_names 时,exposure 可以返回指定的因子

返回

index 为 dt,第一列为 factor 表示因子名(category),其他列为 各个因子 的值

返回类型

DataFrame

tuda2.api_.get_rm_factor_names(factor_type='style', rm_type='barra')

取风险模型因子名字

factor_typestr

因子类别

  • style: 风格因子列表

  • industry: 行业列表

  • sector : 行业板块

  • all : 返回style + industry

rm_typestr

风险模型类型,默认为 barra

返回

风险模型因子名称

返回类型

list

tuda2.api_.get_trading_days(since=None, until=None, market='SSE')

获取特定市场的交易日充

参数
  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • market (str, default SSE) – 交易日所属市场,默认为 SSE 即上交所(深交所,中金所与之相同)

返回

交易日

返回类型

pd.DateTimeIndex

tuda2.api_.get_universe(universe='csiall', since=None, until=None, dts=None, m_type=None, as_table=False)

剔除了ST、上市不足三个月新股、过去三个月中停牌超过两个月且复牌不足一个月的股票形成最终股票池

参数
  • universe (str, default ashare) –

    股票池名称。目前支持指数如下:

    • csi300: 000300.SH(沪深300)

    • csi500: 000905.SH(中证500)

    • csi800: 000906.SH(中证800)

    • csi1000: 000852.SH(中证1000)

    • csiall: 000985.SH(中证全指)

  • since (str or pd.Timestamp, default None) – 开始日期,为 None 时从配置文件获取默认值

  • until (str or pd.Timestamp, default None) – 结束日期,为 None 时从配置文件获取默认值

  • dts (list of datetime, default None) – 需要获取数据的时间点,不能同 since 和 until 同时指定

  • m_type (str, default None) –

    成分股类型,默认为 None 取全部数据(包括三种类型),可以指定如下三种

    • status,交易状态

    • member,成分股

    • good,[已废弃]剔除了相关股票之后的股票池

    • tradable, 是否良好的可交易标的

  • as_table (bool, defalut False) – 是否返回 pyarrow.Table 对象,若为 True 则直接返回 Table 对象

返回

样本空间

  • index: dt, sid

  • columns: 未指定 m_type 返回如下三列,若指定则只返回对应列为 1 的成分
    • status 全部股票交易状态(-1:新股,0:停牌,1:正常交易)

    • member 是否成分股

    • tradable 是否良好的可交易标的

返回类型

pd.DataFrame

tuda2.api_.list_factors(private=False)

列出可用因子

提示

当 private=False 时,返回的 category 列并非是形如基本面或者价量的分类,而是系统对于因子管理的一种划分。 不同的 category 可能包含相同的因子名(但值可能不相同)。而当 private=True 时 category 则无意义,而且因子名具有唯一性。

参数

private (bool, optional) – 是否是当前用户私人因子, by default False

返回

可用因子信息

返回类型

pd.DataFrame

tuda2.engines module

数据库连接

各种数据库连接 engine

tuda2.ipo_profit module

打新收益统计

统计打新的收益的函数,输入的参数包括产品规模、所属市场(SSE/SZSE)、投资者类型(A/B/C)

新股统计范围包括2016年以来上市交易的新股,2016年以前(2015年底新股新规)上市的不包括在内

tuda2.ipo_profit.cal_interval_profit(profit, since=None, until=None)

计算区间的累计收益及累计收益率

参数
  • profit (pd.DataFrame) – index: dt

  • since (pd.datetime or str) – 起始日期,默认20160101

  • until (str or pd.datetime) – 截止日期,默认昨天

返回类型

pd.Series

tuda2.ipo_profit.get_fund_ipo_profit(fund_code, since=None, until=None, prices=None, data_ipo=None, placementdetails=None, scale_adjust=True)

计算基金的打新收益,一次支持一只,最早时间为20160101

提示

基金打新收益率计算说明

(1)最早的开始日期:2016年1月1日

(2)样本空间:2016年以来上市交易的新股

(3)成分股:基金打中的所有新股,在新股开板当天剔出指数,即开板当天卖出新股

(4)数量:上市公司网下发行初步配售结果里公布的中签数量

(5)计算方法:每日按成分股计算收益,计算每日打新的绝对收益

收益率 = 打新绝对收益/基金资产净值

基金资产净值每季度公布一次,成立日公布一次。在新的基金资产净值未公布前,采用上一次公布的基金资产净值数据。

参数
  • since (pd.datetime or str) – 上市起始日期,默认20160101

  • until (str or pd.datetime) – 上市截止日期,默认昨天

  • fund_code (str) – 基金代码

  • prices (pd.DataFrame) – 价格数据,可由tuda.get_prices 获得

  • data_ipo (pd.DataFrame) – 新股数据,可由 _get_ipo_info_data 获得

  • placementdetails (pd.DataFrame) – 单只基金新股配售信息, 可由 _get_ipo_placementdetails 获得

  • scale_adjust (bool) – 计算新股收益时是否按规模进行调整,True表示若基金资产净值低于1.2亿,则基金资产净值用1.2亿替代

返回

index 为 [sid], Series的名字为fund_code

返回类型

tuple of pd.Series

tuda2.ipo_profit.get_ipo_profit_index(investor_list, scale_list, market_list, since=None, until=None, kcb=False)

计算新股绝对收益指数

提示

网下打新绝对收益指数旨在反应打新所带来的收益,侧重绝对收益,将此绝对收益除以打新规模的可作为打新收益率的估计值。

(1)起始日期:2016年1月1日

(2)样本空间:2016年以来上市交易的新股

(3)成分股:所有未开板的新股,在新股开板当天剔出指数,即开板当天卖出新股

(4)数量:按网下申购上限计算顶格申购资产下限(M),若基金规模大于M,则顶格申购;若基金规模小于M,则按基金规模进行申购。配售数量按网下申购中签率计算并向下取整。

(5)计算方法:每日按成分股计算收益,将每日的收益累加得到打新绝对收益指数

支持不同市场、不同投资者、不同规模

(1)不同投资者: A类投资者指公募社保类;B类投资者指年金保险类;C类投资者指除A类和B类之外的其他投资者。公募基金属于A类投资者,基金专户基金属于C类投资者。

(2)不同市场:沪市、深市

(3)不同规模:6000万、1亿、2亿、5亿、10亿。

参数
  • investor_list (list of str) – 投资者类型 ‘A’、 ‘B’、 ‘C’

  • scale_list (list of float) – (基金)资产规模

  • market (list of str) – 市场 SSE SZSE

  • since (pd.datetime or str) – 起始日期,默认20160101

  • until (str or pd.datetime) – 截止日期,默认昨天

返回

新股绝对收益 - index: sid - columns: 涨停天数,开板日,开板价格,是否开板

返回类型

pd.DataFrame

tuda2.utils module

工具方法

exception tuda2.utils.ParameterDeprecatedWarning

基类:Warning

参数废弃警告

exception tuda2.utils.UnvalidDatePairException

基类:Exception

用在比较 since 和 until 日期的时候

exception tuda2.utils.WeirdParametersWarning

基类:Warning

当参数比较奇怪时输出此警告

tuda2.utils.date_to_str(date, fmt='%Y%m%d')

将日期转换为字符串形式

参数
  • date (str or pd.Timestamp or datetime) – 需要转换才字符串的日期,包括字符串日期

  • fmt (str) – 字符串日期的格式,默认为 yyyymmdd

返回

指定格式的字符串

返回类型

str

tuda2.utils.expand_days(data, dts, status=1)

根据指定的起止日期展开交易日。

提示

dts 一定是经过 排序的

参数
  • data (pd.DataFrame) –

    包括指定的证券代码,开始日期,结束日期三列形成的起止日期记录

    列名

    列名解释

    sid

    证券代码,str

    begt

    开始日期,datetime

    endt

    截止日期,datetime

    同一证券可以有多条记录,如果时间区间有重复,后出现的记录将覆盖前面记录的重复部分

  • dts (pd.DatetimeIndex) – 排过序的交易日序列

  • status (int) – 状态标识,默认为 1,取值范围为 (0, 127]

tuda2.utils.later_than(ldt, rdt, drop_tz=True)

比较 ldt 是否晚于 rdt

参数
  • ldt (integer, float, string, datetime, list, tuple, 1-d array, Series) – 任何可以转变为时间的对象

  • rdt (integer, float, string, datetime, list, tuple, 1-d array, Series) – 任何可以转变为时间的对象

  • drop_tz (bool) – 是否丢弃时区信息,默认为 True

返回

ldt 表示的时间晚于 rdt 表示的时间返回 True,否则返回 False

返回类型

bool

tuda2.utils.str_to_date(obj)

将 字符串(或其他 obj) 解析为日期格式

提示

支持任何日期类型的参数,包括字符串日期, datetime 日期等 具体参见 pandas.to_datetime

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.to_datetime.html

参数

obj (object) – 可以转换为日期的对象

返回

日期对象

返回类型

pd.Timestamp

Module contents

统一数据接口