# Versioning
SCHEMA_VERSION = "1.0.0"
OCF_VERSION = "1.0.0"

# Date & Time
DATE_FORMAT = "%Y-%m-%d"
DATETIME_FORMAT = "%Y-%m-%d %H:%M:%S"
UTC = "UTC"

# Financial Conventions
# Canonical moneyness buckets (percent of spot)
MONEYNESS_BUCKETS = (90, 95, 100, 105, 110)

# Common option tenors (calendar days)
OPTION_TENORS_DAYS = (30, 60, 90, 180, 365)

# Option types
CALL = "call"
PUT = "put"
OPTION_TYPES = (CALL, PUT)

# Column Name Canonicals
# Underlying OHLCV
COL_DATE = "date"
COL_OPEN = "px_open"
COL_HIGH = "px_high"
COL_LOW = "px_low"
COL_CLOSE = "px_close"
COL_VOLUME = "volume"

# Options-specific
COL_TICKER = "ticker"
COL_EXPIRY = "expiry"
COL_STRIKE = "strike"
COL_OPTION_TYPE = "option_type"
COL_IV = "implied_vol"
COL_DELTA = "delta"
COL_GAMMA = "gamma"
COL_VEGA = "vega"
COL_THETA = "theta"
COL_OPEN_INTEREST = "open_interest"

# Rates & volatility
COL_RISK_FREE_RATE = "risk_free_rate"
COL_VIX = "vix"

# Storage & Engine
ENGINE_DUCKDB = "duckdb"
ENGINE_CSV = "csv"
SUPPORTED_ENGINES = (ENGINE_DUCKDB, ENGINE_CSV)

# Logging
LOG_LEVELS = ("DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL")
DEFAULT_LOG_LEVEL = "INFO"