from enum import Enum


class PenetrateType(Enum):
    NO_PENETRATE = "不穿透"
    FOF_QUARTER = "FOF穿透（季报/中报/年报）"
    FOF_SEMI = "FOF穿透（中报/年报）"
    MOM = "MOM穿透"
    ALL = "全部穿透"


class PositionField(Enum):
    CLASS = "资产分类"
    DATE = "日期"
    ASSET_NAME = "资产名称"
    ASSET_CODE = "资产代码"
    SECURITY_TYPE = "证券品种"
    TRADING_MARKET = "交易市场"
    CURRENT_CLEAN_PRICE = "当前净价"
    ACCRUED_INTEREST = "应计利息"
    PRICE_CHANGE = "涨跌"
    POSITION_QUANTITY = "持仓数量"
    POSITION_MARKET_VALUE = "持仓市值"
    POSITION_WEIGHT_NET_ASSETS = "持仓权重(净资产)"
    DAILY_PROFIT_LOSS = "当日盈亏"
    DAILY_PROFIT_LOSS_RATE = "当日盈亏率"
    FLOATING_PROFIT_LOSS = "浮动盈亏"
    FLOATING_PROFIT_LOSS_RATE = "浮动盈亏率"
    CUMULATIVE_PROFIT_LOSS = "累计盈亏"
    CUMULATIVE_PROFIT_LOSS_RATE = "累计盈亏率"
    POSITION_COST = "持仓成本"
    INTEREST_INCOME = "利息收入"
    REALIZED_PROFIT_LOSS = "已实现盈亏"
    MATURITY_DATE = "到期日"
    TRADING_CHANNEL = "交易通道"
    POSITION_DIRECTION = "持仓方向"
    LATEST_PRICE = "最新价"
    POSITION_WEIGHT_TOTAL_ASSETS = "持仓权重(总资产)"
    POSITION_WEIGHT_TOTAL_COST = "持仓权重(总成本)"
    COST_PRICE = "成本价格"
    AMORTIZED_COST = "摊薄成本"
    VALUATION_EXCHANGE_RATE = "估值汇率"
    MARKET_QUOTATION_TIME = "行情时间"
    POSITION_BUILDING_DATE = "建仓日期"
    ISSUING_ENTITY = "发行主体"
    REMAINING_MATURITY = "剩余期限"
    BOND_RATING_AGENCY = "债项评级机构"
    BOND_RATING = "债项评级"
    MARGIN_REQUIREMENT = "占用保证金"
    CITY = "城市"
    PROVINCE = "省份"
    ISSUER_RATING_YY = "主体评级(YY)"
    ISSUER_RATING_DATE = "主体评级日期"
    ISSUER_RATING = "主体评级"
    BOND_RATING_DATE = "债项评级日期"
    ISSUER_RATING_AGENCY = "主体评级机构"


class SecurityType(Enum):
    stock = "股票"
    bond = "债券"
    fund = "公募基金"
    future = "期货"
    portfolio = "投后产品"
    private_asset = "资管产品"
    repo = "回购"
    option = "期权"
    margin_trading = "融券"
    cash = "现金"
    debt = "负债"
    other = "其他"


class WeightType(Enum):
    NET_ASSET = "占净资产比"
    TOTAL_COST = "占总成本比"
    TOTAL_ASSET = "占总资产比"
    TOTAL_FILTERED = "占资产总市值比"
