0

我正在尝试将字典opt_chain作为参数传递

opt_chain = {
  'symbol': 'AAPL',
  'contractType': 'CALL',
  'optionType': 'S',
  'fromDate': '2021-07-18',
  'afterDate': '2021-07-19',
  'strikeCount': 4,
  'includeQuotes': True,
  'range': 'ITM',
  'strategy': 'ANALYTICAL',
  'volatility': 29.0
}

到函数 apiget_options_chain

但我收到以下错误

    option_chains = td_client.get_options_chain(args_dictionary = opt_chain)
TypeError: get_options_chain() got an unexpected keyword argument 'args_dictionary'

这是我运行的代码(摘录):

opt_chain = {
  'symbol': 'AAPL',
  'contractType': 'CALL',
  'optionType': 'S',
  'fromDate': '2021-07-18',
  'afterDate': '2021-07-19',
  'strikeCount': 4,
  'includeQuotes': True,
  'range': 'ITM',
  'strategy': 'ANALYTICAL',
  'volatility': 29.0
}

option_chains = td_client.get_options_chain(args_dictionary = opt_chain)
pprint.pprint(option_chains)

这是 Python v3.6.9

任何帮助是极大的赞赏,

谢谢

4

3 回答 3

1

看起来您的代码在这里很完美,但是您调用get_options_chainTDClient 库函数的方式不正确。

让我们来看看这个......您在这里收到的错误是 TypeError: get_options_chain() got an unexpected keyword argument 'args_dictionary'. 这表明该函数不需要args_dictionary您在此处设置的参数中调用的参数(args_dictionary = opt_chain)

查看库后,我相信修复只是传入字典而不将其定义为参数,如下所示:

option_chains = td_client.get_options_chain(opt_chain)

如果您查看函数的源代码,它不需要您严格定义参数名称,并且无论如何只接受一个参数。

于 2021-07-20T04:12:08.347 回答
0

在您的代码中,option_chains = td_client.get_options_chain(args_dictionary = opt_chain) 此处的 args_dictionary 在 API 调用中不是预期的,它应该是 'option_chain'

option_chains = td_client.get_options_chain(option_chain=opt_chain)

于 2021-07-20T04:24:18.093 回答
0

问题是,td_client.get_options_chain方法没有采用名为args_dictionary. 它期待一个名为option_chain. 您可以opt_chain作为关键字参数传递,td_client.get_options_chain(option_chain = opt_chain)也可以直接传递opt_chaintd_client.get_options_chain(opt_chain)因为它td_client.get_options_chain是预期的第一个参数。

    option_chains = td_client.get_options_chain(option_chain = opt_chain)

或者

    option_chains = td_client.get_options_chain(opt_chain)
于 2021-07-20T04:50:11.897 回答