首页 > 解决方案 > 在 alpha_vantage api、get_intraday 中未获取给定时间间隔的最后一根柱线数据

问题描述

我正在尝试以5 分钟、15 分钟的时间间隔从印度证券交易所 NSE获取时间序列数据。

在所有这些数据中,输出中缺少最后一个数据栏。例如,如果我请求 15 分钟的数据,则第一个数据栏以 IST 上午 9:15 的数据开始,而最后一个数据栏以 IST 下午 03:15 的数据结束。我还需要 IST 下午 3:30 的数据。这也发生在 1 分钟和 5 分钟的间隔中。有人可以帮忙解释一下吗?

我正在使用以下代码使用alpha_vantage API 获取数据。

from alpha_vantage.timeseries import TimeSeries
ts = TimeSeries(key='API_KEY', output_format='pandas')
data, metadata = ts.get_intraday(symbol='NSE:ESCORTS', interval='15min', outputsize='compact')
print(data)

在此处提供CSV输出。输出有 EST 时间。不过需要将它们转换为 IST。

date,1. open,2. high,3. low,4. close,5. volume
2019-09-13 00:00:00,528.2,528.53,522.28,522.55,184692.0
2019-09-13 00:15:00,522.6137,525.0082,519.6531,521.2637,213237.0
2019-09-13 00:30:00,521.3209,521.7994,517.7455,519.4708,167645.0
2019-09-13 00:45:00,519.4187,522.8353,519.2319,520.3187,75889.0
2019-09-13 01:00:00,520.3,522.38,519.03,521.4,67312.0
2019-09-13 01:15:00,521.7602,525.213,521.41,522.4102,105305.0
2019-09-13 01:30:00,522.4666,523.9135,520.5101,521.5666,55738.0
2019-09-13 01:45:00,521.1,526.05,520.7,525.4,92231.0
2019-09-13 02:00:00,525.15,528.38,523.28,527.95,147664.0
2019-09-13 02:15:00,528.0,530.85,527.85,529.15,238392.0
2019-09-13 02:30:00,529.6,530.9,528.5,528.8,105470.0
2019-09-13 02:45:00,528.8671,535.0701,528.1134,534.1673,385941.0
2019-09-13 03:00:00,534.15,536.53,533.53,533.6,354721.0
2019-09-13 03:15:00,533.8192,534.8965,532.6944,533.3192,151856.0
2019-09-13 03:30:00,533.25,533.4,530.35,530.7,117881.0
2019-09-13 03:45:00,530.8222,532.5118,530.7101,531.2222,75945.0
2019-09-13 04:00:00,531.2,535.45,531.2,534.15,208067.0
2019-09-13 04:15:00,534.3587,535.2631,533.0112,533.2587,95106.0
2019-09-13 04:30:00,533.3105,534.6705,532.9191,533.3605,52906.0
2019-09-13 04:45:00,533.3714,535.3123,533.0101,533.3714,71323.0
2019-09-13 05:00:00,533.65,534.33,531.13,532.6,84453.0
2019-09-13 05:15:00,532.5672,533.8189,532.5176,533.1672,74472.0
2019-09-13 05:30:00,533.15,536.45,533.15,535.1,267439.0
2019-09-13 05:45:00,534.7,536.5,534.3,535.65,221096.0

从上面的输出可以看出,数据从 00:00:00 EST 开始,即 IST 上午 09:15,以 05:45:00 EST 结束,即 IST 下午 03:15。但是,我也需要 IST 下午 3:30 数据栏,即 IST 下午 3:15 到下午 3:30 之间的数据。

标签: pythonalpha-vantage

解决方案


这可能意味着:
1. 你/python 包装器正在做一些阻碍最后一行数据的事情。
2. 原始数据没有 3:30 IST 数据。

如果我们查看该代码的原始 API 调用(替换 your_key_here): https ://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=NSE:ESCORTS&interval=15min&outputsize=full&apikey=

我们看到原始数据也缺少最后一行,这正是您所拥有的。因此,目前看来,盘中电话缺少最后一行数据(也适用于 1 分钟和 5 分钟间隔)

最后一个数据点实际上表示从 05:45 到 06:00,但时间戳显示的是开始 (05:45) 而不是结束 (06:00)。目前,大多数非美国股票代码都有这个约定(我可以想象它会被标准化)


推荐阅读