Alpha_Vantage API 返回不正确的时间序列数据

2024-05-16 03:15:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python pandas数据框中的alpha_vantage API下载欧元兑美元汇率的时间序列数据。我用这个来练习使用pandas和scikit学习在加入附加的技术指标列后尝试使模型与数据相适应。我成功地建立了一个包含价格和技术指标的大数据框,但惊讶地发现所有的开盘价、收盘价、高价和低价在每一行都是相等的。我知道这不可能是准确的。这是alpha_vantage API以前见过的问题吗?在

#timeseries class from alpha_vantage module
ts = timeseries.TimeSeries(key = '(My Key)',output_format = 'pandas')
#price pandas dataframe
price_df = ts.get_daily(symbol = 'EURUSD', outputsize='full')[0]
#show dataframe
price_df
            1. open  2. high  3. low  4. close  5. volume
date                                                     
1998-01-02   1.0866   1.0866  1.0866    1.0866        0.0
1998-01-05   1.0776   1.0776  1.0776    1.0776        0.0
1998-01-06   1.0754   1.0754  1.0754    1.0754        0.0
1998-01-07   1.0733   1.0733  1.0733    1.0733        0.0
1998-01-08   1.0784   1.0784  1.0784    1.0784        0.0
1998-01-09   1.0764   1.0764  1.0764    1.0764        0.0
1998-01-12   1.0769   1.0769  1.0769    1.0769        0.0
1998-01-13   1.0755   1.0755  1.0755    1.0755        0.0
1998-01-14   1.0749   1.0749  1.0749    1.0749        0.0
1998-01-15   1.0699   1.0699  1.0699    1.0699        0.0
1998-01-16   1.0719   1.0719  1.0719    1.0719        0.0
1998-01-19   1.0669   1.0669  1.0669    1.0669        0.0
1998-01-20   1.0646   1.0646  1.0646    1.0646        0.0
1998-01-21   1.0722   1.0722  1.0722    1.0722        0.0
1998-01-22   1.0868   1.0868  1.0868    1.0868        0.0
1998-01-23   1.1002   1.1002  1.1002    1.1002        0.0

Tags: 数据模型alphaapidataframepandasdf时间
2条回答

这是一个“坏勾子”。阅读TickData的白皮书https://s3-us-west-2.amazonaws.com/tick-data-s3/pdf/Tick_Data_Filtering_White_Paper.pdf

问题归结为人机交互之间的接口。人类接触到机械过程的那一点就是数据中错误的来源。在

论文第4页概述了一个情况,即一行三个记号等于55个偶数:

“数据点代表连续3个坏的记号。有趣的是,坏勾数的值是55.00。最有可能的是,这些滴答声看起来很糟糕,因为价格的一小部分已经“损失”

在上面的例子中,发生了类似的情况,人为错误使O/H/L/C列中的一个列成为所有列的值。我相信,由于存储的数据太大,在压缩文件以存储在磁盘上时发生了一些事情。在

压缩实用程序试图通过查找相似的内容来节省空间,为它们分配一个公共变量,然后在需要时提取原始值。但是,如果没有指示压缩实用程序在数值中保留微小的分数差,则它可能会将一行中的所有这些值视为相同的,除非另有指示。因此,当文件被提取时,它会从一个压缩文件中读取,这个压缩文件损坏了有价值的数据。在

我不知道在您的例子中是否确实如此,但是如果发生类似的事情,我也不会感到惊讶。在

无论如何,这是一个很好的例子,说明了获取可靠数据是多么困难。在

欢迎使用堆栈溢出。我不知道你问题的答案,但有几件事要考虑:

1)日期范围很旧,可能没有保留该级别的详细信息—您可以检查更当前的数据,看看是否有变化。在

2)数据应该有高低(我想答案是肯定的,否则你不会问)

这可能是一个更大的问题,发送给阿尔法华帝支持,因为他们会知道这是否“正常”

相关问题 更多 >