You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过TD Ameritrade API获取SPX等股指的历史价格?

问题解决:TD Ameritrade API获取SPX历史价格返回空数据

问题原因

TD Ameritrade的API中,标普500指数的正确交易代码不是SPX,而是SPX.X。直接使用SPX会导致API无法识别对应的指数标的,返回空数据。个股代码(如AAPL、TSLA)无需后缀,因此可以正常返回数据。

解决方案

将代码中的ticker_list里的SPX替换为SPX.X即可:

ct = str(int(datetime.today().timestamp()) * 1000)  # 获取当前时间的毫秒级时间戳
ticker_list = ['AAPL', 'SPX.X'] 
for ticker in ticker_list:
    quotes = TDSession.get_price_history(
        symbol=ticker, 
        period_type='year', 
        period=1,
        frequency_type='daily', 
        end_date=ct
    )
    ic(quotes)
    if len(quotes['candles']) == 0:
        print('未获取到数据,跳过。')
    else:
        print(quotes['candles'])

补充说明

如果需要获取其他指数的历史数据,也需要使用TD Ameritrade平台对应的带后缀代码,比如纳斯达克综合指数对应COMP.X,道琼斯工业平均指数对应DJI.X。

内容的提问来源于stack exchange,提问作者Kevin Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 21:05:32