Documentation ¶
Index ¶
- type Handler
- type Portfolio
- func (p *Portfolio) GetComplianceManager(exchangeName string, a asset.Item, cp currency.Pair) (*compliance.Manager, error)
- func (p *Portfolio) GetFee(exchangeName string, a asset.Item, cp currency.Pair) float64
- func (p *Portfolio) GetInitialFunds(exch string, a asset.Item, cp currency.Pair) float64
- func (p *Portfolio) GetLatestHoldingsForAllCurrencies() []holdings.Holding
- func (p *Portfolio) IsInvested(exchangeName string, a asset.Item, cp currency.Pair) (holdings.Holding, bool)
- func (p *Portfolio) OnFill(fillEvent fill.Event) (*fill.Fill, error)
- func (p *Portfolio) OnSignal(signal signal.Event, cs *exchange.Settings) (*order.Order, error)
- func (p *Portfolio) Reset()
- func (p *Portfolio) SetFee(exch string, a asset.Item, cp currency.Pair, fee float64)
- func (p *Portfolio) SetInitialFunds(exch string, a asset.Item, cp currency.Pair, funds float64) error
- func (p *Portfolio) SetupCurrencySettingsMap(exch string, a asset.Item, cp currency.Pair) (*settings.Settings, error)
- func (p *Portfolio) Update(d common.DataEventHandler) error
- func (p *Portfolio) ViewHoldingAtTimePeriod(exch string, a asset.Item, cp currency.Pair, t time.Time) (holdings.Holding, error)
- type SizeHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Handler ¶
type Handler interface { OnSignal(signal.Event, *exchange.Settings) (*order.Order, error) OnFill(fill.Event) (*fill.Fill, error) Update(common.DataEventHandler) error SetInitialFunds(string, asset.Item, currency.Pair, float64) error GetInitialFunds(string, asset.Item, currency.Pair) float64 GetComplianceManager(string, asset.Item, currency.Pair) (*compliance.Manager, error) ViewHoldingAtTimePeriod(string, asset.Item, currency.Pair, time.Time) (holdings.Holding, error) SetFee(string, asset.Item, currency.Pair, float64) GetFee(string, asset.Item, currency.Pair) float64 Reset() // contains filtered or unexported methods }
Handler contains all functions expected to operate a portfolio manager
type Portfolio ¶
type Portfolio struct {
// contains filtered or unexported fields
}
Portfolio stores all holdings and rules to assess orders, allowing the portfolio manager to modify, accept or reject strategy signals
func (*Portfolio) GetComplianceManager ¶
func (p *Portfolio) GetComplianceManager(exchangeName string, a asset.Item, cp currency.Pair) (*compliance.Manager, error)
GetComplianceManager returns the order snapshots for a given exchange, asset, pair
func (*Portfolio) GetFee ¶
GetFee can panic for bad requests, but why are you getting things that don't exist?
func (*Portfolio) GetInitialFunds ¶
GetInitialFunds returns the initial funds
func (*Portfolio) GetLatestHoldingsForAllCurrencies ¶
GetLatestHoldingsForAllCurrencies will return the current holdings for all loaded currencies this is useful to assess the position of your entire portfolio in order to help with risk decisions
func (*Portfolio) IsInvested ¶
func (p *Portfolio) IsInvested(exchangeName string, a asset.Item, cp currency.Pair) (holdings.Holding, bool)
IsInvested determines if there are any holdings for a given exchange, asset, pair
func (*Portfolio) OnFill ¶
OnFill processes the event after an order has been placed by the exchange. Its purpose is to track holdings for future portfolio decisions.
func (*Portfolio) OnSignal ¶
OnSignal receives the event from the strategy on whether it has signalled to buy, do nothing or sell on buy/sell, the portfolio manager will size the order and assess the risk of the order if successful, it will pass on an order.Order to be used by the exchange event handler to place an order based on the portfolio manager's recommendations
func (*Portfolio) Reset ¶
func (p *Portfolio) Reset()
Reset returns the portfolio manager to its default state
func (*Portfolio) SetInitialFunds ¶
func (p *Portfolio) SetInitialFunds(exch string, a asset.Item, cp currency.Pair, funds float64) error
SetInitialFunds sets the initial funds
func (*Portfolio) SetupCurrencySettingsMap ¶
func (p *Portfolio) SetupCurrencySettingsMap(exch string, a asset.Item, cp currency.Pair) (*settings.Settings, error)
SetupCurrencySettingsMap ensures a map is created and no panics happen