Module SimEconomica.Order

Expand source code
from dataclasses import field, dataclass

@dataclass
class Order(object):
    """
        Order object sent from actor to market. Side is false for buy, true for sell
    """
    ID: int
    CreatorID: int
    Side: bool
    Price: int
    Quantity: int


@dataclass
class ActorOrderRecord(object):
    Side: bool
    Price: int
    Quantity: int


@dataclass
class Match(object):
    Bid: Order
    Ask: Order

    @property
    def Quantity(self) -> int:
        return self.Bid.Quantity


@dataclass
class WaitingOrder(object):
    MarketID: int
    Order: Order


class BaseOrderResult(object):
    pass


@dataclass
class OrderResult(BaseOrderResult):
    """
        Data sent from Market to Actor, since no records of trades in actor
    """
    MarketID: int
    IsMatched: bool
    Side: bool
    Quantity: int
    OrderPrice: int
    ClearingPrice: int

    @classmethod
    def FromMatchedOrder(cls, marketID: int, clearingPrice: int, order: Order) -> "OrderResult":
        return OrderResult(marketID, True, order.Side, order.Quantity, order.Price, clearingPrice)

    @classmethod
    def FromRejectedOrder(cls, marketID: int, clearingPrice: int, order: Order) -> "OrderResult":
        return OrderResult(marketID, False, order.Side, order.Quantity, order.Price, clearingPrice)

Classes

class ActorOrderRecord (Side: bool, Price: int, Quantity: int)

ActorOrderRecord(Side: bool, Price: int, Quantity: int)

Expand source code
@dataclass
class ActorOrderRecord(object):
    Side: bool
    Price: int
    Quantity: int

Class variables

var Price : int
var Quantity : int
var Side : bool
class BaseOrderResult
Expand source code
class BaseOrderResult(object):
    pass

Subclasses

class Match (Bid: Order, Ask: Order)

Match(Bid: SimEconomica.Order.Order, Ask: SimEconomica.Order.Order)

Expand source code
@dataclass
class Match(object):
    Bid: Order
    Ask: Order

    @property
    def Quantity(self) -> int:
        return self.Bid.Quantity

Class variables

var AskOrder
var BidOrder

Instance variables

var Quantity : int
Expand source code
@property
def Quantity(self) -> int:
    return self.Bid.Quantity
class Order (ID: int, CreatorID: int, Side: bool, Price: int, Quantity: int)

Order object sent from actor to market. Side is false for buy, true for sell

Expand source code
@dataclass
class Order(object):
    """
        Order object sent from actor to market. Side is false for buy, true for sell
    """
    ID: int
    CreatorID: int
    Side: bool
    Price: int
    Quantity: int

Class variables

var CreatorID : int
var ID : int
var Price : int
var Quantity : int
var Side : bool
class OrderResult (MarketID: int, IsMatched: bool, Side: bool, Quantity: int, OrderPrice: int, ClearingPrice: int)

Data sent from Market to Actor, since no records of trades in actor

Expand source code
@dataclass
class OrderResult(BaseOrderResult):
    """
        Data sent from Market to Actor, since no records of trades in actor
    """
    MarketID: int
    IsMatched: bool
    Side: bool
    Quantity: int
    OrderPrice: int
    ClearingPrice: int

    @classmethod
    def FromMatchedOrder(cls, marketID: int, clearingPrice: int, order: Order) -> "OrderResult":
        return OrderResult(marketID, True, order.Side, order.Quantity, order.Price, clearingPrice)

    @classmethod
    def FromRejectedOrder(cls, marketID: int, clearingPrice: int, order: Order) -> "OrderResult":
        return OrderResult(marketID, False, order.Side, order.Quantity, order.Price, clearingPrice)

Ancestors

Class variables

var ClearingPrice : int
var IsMatched : bool
var MarketID : int
var OrderPrice : int
var Quantity : int
var Side : bool

Static methods

def FromMatchedOrder(marketID: int, clearingPrice: int, order: Order) ‑> OrderResult
Expand source code
@classmethod
def FromMatchedOrder(cls, marketID: int, clearingPrice: int, order: Order) -> "OrderResult":
    return OrderResult(marketID, True, order.Side, order.Quantity, order.Price, clearingPrice)
def FromRejectedOrder(marketID: int, clearingPrice: int, order: Order) ‑> OrderResult
Expand source code
@classmethod
def FromRejectedOrder(cls, marketID: int, clearingPrice: int, order: Order) -> "OrderResult":
    return OrderResult(marketID, False, order.Side, order.Quantity, order.Price, clearingPrice)
class WaitingOrder (MarketID: int, Order: Order)

WaitingOrder(MarketID: int, Order: SimEconomica.Order.Order)

Expand source code
@dataclass
class WaitingOrder(object):
    MarketID: int
    Order: Order

Class variables

var MarketID : int
var OrderOrder