apple-quant-algorithmic 0.3.0

Apple Quant's algorithmic library.
use crate::{
	backend::{LocalOrderId, RemoteOrderId},
	instrument::InstrumentSpec, order::RemoteOrder, timestamp::TradeTimestamp,
	volume::DirectionlessVolume,
};

/// Minimal requests to simulate event state changes and latency.
#[derive(Debug, Default, Clone)]
pub(super) enum RemoteRequest<IS: InstrumentSpec> {
	SubmitOrder {
		local_order_id: LocalOrderId,
		remote_order: RemoteOrder<IS>,
	},

	ModifyVolume {
		remote_order_id: RemoteOrderId,
		volume: DirectionlessVolume<IS>,
	},

	CancelOrder(RemoteOrderId),
	CancelAll,
	CancelFlattenAll,

	#[default]
	Nop,
}