akfamily / akshare

AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库
https://akshare.akfamily.xyz
MIT License
9.36k stars 1.89k forks source link

两市停复牌接口ak.stock_em_tfp取得的数据停牌时间晚于接口实参 #1423

Closed onlookor closed 3 years ago

onlookor commented 3 years ago

Describe the bug 两市停复牌接口ak.stock_em_tfp取得的数据中,“停牌时间”列值远远晚于调用接口时所使用的参数。比如,参数为trade_date='2017-02-04',获取的数据“停牌时间”字段普遍为2018年,甚至2021-07-02(即今日)。 并且如果多次调用,可能获取完全不同的多组数据。 此外我使用循环连续获取多日数据通过DataFrame.to_sql保存到postgresql的话,会造成重复的冗余数据。39XX条数据会造成五十五万条冗余数据。

To Reproduce 详见截图。

Expected behavior 应该是接口调用所赋予的参数值当天发生的停复牌。应该包含当天停止、当天恢复的股票,以及当天之前连续停牌、尚未恢复的股票;不应该包含当天之后的股票——即便预期该股票在当天之后仍将停牌。 反复使用同一给定参数获得的结果应该是一样的,不应该有所不同。

Screenshots 截屏2021-07-02 下午10 50 38 截屏2021-07-02 下午10 56 45

Desktop (please complete the following information):

Python:

akshare

albertandking commented 3 years ago

Describe the bug 两市停复牌接口ak.stock_em_tfp取得的数据中,“停牌时间”列值远远晚于调用接口时所使用的参数。比如,参数为trade_date='2017-02-04',获取的数据“停牌时间”字段普遍为2018年,甚至2021-07-02(即今日)。 并且如果多次调用,可能获取完全不同的多组数据。 此外我使用循环连续获取多日数据通过DataFrame.to_sql保存到postgresql的话,会造成重复的冗余数据。39XX条数据会造成五十五万条冗余数据。

To Reproduce 详见截图。

Expected behavior 应该是接口调用所赋予的参数值当天发生的停复牌。应该包含当天停止、当天恢复的股票,以及当天之前连续停牌、尚未恢复的股票;不应该包含当天之后的股票——即便预期该股票在当天之后仍将停牌。 反复使用同一给定参数获得的结果应该是一样的,不应该有所不同。

Screenshots 截屏2021-07-02 下午10 50 38 截屏2021-07-02 下午10 56 45

Desktop (please complete the following information):

  • OS: macOS
  • Browser [e.g. chrome, safari]
  • Version 10.15.7 (19H1217)

Python:

  • Version 3.9.2

akshare

  • Version 0.9.90

感谢反馈问题,请升级到 0.9.92,已修复

onlookor commented 3 years ago

感谢及时回复! 更新后的逻辑是否已不再是“单次获取指定交易日的停复牌数据”?因为我看页面上的例程以“20200325”为实参,返回了926条数据,其中包含了停牌开始时间在今年的数据。 我以“20170204”的参数值也得到了2657条数据。 是不是实际的程序逻辑是,返回从参数给定的日期往后直到当前日期的所有停复牌数据? 此外我以相同参数两次调用,看起来返回的数据仍不尽相同: [cid:298d96bc-4b4b-4f63-b523-c541d469e509] 虽然我没有详细分析两次调用得到的数据是否一一对应,但这个结果看上去跟昨天我贴的两次调用返回结果截图毫无二致:都是返回数据数量相同,但数据本身不能一一对应。


