alpacars 0.1.0

Async Rust SDK for Alpaca Markets API
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum OrderType {
    Market,
    Limit,
    Stop,
    StopLimit,
    TrailingStop,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum OrderSide {
    Buy,
    Sell,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum OrderStatus {
    New,
    PartiallyFilled,
    Filled,
    DoneForDay,
    Canceled,
    Expired,
    Replaced,
    PendingCancel,
    PendingReplace,
    PendingReview,
    Accepted,
    PendingNew,
    AcceptedForBidding,
    Stopped,
    Rejected,
    Suspended,
    Calculated,
    Held,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum OrderClass {
    Simple,
    Mleg,
    Bracket,
    Oco,
    Oto,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum TimeInForce {
    Day,
    Gtc,
    Opg,
    Cls,
    Ioc,
    Fok,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum AssetClass {
    UsEquity,
    UsOption,
    Crypto,
    CryptoPerp,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum AssetStatus {
    Active,
    Inactive,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub enum AssetExchange {
    #[serde(rename = "AMEX")]
    Amex,
    #[serde(rename = "ARCA")]
    Arca,
    #[serde(rename = "ASCX")]
    Ascx,
    #[serde(rename = "BATS")]
    Bats,
    #[serde(rename = "NYSE")]
    Nyse,
    #[serde(rename = "NASDAQ")]
    Nasdaq,
    #[serde(rename = "NYSEARCA")]
    Nysearca,
    #[serde(rename = "FTXU")]
    Ftxu,
    #[serde(rename = "CBSE")]
    Cbse,
    #[serde(rename = "GNSS")]
    Gnss,
    #[serde(rename = "ERSX")]
    Ersx,
    #[serde(rename = "OTC")]
    Otc,
    #[serde(rename = "CRYPTO")]
    Crypto,
    #[serde(rename = "")]
    Empty,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum PositionSide {
    Long,
    Short,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum CorporateActionType {
    Dividend,
    Merger,
    Spinoff,
    Split,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum CorporateActionSubType {
    Cash,
    Stock,
    MergerUpdate,
    MergerCompletion,
    Spinoff,
    StockSplit,
    UnitSplit,
    ReverseSplit,
    Recapitalization,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum AccountStatus {
    AccountClosed,
    AccountUpdated,
    ActionRequired,
    Active,
    AmlReview,
    ApprovalPending,
    Approved,
    Disabled,
    DisablePending,
    Edited,
    Inactive,
    KycSubmitted,
    Limited,
    Onboarding,
    PaperOnly,
    ReapprovalPending,
    Rejected,
    Resubmitted,
    SignedUp,
    SubmissionFailed,
    Submitted,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum CorporateActionDateType {
    DeclarationDate,
    ExDate,
    RecordDate,
    PayableDate,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum TradeEvent {
    Accepted,
    Canceled,
    Expired,
    Fill,
    New,
    PartialFill,
    PendingCancel,
    PendingNew,
    PendingReplace,
    Rejected,
    Replaced,
    Restated,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum QueryOrderStatus {
    Open,
    Closed,
    All,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum DTBPCheck {
    Both,
    Entry,
    Exit,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum PDTCheck {
    Both,
    Entry,
    Exit,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum TradeConfirmationEmail {
    All,
    None,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum ContractType {
    Call,
    Put,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum ExerciseStyle {
    American,
    European,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum ActivityType {
    Fill,
    Acatc,
    Acats,
    Cfee,
    Cil,
    Csd,
    Csw,
    Div,
    Divcgl,
    Divcgs,
    Divnra,
    Divroc,
    Divtxex,
    Divwh,
    Extrd,
    Fee,
    Fxtrd,
    Int,
    Intpnl,
    Jnlc,
    Jnls,
    Ma,
    Mem,
    Nc,
    Oct,
    Opasn,
    Opcsh,
    Opexc,
    Opexp,
    Optrd,
    Ptc,
    Reorg,
    Spin,
    Split,
    Swp,
    Vof,
    Wh,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum TradeActivityType {
    PartialFill,
    Fill,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum NonTradeActivityStatus {
    Executed,
    Correct,
    Canceled,
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum PositionIntent {
    BuyToOpen,
    BuyToClose,
    SellToOpen,
    SellToClose,
}