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

Node.js解析TDA API返回JSON 提取行权价构建内存数组

提取方法

TDA API返回的期权数据结构固定,所有看涨期权数据存储在callExpDateMap节点下,看跌期权对应putExpDateMap,提取逻辑如下:

  1. 第一层节点key为「到期日标识」,格式为YYYY-MM-DD:剩余到期天数
  2. 每个到期日节点下的第二层key就是目标行权价(字符串格式)
  3. 每个行权价对应长度为1的数组,数组首元素即为该行权价的完整合约字段

Python 实现示例

以下代码可以直接将所有行权价数据提取为内存数组,也可转换为列式表格方便后续计算:

import json
import pandas as pd

# 替换为你实际拿到的API返回JSON字符串
api_response = '{"symbol": "F", "status": "SUCCESS", ...}' # 完整JSON内容放在此处
data = json.loads(api_response)

contracts = []
# 遍历所有看涨期权到期日
for exp_label, strike_info in data["callExpDateMap"].items():
    # 遍历当前到期日下所有行权价
    for strike, contract_list in strike_info.items():
        # 取出合约详情,补充到期日标识字段方便后续筛选
        contract = contract_list[0]
        contract["expirationLabel"] = exp_label
        contracts.append(contract)

# 如需构建列式表格,直接转换为pandas DataFrame即可
contract_df = pd.DataFrame(contracts)

# 示例:输出所有行权价、合约代码、买卖价、隐波、Delta
print(contract_df[["strikePrice", "symbol", "bid", "ask", "volatility", "delta"]])

处理后得到的contracts是标准数组结构,contract_df是列式表格,你可以直接基于这两个结构做行权价筛选、收益测算等交易评估操作。
如果需要提取看跌期权,把遍历节点从callExpDateMap换成putExpDateMap即可。

内容的提问来源于stack exchange,提问作者Bill Scott

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:39:04