use serde::Deserialize;
use serde::Serialize;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum QuoteField {
Quote,
Fundamental,
Extended,
Reference,
Regular,
All,
#[serde(untagged)]
Extra(String),
}
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "UPPERCASE")]
pub enum ContractType {
Call,
Put,
All,
}
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "UPPERCASE")]
pub enum OptionChainStrategy {
Single,
Analytical,
Covered,
Vertical,
Calendar,
Strangle,
Straddle,
Butterfly,
Condor,
Diagonal,
Collar,
Roll,
}
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "UPPERCASE")]
pub enum Month {
Jan,
Feb,
Mar,
Apr,
May,
Jun,
Jul,
Aug,
Sep,
Oct,
Nov,
Dec,
All,
}
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "UPPERCASE")]
pub enum Entitlement {
PN,
NP,
PP,
}
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum PeriodType {
Day,
Month,
Year,
Ytd,
}
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum FrequencyType {
Minute,
Daily,
Weekly,
Monthly,
}
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum SortAttribute {
Volume,
Trades,
PercentChangeUp,
PercentChangeDown,
}
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum Market {
Equity,
Option,
Bond,
Future,
Forex,
}
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub enum Projection {
SymbolSearch,
SymbolRegex,
DescSearch,
DescRegex,
Search,
Fundamental,
}
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum Status {
AwaitingParentOrder,
AwaitingCondition,
AwaitingStopCondition,
AwaitingManualReview,
Accepted,
AwaitingUrOut,
PendingActivation,
Queued,
Working,
Rejected,
PendingCancel,
Canceled,
PendingReplace,
Replaced,
Filled,
Expired,
New,
AwaitingReleaseTime,
PendingAcknowledgement,
PendingRecall,
Unknown,
}
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum TransactionType {
Trade,
ReceiveAndDeliver,
DividendOrInterest,
AchReceipt,
AchDisbursement,
CashReceipt,
CashDisbursement,
ElectronicFund,
WireOut,
WireIn,
Journal,
Memorandum,
MarginCall,
MoneyMarket,
SmaAdjustment,
}