Documentation
¶
Index ¶
- type CumulativeQtySpreadModel
- type FunctionalLiquidityCurve
- type Layer
- type LayerStatus
- type LiquidityCurve
- type MakerDispatcher
- type MakerEngine
- func (e *MakerEngine[T]) CancelAll()
- func (e *MakerEngine[T]) ReconcileAndReplaceBids(mid, remainingTermInventory float64, refData *refdata.Composite, now time.Time) error
- func (e *MakerEngine[T]) ReconcileAndReplaceOffers(mid, remainingBaseInventory float64, refData *refdata.Composite, now time.Time) error
- type MakerLayerController
- func (rm *MakerLayerController[T]) ApplyExecutionReport(rep *report.ExecutionReport[T])
- func (rm *MakerLayerController[T]) GetLayerStatus(layerIndex int, s side.OrderSide, refData *refdata.Composite, now time.Time) LayerStatus
- func (rm *MakerLayerController[T]) HasMetMinimumQuoteTime(orderLayer *orders.Limit[T], minimumQuoteTime time.Duration, now time.Time) bool
- type MakerOrderBook
- type SingleLayerLiquidityCurve
- func (lc *SingleLayerLiquidityCurve[T]) GenerateBids(mid float64, now time.Time) []*orders.Limit[T]
- func (lc *SingleLayerLiquidityCurve[T]) GenerateOffers(mid float64, now time.Time) []*orders.Limit[T]
- func (lc *SingleLayerLiquidityCurve[T]) SetBaseInventory(baseInventory float64)
- func (lc *SingleLayerLiquidityCurve[T]) SetTermInventory(termInventory float64)
- type SingleLayerSpreadModel
- type StaticSymmetricCurveModel
- type TwoFactorSymmetricCurveModel
- func (tfscm *TwoFactorSymmetricCurveModel) BidSpreadBps(totalQty float64) float64
- func (tfscm *TwoFactorSymmetricCurveModel) OfferSpreadBps(totalQty float64) float64
- func (tfscm *TwoFactorSymmetricCurveModel) SetInsideQty(insideQty float64)
- func (tfscm *TwoFactorSymmetricCurveModel) SetInsideSpreadBps(insideSpreadBps float64)
- func (tfscm *TwoFactorSymmetricCurveModel) SetQtySpreadMultiplierBps(qtySpreadMultiplierBps float64)
- type WithBiasSpreadModel
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FunctionalLiquidityCurve ¶
type FunctionalLiquidityCurve[T instr.Instrument] struct { // contains filtered or unexported fields }
func NewFunctionalLiqudityCurve ¶
func NewFunctionalLiqudityCurve[T instr.Instrument](spreadModel CumulativeQtySpreadModel, instrument T, exchange exchange.Exchange) *FunctionalLiquidityCurve[T]
func (*FunctionalLiquidityCurve[T]) GenerateBids ¶
func (*FunctionalLiquidityCurve[T]) GenerateOffers ¶
func (*FunctionalLiquidityCurve[T]) SetLevelQtysInBase ¶
func (lc *FunctionalLiquidityCurve[T]) SetLevelQtysInBase(levelQtysInBase []float64)
type LayerStatus ¶
type LayerStatus int
const ( NotReplenishable LayerStatus = (iota + 1) Replenishable Reconcilable )
type LiquidityCurve ¶
type MakerDispatcher ¶
type MakerEngine ¶
type MakerEngine[T instr.Instrument] struct { // contains filtered or unexported fields }
func NewMakerEngine ¶
func NewMakerEngine[T instr.Instrument]( dispatcher MakerDispatcher[T], confirmedOrderBook *MakerOrderBook[T], controller *MakerLayerController[T], liquidityCurve LiquidityCurve[T]) *MakerEngine[T]
func (*MakerEngine[T]) CancelAll ¶
func (e *MakerEngine[T]) CancelAll()
func (*MakerEngine[T]) ReconcileAndReplaceBids ¶
func (*MakerEngine[T]) ReconcileAndReplaceOffers ¶
type MakerLayerController ¶
type MakerLayerController[T instr.Instrument] struct { // contains filtered or unexported fields }
func NewMakerLayerController ¶
func NewMakerLayerController[T instr.Instrument](instrument T, ex exchange.Exchange) *MakerLayerController[T]
func (*MakerLayerController[T]) ApplyExecutionReport ¶
func (rm *MakerLayerController[T]) ApplyExecutionReport(rep *report.ExecutionReport[T])
func (*MakerLayerController[T]) GetLayerStatus ¶
func (rm *MakerLayerController[T]) GetLayerStatus(layerIndex int, s side.OrderSide, refData *refdata.Composite, now time.Time) LayerStatus
func (*MakerLayerController[T]) HasMetMinimumQuoteTime ¶
type MakerOrderBook ¶
type MakerOrderBook[T instr.Instrument] struct { Bids *tree.RedBlack[Layer, *orders.Limit[T]] Offers *tree.RedBlack[Layer, *orders.Limit[T]] // contains filtered or unexported fields }
func NewMakerOrderBook ¶
func NewMakerOrderBook[T instr.Instrument](instrument T, exchange exchange.Exchange) *MakerOrderBook[T]
func (*MakerOrderBook[T]) ApplyExecutionReport ¶
func (book *MakerOrderBook[T]) ApplyExecutionReport(rep *report.ExecutionReport[T])
type SingleLayerLiquidityCurve ¶
type SingleLayerLiquidityCurve[T instr.Instrument] struct { // contains filtered or unexported fields }
func NewSingleLayerLiquidityCurve ¶
func NewSingleLayerLiquidityCurve[T instr.Instrument]( staticSpreadModel CumulativeQtySpreadModel, instrument T, exchange exchange.Exchange) *SingleLayerLiquidityCurve[T]
func (*SingleLayerLiquidityCurve[T]) GenerateBids ¶
func (*SingleLayerLiquidityCurve[T]) GenerateOffers ¶
func (*SingleLayerLiquidityCurve[T]) SetBaseInventory ¶
func (lc *SingleLayerLiquidityCurve[T]) SetBaseInventory(baseInventory float64)
func (*SingleLayerLiquidityCurve[T]) SetTermInventory ¶
func (lc *SingleLayerLiquidityCurve[T]) SetTermInventory(termInventory float64)
type SingleLayerSpreadModel ¶
type SingleLayerSpreadModel struct {
// contains filtered or unexported fields
}
func NewSingleLayerSpreadModel ¶
func NewSingleLayerSpreadModel() *SingleLayerSpreadModel
func (*SingleLayerSpreadModel) BidSpreadBps ¶
func (slsm *SingleLayerSpreadModel) BidSpreadBps(totalQty float64) float64
func (*SingleLayerSpreadModel) OfferSpreadBps ¶
func (slsm *SingleLayerSpreadModel) OfferSpreadBps(totalQty float64) float64
func (*SingleLayerSpreadModel) SetSpreadBps ¶
func (slsm *SingleLayerSpreadModel) SetSpreadBps(spreadBps float64)
type StaticSymmetricCurveModel ¶
type StaticSymmetricCurveModel struct {
// contains filtered or unexported fields
}
func NewStaticSymmetricCurveModel ¶
func NewStaticSymmetricCurveModel(modelSpreadBpsFn func(totalQty float64) float64) *StaticSymmetricCurveModel
func (*StaticSymmetricCurveModel) BidSpreadBps ¶
func (scm *StaticSymmetricCurveModel) BidSpreadBps(totalQty float64) float64
func (*StaticSymmetricCurveModel) OfferSpreadBps ¶
func (scm *StaticSymmetricCurveModel) OfferSpreadBps(totalQty float64) float64
type TwoFactorSymmetricCurveModel ¶
type TwoFactorSymmetricCurveModel struct {
// contains filtered or unexported fields
}
func NewTwoFactorSymmetricCurveModel ¶
func NewTwoFactorSymmetricCurveModel() *TwoFactorSymmetricCurveModel
func (*TwoFactorSymmetricCurveModel) BidSpreadBps ¶
func (tfscm *TwoFactorSymmetricCurveModel) BidSpreadBps(totalQty float64) float64
func (*TwoFactorSymmetricCurveModel) OfferSpreadBps ¶
func (tfscm *TwoFactorSymmetricCurveModel) OfferSpreadBps(totalQty float64) float64
func (*TwoFactorSymmetricCurveModel) SetInsideQty ¶
func (tfscm *TwoFactorSymmetricCurveModel) SetInsideQty(insideQty float64)
func (*TwoFactorSymmetricCurveModel) SetInsideSpreadBps ¶
func (tfscm *TwoFactorSymmetricCurveModel) SetInsideSpreadBps(insideSpreadBps float64)
func (*TwoFactorSymmetricCurveModel) SetQtySpreadMultiplierBps ¶
func (tfscm *TwoFactorSymmetricCurveModel) SetQtySpreadMultiplierBps(qtySpreadMultiplierBps float64)
type WithBiasSpreadModel ¶
type WithBiasSpreadModel[M CumulativeQtySpreadModel] struct { UnderlyingModel M // contains filtered or unexported fields }
func NewWithBiasSpreadModel ¶
func NewWithBiasSpreadModel[M CumulativeQtySpreadModel](underlyingModel M) *WithBiasSpreadModel[M]
func (*WithBiasSpreadModel[M]) BidSpreadBps ¶
func (wbsm *WithBiasSpreadModel[M]) BidSpreadBps(totalQty float64) float64
func (*WithBiasSpreadModel[M]) OfferSpreadBps ¶
func (wbsm *WithBiasSpreadModel[M]) OfferSpreadBps(totalQty float64) float64
func (*WithBiasSpreadModel[M]) SetBidBiasBps ¶
func (wbsm *WithBiasSpreadModel[M]) SetBidBiasBps(bidBiasBps float64)
func (*WithBiasSpreadModel[M]) SetOfferBiasBps ¶
func (wbsm *WithBiasSpreadModel[M]) SetOfferBiasBps(offerBiasBps float64)
Click to show internal directories.
Click to hide internal directories.