Expose process event context to strategy runtime

This commit is contained in:
boris
2026-04-23 05:12:07 -07:00
parent 4d43d1b176
commit 2857f72d84
8 changed files with 742 additions and 92 deletions

View File

@@ -29,6 +29,15 @@ pub enum OrderSide {
Sell,
}
impl OrderSide {
pub fn as_str(&self) -> &'static str {
match self {
Self::Buy => "buy",
Self::Sell => "sell",
}
}
}
#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
pub enum OrderStatus {
Pending,
@@ -120,6 +129,38 @@ pub enum ProcessEventKind {
Trade,
}
impl ProcessEventKind {
pub fn as_str(&self) -> &'static str {
match self {
Self::PreBeforeTrading => "pre_before_trading",
Self::BeforeTrading => "before_trading",
Self::PostBeforeTrading => "post_before_trading",
Self::PreOpenAuction => "pre_open_auction",
Self::OpenAuction => "open_auction",
Self::PostOpenAuction => "post_open_auction",
Self::PreScheduled => "pre_scheduled",
Self::PostScheduled => "post_scheduled",
Self::PreOnDay => "pre_on_day",
Self::OnDay => "on_day",
Self::PostOnDay => "post_on_day",
Self::PreAfterTrading => "pre_after_trading",
Self::AfterTrading => "after_trading",
Self::PostAfterTrading => "post_after_trading",
Self::PreSettlement => "pre_settlement",
Self::Settlement => "settlement",
Self::PostSettlement => "post_settlement",
Self::OrderPendingNew => "order_pending_new",
Self::OrderCreationPass => "order_creation_pass",
Self::OrderCreationReject => "order_creation_reject",
Self::OrderPendingCancel => "order_pending_cancel",
Self::OrderCancellationPass => "order_cancellation_pass",
Self::OrderCancellationReject => "order_cancellation_reject",
Self::OrderUnsolicitedUpdate => "order_unsolicited_update",
Self::Trade => "trade",
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ProcessEvent {
#[serde(with = "date_format")]