1

我正在使用 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
4

2 回答 2

0

这是一个“坏记号”。阅读 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 列之一成为所有列的值。我相信由于存储数据的大小,当文件被压缩以存储在磁盘上时发生了一些事情。

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

我不知道在您的示例中确实是这种情况,但是如果发生类似的事情,我不会感到惊讶。

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

于 2019-10-17T00:10:18.787 回答
-1

欢迎来到堆栈溢出。我不知道你的问题的答案,但有几点需要考虑:

1) 日期范围很旧,可能没有保留该级别的详细信息 - 您可以检查更多当前数据以查看它是否确实有所不同。

2)数据是否有高点和低点(我认为答案是肯定的,否则你不会问)

发送给 Alpha Vantage 支持可能更多的是一个问题,因为他们会知道这是否“正常”

于 2019-08-03T01:38:47.320 回答