不同量化平台上财务数据精度的测试

最近在几个量化平台上做了些实验,发现不同平台上财务数据的精度略有不同。因此考虑做一下对比实验。以000732.sz 泰禾集团为例:

2017-08-08 收盘价为16.48 元

2016年年报显示总股本为:1,244,450,720 股,且此后没有总股本变化

2016年年报显示:

归属于上市公司股东的净资产18,000,836,048.24


2017年1季报显示:

 

归属于上市公司股东的净资产(元)18,119,207,762.63


截止到2017-08-08尚未发布半年报。所以在2017-08-09日开盘前的PB应该是:

PB = 总市值/一季报净资产 = 1,244,450,720 * 16.48 / 18,119,207,762.63 = 1.1318678020734383190574363843422 约= 1.13 约=1.132 约= 1.1319 约=1.13187 约=1.131868

另外,如果以上年年报看:

PB = 总市值/上年年报 = 1,244,450,720 * 16.48 / 18,000,836,048.24 = 1.1393108525981595782920738760794

米筐:

 

df = get_fundamentals(
        query(
            fundamentals.eod_derivative_indicator.pb_ratio,
        ).filter(
            fundamentals.stockcode == '000732.XSHE'), 
        '2017-08-08')
df.minor_xs('000732.XSHE')

输出:

 

 

 pb_ratio
2017-08-081.1319

结论: 保留4位小数,结果正确

聚宽:

 

df = get_fundamentals(query(
        valuation.pb_ratio
    ).filter(
        valuation.code == '000732.XSHE'
    ), date='2017-08-08')

df

输出:

 

 

 pb_ratio
01.4404

结论:保留4位小数,结果不正确。所以我认为以财务数据选股不能在聚宽上做

 

京东量化:

 

finance_df = get_fundamentals(
        query(
            fundamentals.equity_valuation_indicator.pb_ratio
        ).filter(
            fundamentals.order_book_id=='000732.SZ')
        , '2017-08-08')
finance_df


输出:

 

 

 000732.SZ
pb_ratio1.1319
order_book_id000732.SZ
date2017-08-08 00:00:00

结论:保留4位小数,结果正确

 

同花顺MindGo:

 

q = query(valuation.pb).filter(valuation.symbol == '000732.SZ')
df = get_fundamentals(q, date = '20170808')
print(df)
f_pb = df['valuation_pb'][0]
f_pb


输出:

 

 

   valuation_pb
0          1.13

结论:保留2位小数,结果正确。但误差较大。

 

 

优矿:

学习曲线较高,暂未实验。

 

总体来看,优先顺序为:米筐>京东量化>同挂顺MindGo>聚宽

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值