首页 > 解决方案 > 为什么同一行代码偶尔会失败?

问题描述

我喜欢 wallstreet.py 包来提取一些关于选项的可靠数据。如果我提取一条数据,大约 100% 的时间它会像我预期的那样返回。

但是,当我的列表增长时,它会变得有点不稳定,在某些数据提取上失败,并且可能会或可能不会回到正轨。您可以在下面看到,当我在循环中运行相同的代码时,它运行良好约 20 倍,开始失败几次,然后又回到正轨。

关于造成这种情况以及如何解决的任何想法?谢谢!

代码:

from wallstreet import Put

for i in range(0,100):
    print(i, Put('IWM', d=15, m=10, y=2021, strike=200))

输出:

0 Put(ticker=IWM, expiration=15-10-2021, strike=200)
1 Put(ticker=IWM, expiration=15-10-2021, strike=200)
2 Put(ticker=IWM, expiration=15-10-2021, strike=200)
3 Put(ticker=IWM, expiration=15-10-2021, strike=200)
4 Put(ticker=IWM, expiration=15-10-2021, strike=200)
5 Put(ticker=IWM, expiration=15-10-2021, strike=200)
6 Put(ticker=IWM, expiration=15-10-2021, strike=200)
7 Put(ticker=IWM, expiration=15-10-2021, strike=200)
8 Put(ticker=IWM, expiration=15-10-2021, strike=200)
9 Put(ticker=IWM, expiration=15-10-2021, strike=200)
10 Put(ticker=IWM, expiration=15-10-2021, strike=200)
11 Put(ticker=IWM, expiration=15-10-2021, strike=200)
12 Put(ticker=IWM, expiration=15-10-2021, strike=200)
13 Put(ticker=IWM, expiration=15-10-2021, strike=200)
14 Put(ticker=IWM, expiration=15-10-2021, strike=200)
15 Put(ticker=IWM, expiration=15-10-2021, strike=200)
16 Put(ticker=IWM, expiration=15-10-2021, strike=200)
17 Put(ticker=IWM, expiration=15-10-2021, strike=200)
18 Put(ticker=IWM, expiration=15-10-2021, strike=200)
19 Put(ticker=IWM, expiration=15-10-2021, strike=200)
20 Put(ticker=IWM, expiration=15-10-2021, strike=200)
21 Put(ticker=IWM, expiration=15-10-2021, strike=200)
22 Put(ticker=IWM, expiration=15-10-2021, strike=200)
No options listed for given date, using 30-09-2021 instead
No option for given strike, using 199 instead
23 Put(ticker=IWM, expiration=30-09-2021, strike=199)
No options listed for given date, using 30-09-2021 instead
No option for given strike, using 199 instead
24 Put(ticker=IWM, expiration=30-09-2021, strike=199)
No options listed for given date, using 30-09-2021 instead
No option for given strike, using 199 instead
25 Put(ticker=IWM, expiration=30-09-2021, strike=199)
No options listed for given date, using 30-09-2021 instead
No option for given strike, using 199 instead
26 Put(ticker=IWM, expiration=30-09-2021, strike=199)
27 Put(ticker=IWM, expiration=15-10-2021, strike=200)
28 Put(ticker=IWM, expiration=15-10-2021, strike=200)
29 Put(ticker=IWM, expiration=15-10-2021, strike=200)
30 Put(ticker=IWM, expiration=15-10-2021, strike=200)

标签: pythonstock

解决方案


推荐阅读