Documentation ¶
Index ¶
- func DiscreteThreeLevelProbabilities(V []float64, muHat float64, sigmaHat float64) ([]float64, error)
- func GeneratePriceUsingDiscreteThreeLevel(M0, delta, sigma, tgtTimeHorizonYrFrac, N float64) (price float64, err error)
- type Bot
- type CoreService
- type CoreStateService
- type DataNode
- type LODParamsConfig
- type PricingEngine
- type ShapeConfig
- type SteeringMethod
- type Strategy
- type TradingDataService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DiscreteThreeLevelProbabilities ¶ added in v0.37.0
func DiscreteThreeLevelProbabilities(V []float64, muHat float64, sigmaHat float64) ([]float64, error)
DiscreteThreeLevelProbabilities is a method for calculating price levels.
func GeneratePriceUsingDiscreteThreeLevel ¶ added in v0.37.0
func GeneratePriceUsingDiscreteThreeLevel(M0, delta, sigma, tgtTimeHorizonYrFrac, N float64) (price float64, err error)
GeneratePriceUsingDiscreteThreeLevel is a method for calculating price levels input is a float price (so divide uint64 price by 10^{num of decimals}) it returns a float price which you want to multiply by 10^{num of decimals} and then round.
Types ¶
type Bot ¶
type Bot struct {
// contains filtered or unexported fields
}
Bot represents one Normal liquidity bot.
func (*Bot) GetRealisticOrderDetails ¶ added in v0.37.0
GetRealisticOrderDetails uses magic to return a realistic order price and size.
func (*Bot) GetTraderDetails ¶ added in v0.36.0
GetTraderDetails returns information relating to the trader.
type CoreService ¶ added in v0.41.0
type CoreService interface { SubmitTransaction(req *vegaapipb.SubmitTransactionRequest) (response *vegaapipb.SubmitTransactionResponse, err error) // rpc PropagateChainEvent(PropagateChainEventRequest) returns (PropagateChainEventResponse); Statistics(*vegaapipb.StatisticsRequest) (*vegaapipb.StatisticsResponse, error) LastBlockData() (*vegaapipb.LastBlockHeightResponse, error) GetVegaTime() (t time.Time, err error) ObserveEventBus() (client vegaapipb.CoreService_ObserveEventBusClient, err error) }
CoreService implements the gRPC service of the same name.
type CoreStateService ¶ added in v0.41.0
type CoreStateService interface { }
CoreStateService implements the gRPC service of the same name.
type DataNode ¶ added in v0.41.0
type DataNode interface { GetAddress() (url.URL, error) CoreService TradingDataService }
DataNode is a Vega Data node
type LODParamsConfig ¶
type LODParamsConfig struct { Method SteeringMethod GttLength uint64 TgtTimeHorizonHours float64 NumTicksFromMid uint64 NumIdenticalBots int }
LODParamsConfig is a little data structure which sets the algo and params for how limits orders are generated.
type PricingEngine ¶
type PricingEngine interface {
GetPrice(pricecfg ppconfig.PriceConfig) (pi ppservice.PriceResponse, err error)
}
PricingEngine is the source of price information from the price proxy.
type ShapeConfig ¶
type ShapeConfig struct { Sells []*vega.LiquidityOrder Buys []*vega.LiquidityOrder }
ShapeConfig is the top level definition of a liquidity shape.
type SteeringMethod ¶ added in v0.37.0
type SteeringMethod int
SteeringMethod is an enum for all the possible price calculations methods for price steering.
const ( // NotSet for when we cannot parse the input string. NotSet SteeringMethod = iota // DiscreteThreeLevel uses the discrete three level method. DiscreteThreeLevel // CoinAndBinomial uses the coin and binomial method. CoinAndBinomial )
type Strategy ¶
type Strategy struct { // ExpectedMarkPrice (optional) specifies the expected mark price for a market that may not yet // have a mark price. It is used to calculate margin cost of orders meeting liquidity // requirement. ExpectedMarkPrice config.Uint // AuctionVolume ... AuctionVolume config.Uint // CommitmentFraction is the fractional amount of stake for the LP CommitmentFraction float64 // Fee is the 0->1 fee for supplying liquidity Fee float64 // MaxLong specifies the maximum long position that the bot will tolerate. MaxLong config.Uint // MaxShort specifies the maximum short position that the bot will tolerate. MaxShort config.Uint // PosManagementFraction controls the size of market orders used to manage the bot's position. PosManagementFraction float64 // StakeFraction (along with OrdersFraction) is used in rule-of-thumb heuristics to decide how // the bot should deploy collateral. StakeFraction float64 // OrdersFraction (along with StakeFraction) is used in rule-of-thumb heuristics to decide how // the bot should deploy collateral. OrdersFraction float64 // ShorteningShape (which includes both sides of the book) specifies the shape used when the bot // is trying to shorten its position. ShorteningShape *ShapeConfig // LongeningShape (which includes both sides of the book) specifies the shape used when the bot // is trying to lengthen its position. Note that the initial shape used by the bot is always the // longening shape, because being long is a little cheaper in position margin than being short. LongeningShape *ShapeConfig // PosManagementSleepMilliseconds is the sleep time, in milliseconds, between position management PosManagementSleepMilliseconds uint64 // MarketPriceSteeringRatePerSecond ... MarketPriceSteeringRatePerSecond float64 // MinPriceSteerFraction is the minimum difference between external and current price that will // allow a price steering order to be placed. MinPriceSteerFraction float64 // PriceSteerOrderScale is the scaling factor used when placing a steering order PriceSteerOrderScale float64 // LimitOrderDistributionParams ... LimitOrderDistributionParams *LODParamsConfig // TargetLNVol specifies the target log-normal volatility (e.g. 0.5 for 50%). TargetLNVol float64 }
Strategy configures the normal strategy.
type TradingDataService ¶ added in v0.41.0
type TradingDataService interface { ListAccounts(*dataapipbv2.ListAccountsRequest) (*dataapipbv2.ListAccountsResponse, error) GetLatestMarketData(*dataapipbv2.GetLatestMarketDataRequest) (*dataapipbv2.GetLatestMarketDataResponse, error) ListMarkets(*dataapipbv2.ListMarketsRequest) (*dataapipbv2.ListMarketsResponse, error) ListPositions(*dataapipbv2.ListPositionsRequest) (*dataapipbv2.ListPositionsResponse, error) ObservePositions(*dataapipbv2.ObservePositionsRequest) (dataapipbv2.TradingDataService_ObservePositionsClient, error) ListAssets(*dataapipbv2.ListAssetsRequest) (*dataapipbv2.ListAssetsResponse, error) }
TradingDataService implements the gRPC service of the same name.