Files
eth_hedge_sim/backend/app/strategy/clock.py
T

32 lines
798 B
Python

"""日历日分组键(开仓时间窗已取消,由期权剩余时长约束)。"""
from __future__ import annotations
from datetime import datetime
from zoneinfo import ZoneInfo
_SH = ZoneInfo("Asia/Shanghai")
def now_sh(now: datetime | None = None) -> datetime:
return (now or datetime.now(tz=_SH)).astimezone(_SH)
def window_key(now: datetime | None = None) -> str:
"""组号日期键:日历日 YYYYMMDD。"""
return now_sh(now).strftime("%Y%m%d")
def can_open_new(
now: datetime | None = None,
*,
open_hhmm: str = "16:00",
stop_hhmm: str = "08:00",
) -> bool:
"""开仓窗已取消,始终允许(仍受期权剩余时长/杠杆筛选)。"""
return True
def group_date_ymd(now: datetime | None = None) -> str:
return window_key(now)