#!/usr/bin/env python3
-from typing import Dict, List, Tuple
-import yfinance as yf
+from typing import Dict, List, Optional, Tuple
+import yfinance as yf # type: ignore
import file_writer
import renderer
def get_ticker_name(ticker: yf.ticker.Ticker) -> str:
"""Get friendly name of a ticker."""
info = ticker.get_info()
- return info["shortName"]
+ if "shortName" in info:
+ return info["shortName"]
+ return ticker
@staticmethod
- def get_price(ticker: yf.ticker.Ticker) -> float:
+ def get_price(ticker: yf.ticker.Ticker) -> Optional[float]:
"""Get most recent price of a ticker."""
keys = [
"bid",
) -> Tuple[float, float]:
"""Given the current price, look up opening price and compute delta."""
keys = [
- "open",
"previousClose",
+ "open",
]
info = ticker.get_info()
for key in keys:
symbols_finished = 0
for symbol in self.symbols:
ticker = yf.Ticker(symbol)
- print(type(ticker))
# print(ticker.get_info())
if ticker is None:
self.debug_print(f"Unknown symbol {symbol} -- ignored.")