use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum InstrumentName {
#[serde(rename = "AU200_AUD")]
Au200Aud,
#[serde(rename = "AUD_CAD")]
AudCad,
#[serde(rename = "AUD_CHF")]
AudChf,
#[serde(rename = "AUD_HKD")]
AudHkd,
#[serde(rename = "AUD_JPY")]
AudJpy,
#[serde(rename = "AUD_NZD")]
AudNzd,
#[serde(rename = "AUD_SGD")]
AudSgd,
#[serde(rename = "AUD_USD")]
AudUsd,
#[serde(rename = "BCO_USD")]
BcoUsd,
#[serde(rename = "CAD_CHF")]
CadChf,
#[serde(rename = "CAD_HKD")]
CadHkd,
#[serde(rename = "CAD_JPY")]
CadJpy,
#[serde(rename = "CAD_SGD")]
CadSgd,
#[serde(rename = "CH20_CHF")]
Ch20Chf,
#[serde(rename = "CHF_HKD")]
ChfHkd,
#[serde(rename = "CHF_JPY")]
ChfJpy,
#[serde(rename = "CHF_ZAR")]
ChfZar,
#[serde(rename = "CHINAH_HKD")]
ChinahHkd,
#[serde(rename = "CN50_USD")]
Cn50Usd,
#[serde(rename = "CORN_USD")]
CornUsd,
#[serde(rename = "DE10YB_EUR")]
De10YbEur,
#[serde(rename = "DE30_EUR")]
De30Eur,
#[serde(rename = "ESPIX_EUR")]
EspixEur,
#[serde(rename = "EU50_EUR")]
Eu50Eur,
#[serde(rename = "EUR_AUD")]
EurAud,
#[serde(rename = "EUR_CAD")]
EurCad,
#[serde(rename = "EUR_CHF")]
EurChf,
#[serde(rename = "EUR_CZK")]
EurCzk,
#[serde(rename = "EUR_DKK")]
EurDkk,
#[serde(rename = "EUR_GBP")]
EurGbp,
#[serde(rename = "EUR_HKD")]
EurHkd,
#[serde(rename = "EUR_HUF")]
EurHuf,
#[serde(rename = "EUR_JPY")]
EurJpy,
#[serde(rename = "EUR_NOK")]
EurNok,
#[serde(rename = "EUR_NZD")]
EurNzd,
#[serde(rename = "EUR_PLN")]
EurPln,
#[serde(rename = "EUR_SEK")]
EurSek,
#[serde(rename = "EUR_SGD")]
EurSgd,
#[serde(rename = "EUR_TRY")]
EurTry,
#[serde(rename = "EUR_USD")]
EurUsd,
#[serde(rename = "EUR_ZAR")]
EurZar,
#[serde(rename = "FR40_EUR")]
Fr40Eur,
#[serde(rename = "GBP_AUD")]
GbpAud,
#[serde(rename = "GBP_CAD")]
GbpCad,
#[serde(rename = "GBP_CHF")]
GbpChf,
#[serde(rename = "GBP_HKD")]
GbpHkd,
#[serde(rename = "GBP_JPY")]
GbpJpy,
#[serde(rename = "GBP_NZD")]
GbpNzd,
#[serde(rename = "GBP_PLN")]
GbpPln,
#[serde(rename = "GBP_SGD")]
GbpSgd,
#[serde(rename = "GBP_USD")]
GbpUsd,
#[serde(rename = "GBP_ZAR")]
GbpZar,
#[serde(rename = "HK33_HKD")]
Hk33Hkd,
#[serde(rename = "HKD_JPY")]
HkdJpy,
#[serde(rename = "JP225_USD")]
Jp225Usd,
#[serde(rename = "JP225Y_JPY")]
Jp225YJpy,
#[serde(rename = "NAS100_USD")]
Nas100Usd,
#[serde(rename = "NATGAS_USD")]
NatgasUsd,
#[serde(rename = "NL25_EUR")]
Nl25Eur,
#[serde(rename = "NZD_CAD")]
NzdCad,
#[serde(rename = "NZD_CHF")]
NzdChf,
#[serde(rename = "NZD_HKD")]
NzdHkd,
#[serde(rename = "NZD_JPY")]
NzdJpy,
#[serde(rename = "NZD_SGD")]
NzdSgd,
#[serde(rename = "NZD_USD")]
NzdUsd,
#[serde(rename = "SG30_SGD")]
Sg30Sgd,
#[serde(rename = "SGD_CHF")]
SgdChf,
#[serde(rename = "SGD_JPY")]
SgdJpy,
#[serde(rename = "SOYBN_USD")]
SoybnUsd,
#[serde(rename = "SPX500_USD")]
Spx500Usd,
#[serde(rename = "SUGAR_USD")]
SugarUsd,
#[serde(rename = "TRY_JPY")]
TryJpy,
#[serde(rename = "UK100_GBP")]
Uk100Gbp,
#[serde(rename = "UK10YB_GBP")]
Uk10YbGbp,
#[serde(rename = "US2000_USD")]
Us2000Usd,
#[serde(rename = "US30_USD")]
Us30Usd,
#[serde(rename = "USB02Y_USD")]
Usb02YUsd,
#[serde(rename = "USB05Y_USD")]
Usb05YUsd,
#[serde(rename = "USB10Y_USD")]
Usb10YUsd,
#[serde(rename = "USB30Y_USD")]
Usb30YUsd,
#[serde(rename = "USD_CAD")]
UsdCad,
#[serde(rename = "USD_CHF")]
UsdChf,
#[serde(rename = "USD_CNH")]
UsdCnh,
#[serde(rename = "USD_CZK")]
UsdCzk,
#[serde(rename = "USD_DKK")]
UsdDkk,
#[serde(rename = "USD_HKD")]
UsdHkd,
#[serde(rename = "USD_HUF")]
UsdHuf,
#[serde(rename = "USD_JPY")]
UsdJpy,
#[serde(rename = "USD_MXN")]
UsdMxn,
#[serde(rename = "USD_NOK")]
UsdNok,
#[serde(rename = "USD_PLN")]
UsdPln,
#[serde(rename = "USD_SEK")]
UsdSek,
#[serde(rename = "USD_SGD")]
UsdSgd,
#[serde(rename = "USD_THB")]
UsdThb,
#[serde(rename = "USD_TRY")]
UsdTry,
#[serde(rename = "USD_ZAR")]
UsdZar,
#[serde(rename = "WHEAT_USD")]
WheatUsd,
#[serde(rename = "WTICO_USD")]
WticoUsd,
#[serde(rename = "XAG_AUD")]
XagAud,
#[serde(rename = "XAG_CAD")]
XagCad,
#[serde(rename = "XAG_CHF")]
XagChf,
#[serde(rename = "XAG_EUR")]
XagEur,
#[serde(rename = "XAG_GBP")]
XagGbp,
#[serde(rename = "XAG_HKD")]
XagHkd,
#[serde(rename = "XAG_JPY")]
XagJpy,
#[serde(rename = "XAG_NZD")]
XagNzd,
#[serde(rename = "XAG_SGD")]
XagSgd,
#[serde(rename = "XAG_USD")]
XagUsd,
#[serde(rename = "XAU_AUD")]
XauAud,
#[serde(rename = "XAU_CAD")]
XauCad,
#[serde(rename = "XAU_CHF")]
XauChf,
#[serde(rename = "XAU_EUR")]
XauEur,
#[serde(rename = "XAU_GBP")]
XauGbp,
#[serde(rename = "XAU_HKD")]
XauHkd,
#[serde(rename = "XAU_JPY")]
XauJpy,
#[serde(rename = "XAU_NZD")]
XauNzd,
#[serde(rename = "XAU_SGD")]
XauSgd,
#[serde(rename = "XAU_USD")]
XauUsd,
#[serde(rename = "XAU_XAG")]
XauXag,
#[serde(rename = "XCU_USD")]
XcuUsd,
#[serde(rename = "XPD_USD")]
XpdUsd,
#[serde(rename = "XPT_USD")]
XptUsd,
#[serde(rename = "ZAR_JPY")]
ZarJpy,
}
impl std::fmt::Display for InstrumentName {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Au200Aud => write!(f, "AU200_AUD"),
Self::AudCad => write!(f, "AUD_CAD"),
Self::AudChf => write!(f, "AUD_CHF"),
Self::AudHkd => write!(f, "AUD_HKD"),
Self::AudJpy => write!(f, "AUD_JPY"),
Self::AudNzd => write!(f, "AUD_NZD"),
Self::AudSgd => write!(f, "AUD_SGD"),
Self::AudUsd => write!(f, "AUD_USD"),
Self::BcoUsd => write!(f, "BCO_USD"),
Self::CadChf => write!(f, "CAD_CHF"),
Self::CadHkd => write!(f, "CAD_HKD"),
Self::CadJpy => write!(f, "CAD_JPY"),
Self::CadSgd => write!(f, "CAD_SGD"),
Self::Ch20Chf => write!(f, "CH20_CHF"),
Self::ChfHkd => write!(f, "CHF_HKD"),
Self::ChfJpy => write!(f, "CHF_JPY"),
Self::ChfZar => write!(f, "CHF_ZAR"),
Self::ChinahHkd => write!(f, "CHINAH_HKD"),
Self::Cn50Usd => write!(f, "CN50_USD"),
Self::CornUsd => write!(f, "CORN_USD"),
Self::De10YbEur => write!(f, "DE10YB_EUR"),
Self::De30Eur => write!(f, "DE30_EUR"),
Self::EspixEur => write!(f, "ESPIX_EUR"),
Self::Eu50Eur => write!(f, "EU50_EUR"),
Self::EurAud => write!(f, "EUR_AUD"),
Self::EurCad => write!(f, "EUR_CAD"),
Self::EurChf => write!(f, "EUR_CHF"),
Self::EurCzk => write!(f, "EUR_CZK"),
Self::EurDkk => write!(f, "EUR_DKK"),
Self::EurGbp => write!(f, "EUR_GBP"),
Self::EurHkd => write!(f, "EUR_HKD"),
Self::EurHuf => write!(f, "EUR_HUF"),
Self::EurJpy => write!(f, "EUR_JPY"),
Self::EurNok => write!(f, "EUR_NOK"),
Self::EurNzd => write!(f, "EUR_NZD"),
Self::EurPln => write!(f, "EUR_PLN"),
Self::EurSek => write!(f, "EUR_SEK"),
Self::EurSgd => write!(f, "EUR_SGD"),
Self::EurTry => write!(f, "EUR_TRY"),
Self::EurUsd => write!(f, "EUR_USD"),
Self::EurZar => write!(f, "EUR_ZAR"),
Self::Fr40Eur => write!(f, "FR40_EUR"),
Self::GbpAud => write!(f, "GBP_AUD"),
Self::GbpCad => write!(f, "GBP_CAD"),
Self::GbpChf => write!(f, "GBP_CHF"),
Self::GbpHkd => write!(f, "GBP_HKD"),
Self::GbpJpy => write!(f, "GBP_JPY"),
Self::GbpNzd => write!(f, "GBP_NZD"),
Self::GbpPln => write!(f, "GBP_PLN"),
Self::GbpSgd => write!(f, "GBP_SGD"),
Self::GbpUsd => write!(f, "GBP_USD"),
Self::GbpZar => write!(f, "GBP_ZAR"),
Self::Hk33Hkd => write!(f, "HK33_HKD"),
Self::HkdJpy => write!(f, "HKD_JPY"),
Self::Jp225Usd => write!(f, "JP225_USD"),
Self::Jp225YJpy => write!(f, "JP225Y_JPY"),
Self::Nas100Usd => write!(f, "NAS100_USD"),
Self::NatgasUsd => write!(f, "NATGAS_USD"),
Self::Nl25Eur => write!(f, "NL25_EUR"),
Self::NzdCad => write!(f, "NZD_CAD"),
Self::NzdChf => write!(f, "NZD_CHF"),
Self::NzdHkd => write!(f, "NZD_HKD"),
Self::NzdJpy => write!(f, "NZD_JPY"),
Self::NzdSgd => write!(f, "NZD_SGD"),
Self::NzdUsd => write!(f, "NZD_USD"),
Self::Sg30Sgd => write!(f, "SG30_SGD"),
Self::SgdChf => write!(f, "SGD_CHF"),
Self::SgdJpy => write!(f, "SGD_JPY"),
Self::SoybnUsd => write!(f, "SOYBN_USD"),
Self::Spx500Usd => write!(f, "SPX500_USD"),
Self::SugarUsd => write!(f, "SUGAR_USD"),
Self::TryJpy => write!(f, "TRY_JPY"),
Self::Uk100Gbp => write!(f, "UK100_GBP"),
Self::Uk10YbGbp => write!(f, "UK10YB_GBP"),
Self::Us2000Usd => write!(f, "US2000_USD"),
Self::Us30Usd => write!(f, "US30_USD"),
Self::Usb02YUsd => write!(f, "USB02Y_USD"),
Self::Usb05YUsd => write!(f, "USB05Y_USD"),
Self::Usb10YUsd => write!(f, "USB10Y_USD"),
Self::Usb30YUsd => write!(f, "USB30Y_USD"),
Self::UsdCad => write!(f, "USD_CAD"),
Self::UsdChf => write!(f, "USD_CHF"),
Self::UsdCnh => write!(f, "USD_CNH"),
Self::UsdCzk => write!(f, "USD_CZK"),
Self::UsdDkk => write!(f, "USD_DKK"),
Self::UsdHkd => write!(f, "USD_HKD"),
Self::UsdHuf => write!(f, "USD_HUF"),
Self::UsdJpy => write!(f, "USD_JPY"),
Self::UsdMxn => write!(f, "USD_MXN"),
Self::UsdNok => write!(f, "USD_NOK"),
Self::UsdPln => write!(f, "USD_PLN"),
Self::UsdSek => write!(f, "USD_SEK"),
Self::UsdSgd => write!(f, "USD_SGD"),
Self::UsdThb => write!(f, "USD_THB"),
Self::UsdTry => write!(f, "USD_TRY"),
Self::UsdZar => write!(f, "USD_ZAR"),
Self::WheatUsd => write!(f, "WHEAT_USD"),
Self::WticoUsd => write!(f, "WTICO_USD"),
Self::XagAud => write!(f, "XAG_AUD"),
Self::XagCad => write!(f, "XAG_CAD"),
Self::XagChf => write!(f, "XAG_CHF"),
Self::XagEur => write!(f, "XAG_EUR"),
Self::XagGbp => write!(f, "XAG_GBP"),
Self::XagHkd => write!(f, "XAG_HKD"),
Self::XagJpy => write!(f, "XAG_JPY"),
Self::XagNzd => write!(f, "XAG_NZD"),
Self::XagSgd => write!(f, "XAG_SGD"),
Self::XagUsd => write!(f, "XAG_USD"),
Self::XauAud => write!(f, "XAU_AUD"),
Self::XauCad => write!(f, "XAU_CAD"),
Self::XauChf => write!(f, "XAU_CHF"),
Self::XauEur => write!(f, "XAU_EUR"),
Self::XauGbp => write!(f, "XAU_GBP"),
Self::XauHkd => write!(f, "XAU_HKD"),
Self::XauJpy => write!(f, "XAU_JPY"),
Self::XauNzd => write!(f, "XAU_NZD"),
Self::XauSgd => write!(f, "XAU_SGD"),
Self::XauUsd => write!(f, "XAU_USD"),
Self::XauXag => write!(f, "XAU_XAG"),
Self::XcuUsd => write!(f, "XCU_USD"),
Self::XpdUsd => write!(f, "XPD_USD"),
Self::XptUsd => write!(f, "XPT_USD"),
Self::ZarJpy => write!(f, "ZAR_JPY"),
}
}
}
impl Default for InstrumentName {
fn default() -> InstrumentName {
Self::Au200Aud
}
}