Open li-yong opened 6 years ago
好几张表的很多股票代码都有一样的问题
df_cashflow more than one record, len 2. 002190.SZ 20171231 df_cashflow more than one record, len 2. 002201.SZ 20171231
df_fina_indicator more than one record, len 2. 603056.SH 20171231 df_fina_indicator more than one record, len 2. 603192.SH 20171231
df_income more than one record, len 2. 600804.SH 20171231 df_income more than one record, len 2. 600862.SH 20171231
df_balancesheet more than one record, len 2. 002418.SZ 20171231 df_balancesheet more than one record, len 2. 002456.SZ 20171231
tushare id 13651887669
cashflow 表,002190.SZ 成飞集成 20171231
返回两条数据,差别在 field free_cashflow 。
free_cashflow | 85062546.1 | -461987453.9
cat fina_audit.csv | grep 300176.SZ | grep 20171231 300176.SZ,鸿特科技,20171231,20180427,保留意见,立信会计师事务所,"潘冬梅,司徒慧强" 300176.SZ,鸿特科技,20171231,20180427,标准无保留意见,立信会计师事务所,"潘冬梅,司徒慧强"
收到,我确认一下
很多量化平台的都有数据重复问题, 同花顺的MindGo和tushare的问题一样, 都是返回两条数据, 一条对的, 一条错误的. joinquant聚宽的数据也是有大量重复的, 掘金量化数据也是有不少数据重复的... 目前还没发现数据没有问题的平台。
cashflow 表,002190.SZ 成飞集成 20171231
返回两条数据,差别在 field free_cashflow 。
free_cashflow | 85062546.1 | -461987453.9
我也发现了,实际上很多时候如果不想关注自由现金流的话,这2行就是重复的。目前我的办法就是读取后直接跟一个dropduplicate:
income_raw = pro_api().query(api_name='income', ts_code=ts_code).drop_duplicates(subset=['end_date'])
@leiliuliulei , 很多是不一致的数据,去重不起作用的。 可能是数据源本身的问题。 需要的话我可以提供9张表里所有不一致的数据。
你举出的例子主要差异就在free_cashflow吧?还有什么“重大的”错误数据么?如果没有的话就去重凑合凑合了。
另外我发现巨潮首页右上角那里可以用爬虫方式获得财务数据,他们的数据应该是准的吧。只不过超过10几次以后就被封了IP,需要用一些技巧才能继续爬,我还没有好好尝试。总之是一个待拓展的方向。
还有,请问你有美股、港股的财务数据的渠道么 :)
现在的数据凑活着用了,关键字段(PE,ROE etc)还没发现不一致的情况。
听说(仅仅是听说)聚宽的好点,没有验证过,也没打算验证。更换数据源太麻烦了。
tushare可以得到美股,港股的高开低收数据。ts.bar(code, conn=cons, asset='X', adj='qfq', start_date=start_date_req, end_date='')
美股和港股的基本面数据貌似都是收费的,例如https://www.quandl.com/ 有个免费美股的,只提供当前财务数据: https://simfin.com/
查询income 表时,600000.SH 返回两个20180331 的记录。
df = pro_con.query('income', ts_code='600000.SH')
In[2]: df['end_date'] Out[3]: 0 20180630 1 20180331 <<<< Duplicated one 2 20180331 <<<< Duplicated one 3 20171231