有谁知道如何在 TD Ameritrade API 上获取纽约证券交易所等市场的交易时间?

Does anyone know how to get the hours for markets such as the NYSE on TD Ameritrade API?

我正在尝试从 TD Ameritrade API 请求营业时间信息。我有什么办法可以获得纽约证券交易所的营业时间吗?

这是 link 到 API: https://developer.tdameritrade.com/

TD Ameritrade 的 API 为 market hours 提供了一个端点,但是您不能指定要检查哪个交易所,只能指定哪个市场(债券、股票、ETF 等)。

出于某种原因,它允许您指定哪个日期,但它只接受当前日期。提供访问令牌不会执行任何操作,因此我不会在我的示例中包含带有令牌的 header。

import json
import urllib.request

api_key = 'PRIVATE'


def get_market_hours(market, date):

    params = f'?apikey={api_key}&date={date}'
    url = f'https://api.tdameritrade.com/v1/marketdata/{market}/hours' + params

    with urllib.request.urlopen(url) as response:
        text_bytes = response.read()

    text_str = text_bytes.decode('utf-8')
    text_json = json.loads(text_str)

    print(text_json)


get_market_hours('EQUITY', '2020-12-23')

根据他们的网站,大多数 NYSE 是开放的 06:30 - 20:00 EST,检查当前时间是否在该时间范围内以及是否今天不是假期。