发件人: Albert King @.> 发送时间: 2021年7月3日 1:53 收件人: jindaxiang/akshare @.> 抄送: onlookor @.>; Author @.> 主题: Re: [jindaxiang/akshare] 两市停复牌接口ak.stock_em_tfp取得的数据停牌时间晚于接口实参 (#1423)

Describe the bug 两市停复牌接口ak.stock_em_tfp取得的数据中,“停牌时间”列值远远晚于调用接口时所使用的参数。比如,参数为trade_date='2017-02-04',获取的数据“停牌时间”字段普遍为2018年,甚至2021-07-02(即今日)。 并且如果多次调用,可能获取完全不同的多组数据。 此外我使用循环连续获取多日数据通过DataFrame.to_sql保存到postgresql的话,会造成重复的冗余数据。39XX条数据会造成五十五万条冗余数据。

To Reproduce 详见截图。

Expected behavior 应该是接口调用所赋予的参数值当天发生的停复牌。应该包含当天停止、当天恢复的股票,以及当天之前连续停牌、尚未恢复的股票;不应该包含当天之后的股票――即便预期该股票在当天之后仍将停牌。 反复使用同一给定参数获得的结果应该是一样的,不应该有所不同。

Screenshots [截屏2021-07-02 下午10 50 38]https://user-images.githubusercontent.com/40013963/124295804-d840e200-db8b-11eb-8a14-ce6debb33725.png [截屏2021-07-02 下午10 56 45]https://user-images.githubusercontent.com/40013963/124295956-058d9000-db8c-11eb-8222-e8b7717bb3c3.png

Desktop (please complete the following information):

Python:

akshare

感谢反馈问题,请升级到 0.9.92,已修复

― You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/jindaxiang/akshare/issues/1423#issuecomment-873164229, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJRJBC3L6S7AVFR46GKFGADTVX4IHANCNFSM47W5XBEQ.

albertandking commented 3 years ago

感谢及时回复! 更新后的逻辑是否已不再是“单次获取指定交易日的停复牌数据”?因为我看页面上的例程以“20200325”为实参,返回了926条数据,其中包含了停牌开始时间在今年的数据。 我以“20170204”的参数值也得到了2657条数据。 是不是实际的程序逻辑是,返回从参数给定的日期往后直到当前日期的所有停复牌数据? 此外我以相同参数两次调用,看起来返回的数据仍不尽相同: [cid:298d96bc-4b4b-4f63-b523-c541d469e509] 虽然我没有详细分析两次调用得到的数据是否一一对应,但这个结果看上去跟昨天我贴的两次调用返回结果截图毫无二致:都是返回数据数量相同,但数据本身不能一一对应。 ____ 发件人: Albert King @.> 发送时间: 2021年7月3日 1:53 收件人: jindaxiang/akshare @.> 抄送: onlookor @.>; Author @.> 主题: Re: [jindaxiang/akshare] 两市停复牌接口ak.stock_em_tfp取得的数据停牌时间晚于接口实参 (#1423) Describe the bug 两市停复牌接口ak.stock_em_tfp取得的数据中,“停牌时间”列值远远晚于调用接口时所使用的参数。比如,参数为trade_date='2017-02-04',获取的数据“停牌时间”字段普遍为2018年,甚至2021-07-02(即今日)。 并且如果多次调用,可能获取完全不同的多组数据。 此外我使用循环连续获取多日数据通过DataFrame.to_sql保存到postgresql的话,会造成重复的冗余数据。39XX条数据会造成五十五万条冗余数据。 To Reproduce 详见截图。 Expected behavior 应该是接口调用所赋予的参数值当天发生的停复牌。应该包含当天停止、当天恢复的股票,以及当天之前连续停牌、尚未恢复的股票;不应该包含当天之后的股票――即便预期该股票在当天之后仍将停牌。 反复使用同一给定参数获得的结果应该是一样的,不应该有所不同。 Screenshots [截屏2021-07-02 下午10 50 38]https://user-images.githubusercontent.com/40013963/124295804-d840e200-db8b-11eb-8a14-ce6debb33725.png [截屏2021-07-02 下午10 56 45]https://user-images.githubusercontent.com/40013963/124295956-058d9000-db8c-11eb-8222-e8b7717bb3c3.png Desktop (please complete the following information): OS: macOS Browser [e.g. chrome, safari] Version 10.15.7 (19H1217) Python: Version 3.9.2 akshare * Version 0.9.90 感谢反馈问题,请升级到 0.9.92,已修复 ― You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<#1423 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJRJBC3L6S7AVFR46GKFGADTVX4IHANCNFSM47W5XBEQ.

目前 AKShare 的设计原则是尽量与目标网站数据保持一致,目前 http://data.eastmoney.com/tfpxx/ 网站返回的数据是一致的;建议本地更新数据时增加去重逻辑