在中搜索期权后,给出了“执行价”、“卖出价”、“买入价”和“隐含波动率”的输出。 然而,我想过滤它,这样它只会给我大于1的“隐含波动率”。由于“隐含波动率”在字典中有一些“无”值,这给了我一个错误:
float()参数必须是字符串或数字,而不是“NoneType”
import config
import robin_stocks as r
r.login(config.USERNAME,config.PASSWORD)
#specify criteria to search for options
symbol = 'GE'
expirationDate = '2020-06-19'
strike = 8
#search for option given strike price, expiration date and symbol
#filter through low ask prices
#place order
search_option = r.find_options_for_stock_by_expiration(symbol,expirationDate,optionType='call')
for option in search_option:
if float(option['implied_volatility']) > 1:
print("Strike Price: {}, Ask: {}, Bid: {}, IV: {}".format(option['strike_price'],option['ask_price'],option['bid_price'],option['implied_volatility']))'
只需在
if
中添加此条件,因为None
的计算结果为False
。您不需要执行if val is not None
,只要if val
是正确的过滤掉最大值
implied_volatility
相关问题 更多 >
编程相关推荐