为什么来自 Alpha Advantage 的日内数据从 4:00 am 开始并在 20:00 pm 结束?
Why Intraday data from Alpha Advantage start at 4:00 am and finish at 20:00 pm?
这是我从 Alpha Vantage API.
获取 2 年盘中数据的代码
from alpha_vantage.timeseries import TimeSeries
import csv
import time
API_key = 'XXXXXXXXXXXXXXXXX'
ticker = 'AAPL'
ts = TimeSeries(key=API_key, output_format='csv')
for yr in range(2):
for mo in range(12):
data = ts.get_intraday_extended(ticker, interval='15min', slice='year'+str(yr+1)+'month'+str(mo+1))
with open(ticker+'.csv', 'a', newline='') as write_csvfile:
writer = csv.writer(write_csvfile, dialect='excel')
for row in data[0]:
writer.writerow(row)
time.sleep(15)
这是我在 'AAPL.csv' 文件中得到的示例。
我认为起止时间不是我的代码造成的。股市4:00上午-20:00下午的间隔时间正常吗?
This API returns intraday time series of the equity specified, covering extended trading hours where applicable (e.g., 4:00am to 8:00pm Eastern Time for the US market).
我没有看到限制到(核心)市场时间的开关,但您可以在检索后自行子集到市场时间。我使用 one of the accessor packages:
从 R(我经常使用)得到相同的结果
> aapl <- av_get("AAPL", av_fun="TIME_SERIES_INTRADAY", interval="30min")
> head(aapl)
# A tibble: 6 x 6
timestamp open high low close volume
<dttm> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2021-03-23 18:30:00.000000 123. 123. 122. 122. 59481
2 2021-03-23 19:00:00.000000 122. 123. 122. 122. 170623
3 2021-03-23 19:30:00.000000 122. 122. 122. 122. 17079
4 2021-03-23 20:00:00.000000 122. 122. 122. 122. 53327
5 2021-03-24 04:30:00.000000 123. 123. 122. 123. 14399
6 2021-03-24 05:00:00.000000 123. 123. 123. 123. 12854
>
第一个半小时是从04:00到04:30,用4:30时间戳总结,前一天的最后一个是在20:00h。数据集结束时相同(上周五):
> tail(aapl)
# A tibble: 6 x 6
timestamp open high low close volume
<dttm> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2021-03-26 17:30:00.000000 121. 121. 121. 121. 61451
2 2021-03-26 18:00:00.000000 121. 121. 121. 121. 32491
3 2021-03-26 18:30:00.000000 121. 121. 121. 121. 45474
4 2021-03-26 19:00:00.000000 121. 121. 121. 121. 25208
5 2021-03-26 19:30:00.000000 121. 121. 121. 121. 37129
6 2021-03-26 20:00:00.000000 121. 121. 121. 121. 32174
>
这是我从 Alpha Vantage API.
获取 2 年盘中数据的代码from alpha_vantage.timeseries import TimeSeries
import csv
import time
API_key = 'XXXXXXXXXXXXXXXXX'
ticker = 'AAPL'
ts = TimeSeries(key=API_key, output_format='csv')
for yr in range(2):
for mo in range(12):
data = ts.get_intraday_extended(ticker, interval='15min', slice='year'+str(yr+1)+'month'+str(mo+1))
with open(ticker+'.csv', 'a', newline='') as write_csvfile:
writer = csv.writer(write_csvfile, dialect='excel')
for row in data[0]:
writer.writerow(row)
time.sleep(15)
这是我在 'AAPL.csv' 文件中得到的示例。
我认为起止时间不是我的代码造成的。股市4:00上午-20:00下午的间隔时间正常吗?
This API returns intraday time series of the equity specified, covering extended trading hours where applicable (e.g., 4:00am to 8:00pm Eastern Time for the US market).
我没有看到限制到(核心)市场时间的开关,但您可以在检索后自行子集到市场时间。我使用 one of the accessor packages:
从 R(我经常使用)得到相同的结果> aapl <- av_get("AAPL", av_fun="TIME_SERIES_INTRADAY", interval="30min")
> head(aapl)
# A tibble: 6 x 6
timestamp open high low close volume
<dttm> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2021-03-23 18:30:00.000000 123. 123. 122. 122. 59481
2 2021-03-23 19:00:00.000000 122. 123. 122. 122. 170623
3 2021-03-23 19:30:00.000000 122. 122. 122. 122. 17079
4 2021-03-23 20:00:00.000000 122. 122. 122. 122. 53327
5 2021-03-24 04:30:00.000000 123. 123. 122. 123. 14399
6 2021-03-24 05:00:00.000000 123. 123. 123. 123. 12854
>
第一个半小时是从04:00到04:30,用4:30时间戳总结,前一天的最后一个是在20:00h。数据集结束时相同(上周五):
> tail(aapl)
# A tibble: 6 x 6
timestamp open high low close volume
<dttm> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2021-03-26 17:30:00.000000 121. 121. 121. 121. 61451
2 2021-03-26 18:00:00.000000 121. 121. 121. 121. 32491
3 2021-03-26 18:30:00.000000 121. 121. 121. 121. 45474
4 2021-03-26 19:00:00.000000 121. 121. 121. 121. 25208
5 2021-03-26 19:30:00.000000 121. 121. 121. 121. 37129
6 2021-03-26 20:00:00.000000 121. 121. 121. 121. 32174
>