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

来源:互联网 发布:网络端口怎么拆下来 编辑:程序博客网 时间:2024/06/05 08:04

最近在几个量化平台上做了些实验,发现不同平台上财务数据的精度略有不同。因此考虑做一下对比实验。以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.1387 约=1.13868

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

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_ratio2017-08-081.1319

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

聚宽:

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

 pb_ratio01.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.SZpb_ratio1.1319order_book_id000732.SZdate2017-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_pb0          1.13
结论:保留2位小数,结果正确。但误差较大。


优矿:

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


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