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
获取共同基金的单位净值(含复权)、基准的收盘价
- 参数
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
获取共同基金的单位净值(含复权)、基准的收盘价
- 参数
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
取私募基金净值
- 参数
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
获取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
获取指定区间内基金的 复权 日净值
- 参数
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¶
统一数据接口