我正在尝试使用 pyetrade 包获得一些期权链。我正在为新创建的 Etrade 帐户在沙盒模式下工作。
当我执行以下代码时,它执行得很好,但返回的信息不正确:我在 2012 年到 2015 年间不断获得 Apple 的选项,而不是当前的埃克森美孚选项(我输入的内容)。如果我要求使用 Google、Facebook 或 Netflix,这也是正确的,我只是不断获得过时的 Apple 选项。
我不确定我在哪里搞砸了,或者这是否只是沙盒模式的一部分,所以这就是我寻求帮助的原因。谢谢!
(注:部分代码来源于: https ://github.com/1rocketdude/pyetrade_option_chains/blob/master/etrade_option_chains.py )
以下是从 API 中获取期权链的函数:
def getOption(thisSymbol):
#Renew session / or start session
try:
authManager.renew_access_token()
except:
authenticate() #this works fine
#make a market object to pull what you need from
market = pyetrade.ETradeMarket(
consumer_key,
consumer_secret,
tokens['oauth_token'],
tokens['oauth_token_secret'],
dev=True
)
try:
#the dates returned are also
q = market.get_option_expire_date(thisSymbol,resp_format='xml')
#just formats the dates to be more comprehensible:
expiration_dates = option_expire_dates_from_xml(q)
except Exception:
raise
rtn = []
for this_expiry_date in expiration_dates:
q = market.get_option_chains(thisSymbol, this_expiry_date)
chains = q['OptionChainResponse']['OptionPair']
rtn.append(chains)
print()
return rtn
ret = getOption("XOM")
print(ret[0])