#[non_exhaustive]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum ScreenerPeerGroup {
Semiconductors,
SemiconductorEquipment,
SoftwareAndServices,
TechnologyHardwareAndEquipment,
InternetCompanies,
ElectronicEquipment,
Banks,
DiversifiedBanks,
RegionalBanks,
CapitalMarkets,
Insurance,
LifeAndHealthInsurance,
PropertyAndCasualtyInsurance,
AssetManagement,
ConsumerFinance,
MortgageFinance,
SpecialtyFinance,
DiversifiedFinancialServices,
InvestmentBankingAndBrokerage,
Pharmaceuticals,
Biotechnology,
HealthCareEquipment,
HealthCareServices,
HealthCareFacilities,
ManagedHealthcare,
Automobiles,
AutoComponents,
FoodProducts,
PackagedFoodsAndMeats,
Beverages,
HouseholdProducts,
HouseholdDurables,
PersonalProducts,
ApparelAndLuxuryGoods,
Retailers,
FoodAndDrugRetailing,
GeneralMerchandiseStores,
SpecialtyRetail,
LeisureProducts,
Hotels,
Restaurants,
Media,
DrugRetail,
IntegratedOilAndGas,
OilAndGasExplorationAndProduction,
OilAndGasRefiningAndMarketing,
OilAndGasStorageAndTransportation,
EnergyEquipmentAndServices,
AerospaceAndDefense,
Airlines,
IndustrialMachinery,
IndustrialConglomerates,
IndustrialGases,
BuildingProducts,
Chemicals,
SpecialtyChemicals,
MetalsAndMining,
PaperAndForestProducts,
ContainersAndPackaging,
CommercialServicesAndSupplies,
Railroads,
Trucking,
ResearchAndConsultingServices,
HumanResourceAndEmploymentServices,
DataProcessingAndOutsourcedServices,
ItConsultingAndOtherServices,
RealEstate,
RetailReits,
ElectricUtilities,
GasUtilities,
WaterUtilities,
MultiUtilities,
RenewableElectricity,
TelecomServices,
WirelessTelecommunicationServices,
Steel,
Gold,
OilAndGas,
WasteManagement,
Tobacco,
OfficeElectronics,
CommunicationsEquipment,
HomeBuilding,
HomeFurnishings,
HouseholdAppliances,
Publishing,
}
impl ScreenerPeerGroup {
pub fn as_str(self) -> &'static str {
match self {
ScreenerPeerGroup::Semiconductors => "Semiconductors",
ScreenerPeerGroup::SemiconductorEquipment => "Semiconductor Equipment",
ScreenerPeerGroup::SoftwareAndServices => "Software & Services",
ScreenerPeerGroup::TechnologyHardwareAndEquipment => "Technology Hardware & Equipment",
ScreenerPeerGroup::InternetCompanies => "Internet Companies",
ScreenerPeerGroup::ElectronicEquipment => "Electronic Equipment",
ScreenerPeerGroup::Banks => "Banks",
ScreenerPeerGroup::DiversifiedBanks => "Diversified Banks",
ScreenerPeerGroup::RegionalBanks => "Regional Banks",
ScreenerPeerGroup::CapitalMarkets => "Capital Markets",
ScreenerPeerGroup::Insurance => "Insurance",
ScreenerPeerGroup::LifeAndHealthInsurance => "Life & Health Insurance",
ScreenerPeerGroup::PropertyAndCasualtyInsurance => "Property & Casualty Insurance",
ScreenerPeerGroup::AssetManagement => "Asset Management",
ScreenerPeerGroup::ConsumerFinance => "Consumer Finance",
ScreenerPeerGroup::MortgageFinance => "Mortgage Finance",
ScreenerPeerGroup::SpecialtyFinance => "Specialty Finance",
ScreenerPeerGroup::DiversifiedFinancialServices => "Diversified Financial Services",
ScreenerPeerGroup::InvestmentBankingAndBrokerage => "Investment Banking & Brokerage",
ScreenerPeerGroup::Pharmaceuticals => "Pharmaceuticals",
ScreenerPeerGroup::Biotechnology => "Biotechnology",
ScreenerPeerGroup::HealthCareEquipment => "Health Care Equipment",
ScreenerPeerGroup::HealthCareServices => "Health Care Services",
ScreenerPeerGroup::HealthCareFacilities => "Health Care Facilities",
ScreenerPeerGroup::ManagedHealthcare => "Managed Healthcare",
ScreenerPeerGroup::Automobiles => "Automobiles",
ScreenerPeerGroup::AutoComponents => "Auto Components",
ScreenerPeerGroup::FoodProducts => "Food Products",
ScreenerPeerGroup::PackagedFoodsAndMeats => "Packaged Foods & Meats",
ScreenerPeerGroup::Beverages => "Beverages",
ScreenerPeerGroup::HouseholdProducts => "Household Products",
ScreenerPeerGroup::HouseholdDurables => "Household Durables",
ScreenerPeerGroup::PersonalProducts => "Personal Products",
ScreenerPeerGroup::ApparelAndLuxuryGoods => "Apparel & Luxury Goods",
ScreenerPeerGroup::Retailers => "Retailers",
ScreenerPeerGroup::FoodAndDrugRetailing => "Food & Drug Retailing",
ScreenerPeerGroup::GeneralMerchandiseStores => "General Merchandise Stores",
ScreenerPeerGroup::SpecialtyRetail => "Specialty Retail",
ScreenerPeerGroup::LeisureProducts => "Leisure Products",
ScreenerPeerGroup::Hotels => "Hotels",
ScreenerPeerGroup::Restaurants => "Restaurants",
ScreenerPeerGroup::Media => "Media",
ScreenerPeerGroup::DrugRetail => "Drug Retail",
ScreenerPeerGroup::IntegratedOilAndGas => "Integrated Oil & Gas",
ScreenerPeerGroup::OilAndGasExplorationAndProduction => {
"Oil & Gas Exploration & Production"
}
ScreenerPeerGroup::OilAndGasRefiningAndMarketing => "Oil & Gas Refining & Marketing",
ScreenerPeerGroup::OilAndGasStorageAndTransportation => {
"Oil & Gas Storage & Transportation"
}
ScreenerPeerGroup::EnergyEquipmentAndServices => "Energy Equipment & Services",
ScreenerPeerGroup::AerospaceAndDefense => "Aerospace & Defense",
ScreenerPeerGroup::Airlines => "Airlines",
ScreenerPeerGroup::IndustrialMachinery => "Industrial Machinery",
ScreenerPeerGroup::IndustrialConglomerates => "Industrial Conglomerates",
ScreenerPeerGroup::IndustrialGases => "Industrial Gases",
ScreenerPeerGroup::BuildingProducts => "Building Products",
ScreenerPeerGroup::Chemicals => "Chemicals",
ScreenerPeerGroup::SpecialtyChemicals => "Specialty Chemicals",
ScreenerPeerGroup::MetalsAndMining => "Metals & Mining",
ScreenerPeerGroup::PaperAndForestProducts => "Paper & Forest Products",
ScreenerPeerGroup::ContainersAndPackaging => "Containers & Packaging",
ScreenerPeerGroup::CommercialServicesAndSupplies => "Commercial Services & Supplies",
ScreenerPeerGroup::Railroads => "Railroads",
ScreenerPeerGroup::Trucking => "Trucking",
ScreenerPeerGroup::ResearchAndConsultingServices => "Research & Consulting Services",
ScreenerPeerGroup::HumanResourceAndEmploymentServices => {
"Human Resource & Employment Services"
}
ScreenerPeerGroup::DataProcessingAndOutsourcedServices => {
"Data Processing & Outsourced Services"
}
ScreenerPeerGroup::ItConsultingAndOtherServices => "IT Consulting & Other Services",
ScreenerPeerGroup::RealEstate => "Real Estate",
ScreenerPeerGroup::RetailReits => "Retail REITs",
ScreenerPeerGroup::ElectricUtilities => "Electric Utilities",
ScreenerPeerGroup::GasUtilities => "Gas Utilities",
ScreenerPeerGroup::WaterUtilities => "Water Utilities",
ScreenerPeerGroup::MultiUtilities => "Multi-Utilities",
ScreenerPeerGroup::RenewableElectricity => "Renewable Electricity",
ScreenerPeerGroup::TelecomServices => "Telecom Services",
ScreenerPeerGroup::WirelessTelecommunicationServices => {
"Wireless Telecommunication Services"
}
ScreenerPeerGroup::Steel => "Steel",
ScreenerPeerGroup::Gold => "Gold",
ScreenerPeerGroup::OilAndGas => "Oil & Gas",
ScreenerPeerGroup::WasteManagement => "Waste Management",
ScreenerPeerGroup::Tobacco => "Tobacco",
ScreenerPeerGroup::OfficeElectronics => "Office Electronics",
ScreenerPeerGroup::CommunicationsEquipment => "Communications Equipment",
ScreenerPeerGroup::HomeBuilding => "Home Building",
ScreenerPeerGroup::HomeFurnishings => "Home Furnishings",
ScreenerPeerGroup::HouseholdAppliances => "Household Appliances",
ScreenerPeerGroup::Publishing => "Publishing",
}
}
}
impl From<ScreenerPeerGroup> for String {
fn from(v: ScreenerPeerGroup) -> Self {
v.as_str().to_string()
}
}
#[non_exhaustive]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum ScreenerFundCategory {
UsLargeBlend,
UsLargeGrowth,
UsLargeValue,
UsMidCapBlend,
UsMidCapGrowth,
UsMidCapValue,
UsSmallBlend,
UsSmallGrowth,
UsSmallValue,
UsDiversifiedEmergingMarkets,
UsForeignLargeBlend,
UsForeignLargeGrowth,
UsForeignLargeValue,
UsForeignSmallMidBlend,
UsForeignSmallMidGrowth,
UsForeignSmallMidValue,
UsWorldLargeStockBlend,
UsWorldLargeStockGrowth,
UsWorldSmallMidStock,
UsIntermediateCoreBond,
UsIntermediateCorePlusBond,
UsShortTermBond,
UsLongTermBond,
UsCorporateBond,
UsHighYieldBond,
UsUltrashortBond,
UsInflationProtectedBond,
UsMultisectorBond,
UsShortGovernment,
UsIntermediateGovernment,
UsLongGovernment,
UsMuniNationalInterm,
UsMuniNationalShort,
UsMuniNationalLong,
UsMoneyMarketTaxable,
UsMoneyMarketTaxFree,
UsBankLoan,
UsEmergingMarketsBond,
UsAllocation15To30Equity,
UsAllocation30To50Equity,
UsAllocation50To70Equity,
UsAllocation70To85Equity,
UsAllocation85PlusEquity,
UsRealEstate,
UsHealth,
UsTechnology,
UsNaturalResources,
UsUtilities,
UsCommunications,
UsIndustrials,
UsFinancial,
UsConsumerDefensive,
UsConsumerCyclical,
UsEnergyLimitedPartnership,
UsMiscellaneousSector,
UsInfrastructure,
UsTargetDate2025,
UsTargetDate2030,
UsTargetDate2035,
UsTargetDate2040,
UsTargetDate2045,
UsTargetDate2050,
UsTargetDate2055,
UsTargetDate2060,
UsTargetDate2065Plus,
UsTargetDateRetirement,
UsConvertibles,
UsPreferredStock,
UsMultialternative,
UsOptionsBased,
EaaEuropeLargeCapBlendEquity,
EaaEuropeLargeCapGrowthEquity,
EaaEuropeLargeCapValueEquity,
EaaGlobalLargeCapBlendEquity,
EaaGlobalLargeCapGrowthEquity,
EaaEurDiversifiedBond,
EaaEurCorporateBond,
EaaUsdCorporateBond,
EaaUsdHighYieldBond,
EaaGlobalBond,
EaaUsdMoneyMarket,
EaaEurMoneyMarket,
}
impl ScreenerFundCategory {
pub fn as_str(self) -> &'static str {
match self {
ScreenerFundCategory::UsLargeBlend => "US Fund Large Blend",
ScreenerFundCategory::UsLargeGrowth => "US Fund Large Growth",
ScreenerFundCategory::UsLargeValue => "US Fund Large Value",
ScreenerFundCategory::UsMidCapBlend => "US Fund Mid-Cap Blend",
ScreenerFundCategory::UsMidCapGrowth => "US Fund Mid-Cap Growth",
ScreenerFundCategory::UsMidCapValue => "US Fund Mid-Cap Value",
ScreenerFundCategory::UsSmallBlend => "US Fund Small Blend",
ScreenerFundCategory::UsSmallGrowth => "US Fund Small Growth",
ScreenerFundCategory::UsSmallValue => "US Fund Small Value",
ScreenerFundCategory::UsDiversifiedEmergingMarkets => {
"US Fund Diversified Emerging Markets"
}
ScreenerFundCategory::UsForeignLargeBlend => "US Fund Foreign Large Blend",
ScreenerFundCategory::UsForeignLargeGrowth => "US Fund Foreign Large Growth",
ScreenerFundCategory::UsForeignLargeValue => "US Fund Foreign Large Value",
ScreenerFundCategory::UsForeignSmallMidBlend => "US Fund Foreign Small/Mid Blend",
ScreenerFundCategory::UsForeignSmallMidGrowth => "US Fund Foreign Small/Mid Growth",
ScreenerFundCategory::UsForeignSmallMidValue => "US Fund Foreign Small/Mid Value",
ScreenerFundCategory::UsWorldLargeStockBlend => "US Fund World Large-Stock Blend",
ScreenerFundCategory::UsWorldLargeStockGrowth => "US Fund World Large-Stock Growth",
ScreenerFundCategory::UsWorldSmallMidStock => "US Fund World Small/Mid Stock",
ScreenerFundCategory::UsIntermediateCoreBond => "US Fund Intermediate Core Bond",
ScreenerFundCategory::UsIntermediateCorePlusBond => {
"US Fund Intermediate Core-Plus Bond"
}
ScreenerFundCategory::UsShortTermBond => "US Fund Short-Term Bond",
ScreenerFundCategory::UsLongTermBond => "US Fund Long-Term Bond",
ScreenerFundCategory::UsCorporateBond => "US Fund Corporate Bond",
ScreenerFundCategory::UsHighYieldBond => "US Fund High Yield Bond",
ScreenerFundCategory::UsUltrashortBond => "US Fund Ultrashort Bond",
ScreenerFundCategory::UsInflationProtectedBond => "US Fund Inflation-Protected Bond",
ScreenerFundCategory::UsMultisectorBond => "US Fund Multisector Bond",
ScreenerFundCategory::UsShortGovernment => "US Fund Short Government",
ScreenerFundCategory::UsIntermediateGovernment => "US Fund Intermediate Government",
ScreenerFundCategory::UsLongGovernment => "US Fund Long Government",
ScreenerFundCategory::UsMuniNationalInterm => "US Fund Muni National Interm",
ScreenerFundCategory::UsMuniNationalShort => "US Fund Muni National Short",
ScreenerFundCategory::UsMuniNationalLong => "US Fund Muni National Long",
ScreenerFundCategory::UsMoneyMarketTaxable => "US Fund Money Market Taxable",
ScreenerFundCategory::UsMoneyMarketTaxFree => "US Fund Money Market Tax-Free",
ScreenerFundCategory::UsBankLoan => "US Fund Bank Loan",
ScreenerFundCategory::UsEmergingMarketsBond => "US Fund Emerging Markets Bond",
ScreenerFundCategory::UsAllocation15To30Equity => {
"US Fund Allocation--15% to 30% Equity"
}
ScreenerFundCategory::UsAllocation30To50Equity => {
"US Fund Allocation--30% to 50% Equity"
}
ScreenerFundCategory::UsAllocation50To70Equity => {
"US Fund Allocation--50% to 70% Equity"
}
ScreenerFundCategory::UsAllocation70To85Equity => {
"US Fund Allocation--70% to 85% Equity"
}
ScreenerFundCategory::UsAllocation85PlusEquity => "US Fund Allocation--85%+ Equity",
ScreenerFundCategory::UsRealEstate => "US Fund Real Estate",
ScreenerFundCategory::UsHealth => "US Fund Health",
ScreenerFundCategory::UsTechnology => "US Fund Technology",
ScreenerFundCategory::UsNaturalResources => "US Fund Natural Resources",
ScreenerFundCategory::UsUtilities => "US Fund Utilities",
ScreenerFundCategory::UsCommunications => "US Fund Communications",
ScreenerFundCategory::UsIndustrials => "US Fund Industrials",
ScreenerFundCategory::UsFinancial => "US Fund Financial",
ScreenerFundCategory::UsConsumerDefensive => "US Fund Consumer Defensive",
ScreenerFundCategory::UsConsumerCyclical => "US Fund Consumer Cyclical",
ScreenerFundCategory::UsEnergyLimitedPartnership => {
"US Fund Energy Limited Partnership"
}
ScreenerFundCategory::UsMiscellaneousSector => "US Fund Miscellaneous Sector",
ScreenerFundCategory::UsInfrastructure => "US Fund Infrastructure",
ScreenerFundCategory::UsTargetDate2025 => "US Fund Target-Date 2025",
ScreenerFundCategory::UsTargetDate2030 => "US Fund Target-Date 2030",
ScreenerFundCategory::UsTargetDate2035 => "US Fund Target-Date 2035",
ScreenerFundCategory::UsTargetDate2040 => "US Fund Target-Date 2040",
ScreenerFundCategory::UsTargetDate2045 => "US Fund Target-Date 2045",
ScreenerFundCategory::UsTargetDate2050 => "US Fund Target-Date 2050",
ScreenerFundCategory::UsTargetDate2055 => "US Fund Target-Date 2055",
ScreenerFundCategory::UsTargetDate2060 => "US Fund Target-Date 2060",
ScreenerFundCategory::UsTargetDate2065Plus => "US Fund Target-Date 2065+",
ScreenerFundCategory::UsTargetDateRetirement => "US Fund Target-Date Retirement",
ScreenerFundCategory::UsConvertibles => "US Fund Convertibles",
ScreenerFundCategory::UsPreferredStock => "US Fund Preferred Stock",
ScreenerFundCategory::UsMultialternative => "US Fund Multialternative",
ScreenerFundCategory::UsOptionsBased => "US Fund Options-based",
ScreenerFundCategory::EaaEuropeLargeCapBlendEquity => {
"EAA Fund Europe Large-Cap Blend Equity"
}
ScreenerFundCategory::EaaEuropeLargeCapGrowthEquity => {
"EAA Fund Europe Large-Cap Growth Equity"
}
ScreenerFundCategory::EaaEuropeLargeCapValueEquity => {
"EAA Fund Europe Large-Cap Value Equity"
}
ScreenerFundCategory::EaaGlobalLargeCapBlendEquity => {
"EAA Fund Global Large-Cap Blend Equity"
}
ScreenerFundCategory::EaaGlobalLargeCapGrowthEquity => {
"EAA Fund Global Large-Cap Growth Equity"
}
ScreenerFundCategory::EaaEurDiversifiedBond => "EAA Fund EUR Diversified Bond",
ScreenerFundCategory::EaaEurCorporateBond => "EAA Fund EUR Corporate Bond",
ScreenerFundCategory::EaaUsdCorporateBond => "EAA Fund USD Corporate Bond",
ScreenerFundCategory::EaaUsdHighYieldBond => "EAA Fund USD High Yield Bond",
ScreenerFundCategory::EaaGlobalBond => "EAA Fund Global Bond",
ScreenerFundCategory::EaaUsdMoneyMarket => "EAA Fund USD Money Market",
ScreenerFundCategory::EaaEurMoneyMarket => "EAA Fund EUR Money Market",
}
}
}
impl From<ScreenerFundCategory> for String {
fn from(v: ScreenerFundCategory) -> Self {
v.as_str().to_string()
}
}