from enum import Enum, unique


@unique
class CurveSubType(Enum):
    BOND_CARRY = "BondCarry"
    BREAKEVEN_INFLATION_CURVE = "BreakevenInflationCurve"
    CDS_CREDIT_INDEX = "CDSCreditIndex"
    CAP_FLOOR_VOLATILITY = "CapFloorVolatility"
    CENTRAL_BANK_INTEREST_RATE_PROBABILITY = "CentralBankInterestRateProbability"
    COMMERCIAL_PAPER_BENCHMARK = "CommercialPaperBenchmark"
    CORPORATE_BOND_BENCHMARK = "CorporateBondBenchmark"
    CORPORATE_BOND_PAR = "CorporateBondPar"
    CORPORATE_BOND_SPREAD = "CorporateBondSpread"
    CORPORATE_BOND_ZERO = "CorporateBondZero"
    CORPORATE_CDS_CREDIT = "CorporateCDSCredit"
    CORPORATE_CASH_CREDIT = "CorporateCashCredit"
    CORPORATE_ISSUER = "CorporateIssuer"
    COVERED = "Covered"
    DEPOSIT = "Deposit"
    FORWARD_GOVERNMENT_BOND_ZERO = "ForwardGovernmentBondZero"
    FORWARD_GOVERNMENT_PAR = "ForwardGovernmentPar"
    FORWARD_INFLATION = "ForwardInflation"
    FORWARD_RATE_AGREEMENT_ZERO = "ForwardRateAgreementZero"
    FORWARD_STARTING_SWAP = "ForwardStartingSwap"
    GOVERNMENT_BENCHMARK = "GovernmentBenchmark"
    GOVERNMENT_BOND_BENCHMARK = "GovernmentBondBenchmark"
    GOVERNMENT_BOND_VOLATILITY = "GovernmentBondVolatility"
    GOVERNMENT_CDS_CREDIT = "GovernmentCDSCredit"
    GOVERNMENT_CASH_CREDIT = "GovernmentCashCredit"
    GOVERNMENT_STRIP_BENCHMARK = "GovernmentStripBenchmark"
    INFLATION_LINKED_BENCHMARK = "InflationLinkedBenchmark"
    INFLATION_LINKED_ZERO = "InflationLinkedZero"
    INTERBANK_OFFER_RATE = "InterbankOfferRate"
    INTEREST_RATE_SWAP = "InterestRateSwap"
    INTEREST_RATE_VOLATILITY = "InterestRateVolatility"
    MUNICIPAL_BENCHMARK = "MunicipalBenchmark"
    OVERNIGHT_INDEX_SWAP = "OvernightIndexSwap"
    OVERNIGHT_INDEX_SWAP_ZERO = "OvernightIndexSwapZero"
    SEMI_SOVEREIGN_CASH_CREDIT = "SemiSovereignCashCredit"
    SHORT_TERM_INTEREST_RATE_FUTURES_ZERO = "ShortTermInterestRateFuturesZero"
    SOLVENCY_II_CORPORATE_CREDIT_SPRD_RATING = "SolvencyIICorporateCreditSprdRating"
    SOLVENCY_II_COVERED_AND_PFANDBRIEF_ISSUER = "SolvencyIICovered&PfandbriefIssuer"
    SOLVENCY_II_FINANCIAL_CREDIT_SPRD_RATING = "SolvencyIIFinancialCreditSprdRating"
    SOLVENCY_II_INTEREST_RATE_SWAP_YIELD = "SolvencyIIInterestRateSwapYield"
    SOLVENCY_II_LIQUIDITY_SPREAD = "SolvencyIILiquiditySpread"
    SOLVENCY_II_PFANDBRIEF_YIELD_BY_CURRENCY = "SolvencyIIPfandbriefYieldByCurrency"
    SOLVENCY_II_STRUCTURED_ABS_RATING = "SolvencyIIStructuredABSRating"
    SOLVENCY_II_STRUCTURED_MBS_RATING = "SolvencyIIStructuredMBSRating"
    SOLVENCY_II_SWAP_DERIVED_ZERO = "SolvencyIISwapDerivedZero"
    SOLVENCY_II_TREASURY_VERSUS_IRS_SPREAD = "SolvencyIITreasuryVersusIRSSpread"
    SOVEREIGN_AGENCY_BENCHMARK = "SovereignAgencyBenchmark"
    SWAP_CARRY = "SwapCarry"
    SWAP_PAR = "SwapPar"
    SWAP_ZERO = "SwapZero"
    SWAPTION_VOLATILITY = "SwaptionVolatility"
    TREASURY_SPREAD = "TreasurySpread"
