Documentation
¶
Index ¶
- type AccountResultSummary
- type Catalog
- type Config
- type Engine
- type EngineConfig
- type Event
- type FillContext
- type FillModel
- type FillModelConfig
- type FillSource
- type Match
- type MatchingCore
- type MatchingCoreConfig
- type MemoryCatalog
- type OrderBookMatchRequest
- type ProbabilisticFillModel
- type Result
- type ResultSummary
- type Runner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccountResultSummary ¶
type AccountResultSummary struct {
AccountID model.AccountID `json:"account_id"`
Orders []model.OrderStatusReport `json:"orders"`
Fills []model.FillReport `json:"fills"`
Positions []model.PositionStatusReport `json:"positions"`
}
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
func NewEngine ¶
func NewEngine(cfg EngineConfig) *Engine
func (*Engine) AddStrategy ¶
type EngineConfig ¶
type EngineConfig struct {
Bus *bus.Bus
Catalog Catalog
DataCatalog data.ReplayCatalog
}
type FillContext ¶
type FillContext struct {
Order model.OrderStatusReport
Instrument model.Instrument
Source FillSource
Price decimal.Decimal
Quantity decimal.Decimal
Timestamp time.Time
LimitTouch bool
Taker bool
}
type FillModel ¶
type FillModel interface {
ShouldFillLimitTouch(FillContext) bool
ApplySlippage(FillContext, decimal.Decimal) decimal.Decimal
}
type FillModelConfig ¶
type FillSource ¶
type FillSource string
const ( FillSourceTicker FillSource = "ticker" FillSourceOrderBook FillSource = "order_book" FillSourceQuoteTick FillSource = "quote_tick" FillSourceTradeTick FillSource = "trade_tick" FillSourceBar FillSource = "bar" )
type MatchingCore ¶
type MatchingCore struct {
// contains filtered or unexported fields
}
func NewMatchingCore ¶
func NewMatchingCore(cfg MatchingCoreConfig) *MatchingCore
func (*MatchingCore) MatchOrderBook ¶
func (c *MatchingCore) MatchOrderBook(req OrderBookMatchRequest) []Match
type MatchingCoreConfig ¶
type MatchingCoreConfig struct {
Instrument model.Instrument
FillModel FillModel
}
type MemoryCatalog ¶
type MemoryCatalog struct {
// contains filtered or unexported fields
}
func NewMemoryCatalog ¶
func NewMemoryCatalog(events ...Event) *MemoryCatalog
func (*MemoryCatalog) Add ¶
func (c *MemoryCatalog) Add(event Event)
type OrderBookMatchRequest ¶
type ProbabilisticFillModel ¶
type ProbabilisticFillModel struct {
// contains filtered or unexported fields
}
func DefaultFillModel ¶
func DefaultFillModel() *ProbabilisticFillModel
func NewFillModel ¶
func NewFillModel(cfg FillModelConfig) (*ProbabilisticFillModel, error)
func (*ProbabilisticFillModel) ApplySlippage ¶
func (m *ProbabilisticFillModel) ApplySlippage(ctx FillContext, price decimal.Decimal) decimal.Decimal
func (*ProbabilisticFillModel) ShouldFillLimitTouch ¶
func (m *ProbabilisticFillModel) ShouldFillLimitTouch(ctx FillContext) bool
type Result ¶
type Result struct {
EventsProcessed int
Cache *cache.Cache
Portfolio *portfolio.Portfolio
AccountIDs []model.AccountID
Execution execution.Health
}
func (Result) DeterministicJSON ¶
type ResultSummary ¶
type ResultSummary struct {
EventsProcessed int `json:"events_processed"`
Accounts []AccountResultSummary `json:"accounts"`
}
Click to show internal directories.
Click to hide internal directories.