constant.py

"""
AI Quant 核心常量定义
只保留 A 股相关的常量
"""

from enum import Enum


class Direction(Enum):
    """
    订单/交易/持仓方向
    """
    LONG = "多"
    SHORT = "空"
    NET = "净"


class Offset(Enum):
    """
    订单/交易开平类型
    """
    NONE = ""
    OPEN = "开"
    CLOSE = "平"
    CLOSETODAY = "平今"
    CLOSEYESTERDAY = "平昨"


class Status(Enum):
    """
    订单状态
    """
    SUBMITTING = "提交中"
    NOTTRADED = "未成交"
    PARTTRADED = "部分成交"
    ALLTRADED = "全部成交"
    CANCELLED = "已撤销"
    REJECTED = "拒单"


class Product(Enum):
    """
    产品类型(只保留 A 股相关)
    """
    EQUITY = "股票"
    ETF = "ETF"
    BOND = "债券"
    WARRANT = "权证"
    FUND = "基金"


class OrderType(Enum):
    """
    订单类型(只保留 A 股常用类型)
    """
    LIMIT = "限价"
    MARKET = "市价"
    ETF = "ETF"


class Exchange(Enum):
    """
    交易所(只保留中国 A 股相关)
    """
    SSE = "SSE"           # 上海证券交易所
    SZSE = "SZSE"         # 深圳证券交易所
    BSE = "BSE"           # 北京证券交易所
    SHHK = "SHHK"         # 沪港通
    SZHK = "SZHK"         # 深港通


class Currency(Enum):
    """
    货币(只保留人民币)
    """
    CNY = "CNY"


class Interval(Enum):
    """
    K 线周期(只保留 A 股常用周期)
    """
    MINUTE = "1m"
    HOUR = "1h"
    DAILY = "d"
    WEEKLY = "w"
    TICK = "tick"