def contract_expiry_from_symbol(symbol):
expiry = None
symbol, asset_class = symbol.split("_")
if asset_class == "FUT":
expiry = str(symbol)[-5:]
y = int(expiry[-4:])
m = dataTypes["MONTH_CODES"].index(expiry[:1])
day = datetime(y, m, 1)
expiry = day + relativedelta.relativedelta(weeks=2, weekday=relativedelta.FR)
expiry = expiry.strftime("%Y-%m-%d")
elif asset_class in ("OPT", "FOP"):
expiry = str(symbol)[-17:-9]
expiry = expiry[:4] + "-" + expiry[4:6] + "-" + expiry[6:]
return expiry
# ---------------------------------------------
评论列表
文章目录