def __init__(self, quote, d=date.today().day, m=date.today().month,
y=date.today().year, strike=None, strict=False, source='google'):
quote = quote.upper()
kw = {'d': d, 'm': m, 'y': y, 'strict': strict, 'source': source}
super().__init__(quote, self.__class__.Option_type, **kw)
self.T = (self._expiration - date.today()).days/365
self.q = self.underlying.dy
self.ticker = quote
self.strike = None
self.strikes = tuple(parse(dic['strike']) for dic in self.data
if dic.get('p') != '-')
if strike:
if strike in self.strikes:
self.set_strike(strike)
else:
if strict:
raise LookupError('No options listed for given strike price.')
else:
closest_strike = min(self.strikes, key=lambda x: abs(x - strike))
print('No option for given strike, using %s instead' % closest_strike)
self.set_strike(closest_strike)
评论列表
文章目录