【发布时间】:2020-06-22 15:05:23
【问题描述】:
此词典列表定期更改。
search_option = [{'strike_price': '1', 'bid_price': '0.25', 'implied_volatility': '0.94' },
{'strike_price': '3.5', 'bid_price': '0.20', 'implied_volatility': '0.88'},
{'strike_price': '2', 'bid_price': '0.05', 'implied_volatility': None},
{'strike_price': '3.5', 'bid_price': '0.31', 'implied_volatility': '0.25'}]
这里的代码搜索隐含波动率低于 0.9 的期权。
for option_list in search_option:
if option_list is not None:
option_list = ([i for i in search_option if float(i["implied_volatility"]) < 0.90])
print(option_list)
我偶尔会收到此错误:
float() 参数必须是字符串或数字,而不是 'NoneType'
我的问题是,如何让搜索保持不变(implied_volatility 换句话说,如果它是“无”,则跳到下一个可用选项。
【问题讨论】:
-
该错误消息是否以“ValueError:”开头?
-
好吧,我必须自己做实验。错误是
TypeError: float() argument must be a string or a number, not 'NoneType'。不要修剪错误消息,它们包含有价值的信息。 -
注意到了,谢谢!
标签: python list dictionary finance computational-finance