moexalgo

package
v0.0.0-...-cca584c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 7, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultAPIURL    = "https://iss.moex.com/iss/"
	DefaultAuthURL   = "https://passport.moex.com/authenticate"
	DefaultPageLimit = 1000
)

Variables

View Source
var Debug = false

Debug enables logging

Functions

func Get

func Get[T any, PT interface {
	FillerFrom
	*T // T must be such that *T is a FillerFrom
}](ctx context.Context, s *Session, url string, fn func(*T)) error

func GetAll

func GetAll[T any, PT interface {
	FillerFrom
	*T // T must be such that *T is a FillerFrom
}](ctx context.Context, s *Session, url string, fn func(*T)) error

Types

type APIResponseData

type APIResponseData struct {
	Columns []string `json:"columns"`
	Data    [][]any  `json:"data"`
}

type FillerFrom

type FillerFrom interface {
	FillFrom(columns []string, data []any) error
}

type ObStat

type ObStat struct {
	Time            time.Time `json:"time" csv:"time"`
	SecID           string    `json:"secid" csv:"secid"`
	SpreadBbo       float64   `json:"spread_bbo" csv:"spread_bbo"`
	SpreadLv10      float64   `json:"spread_lv10" csv:"spread_lv10"`
	Spread1mio      float64   `json:"spread_1mio" csv:"spread_1mio"`
	LevelsB         int32     `json:"levels_b" csv:"levels_b"`
	LevelsS         int32     `json:"levels_s" csv:"levels_s"`
	VolB            int64     `json:"vol_b" csv:"vol_b"`
	VolS            int64     `json:"vol_s" csv:"vol_s"`
	ValB            int64     `json:"val_b" csv:"val_b"`
	ValS            int64     `json:"val_s" csv:"val_s"`
	ImbalanceVolBbo float64   `json:"imbalance_vol_bbo" csv:"imbalance_vol_bbo"`
	ImbalanceValBbo float64   `json:"imbalance_val_bbo" csv:"imbalance_val_bbo"`
	ImbalanceVol    float64   `json:"imbalance_vol" csv:"imbalance_vol"`
	ImbalanceVal    float64   `json:"imbalance_val" csv:"imbalance_val"`
	VwapB           float64   `json:"vwap_b" csv:"vwap_b"`
	VwapS           float64   `json:"vwap_s" csv:"vwap_s"`
	VwapB1mio       float64   `json:"vwap_b_1mio" csv:"vwap_b_1mio"`
	VwapS1mio       float64   `json:"vwap_s_1mio" csv:"vwap_s_1mio"`
}

func (*ObStat) FillFrom

func (o *ObStat) FillFrom(columns []string, data []any) error

func (*ObStat) IsEmpty

func (o *ObStat) IsEmpty() bool

type OrderStat

type OrderStat struct {
	Time          time.Time `json:"time" csv:"time"`
	SecID         string    `json:"secid" csv:"secid"`
	PutOrdersB    int32     `json:"put_orders_b" csv:"put_orders_b"`
	PutOrdersS    int32     `json:"put_orders_s" csv:"put_orders_s"`
	PutValB       float64   `json:"put_val_b" csv:"put_val_b"`
	PutValS       float64   `json:"put_val_s" csv:"put_val_s"`
	PutVolB       int32     `json:"put_vol_b" csv:"put_vol_b"`
	PutVolS       int32     `json:"put_vol_s" csv:"put_vol_s"`
	PutVwapB      float64   `json:"put_vwap_b" csv:"put_vwap_b"`
	PutVwapS      float64   `json:"put_vwap_s" csv:"put_vwap_s"`
	PutVol        int32     `json:"put_vol" csv:"put_vol"`
	PutVal        float64   `json:"put_val" csv:"put_val"`
	PutOrders     int32     `json:"put_orders" csv:"put_orders"`
	CancelOrdersB int32     `json:"cancel_orders_b" csv:"cancel_orders_b"`
	CancelOrdersS int32     `json:"cancel_orders_s" csv:"cancel_orders_s"`
	CancelValB    float64   `json:"cancel_val_b" csv:"cancel_val_b"`
	CancelValS    float64   `json:"cancel_val_s" csv:"cancel_val_s"`
	CancelVolB    int32     `json:"cancel_vol_b" csv:"cancel_vol_b"`
	CancelVolS    int64     `json:"cancel_vol_s" csv:"cancel_vol_s"`
	CancelVwapB   float64   `json:"cancel_vwap_b" csv:"cancel_vwap_b"`
	CancelVwapS   float64   `json:"cancel_vwap_s" csv:"cancel_vwap_s"`
	CancelVol     int64     `json:"cancel_vol" csv:"cancel_vol"`
	CancelVal     float64   `json:"cancel_val" csv:"cancel_val"`
	CancelOrders  int64     `json:"cancel_orders" csv:"cancel_orders"`
}

func (*OrderStat) FillFrom

func (o *OrderStat) FillFrom(columns []string, data []any) error

func (*OrderStat) IsEmpty

func (o *OrderStat) IsEmpty() bool

type Params

type Params struct {
	Username string
	Password string
	Timeout  time.Duration
}

type Session

type Session struct {
	// contains filtered or unexported fields
}

func NewSession

func NewSession(params Params) (*Session, error)

func (*Session) Auth

func (s *Session) Auth(username, password string) error

type TradeStat

type TradeStat struct {
	Time       time.Time `json:"time" csv:"time"`
	SecID      string    `json:"secid" csv:"secid"`
	PrOpen     float64   `json:"pr_open" csv:"pr_open"`
	PrHigh     float64   `json:"pr_high" csv:"pr_high"`
	PrLow      float64   `json:"pr_low" csv:"pr_low"`
	PrClose    float64   `json:"pr_close" csv:"pr_close"`
	PrStd      float64   `json:"pr_std" csv:"pr_std"`
	Vol        int32     `json:"vol" csv:"vol"`
	Val        float64   `json:"val" csv:"val"`
	Trades     int32     `json:"trades" csv:"trades"`
	PrVwap     float64   `json:"pr_vwap" csv:"pr_vwap"`
	PrChange   float64   `json:"pr_change" csv:"pr_change"`
	TradesB    int32     `json:"trades_b" csv:"trades_b"`
	TradesS    int32     `json:"trades_s" csv:"trades_s"`
	ValB       float64   `json:"val_b" csv:"val_b"`
	ValS       float64   `json:"val_s" csv:"val_s"`
	VolB       int64     `json:"vol_b" csv:"vol_b"`
	VolS       int64     `json:"vol_s" csv:"vol_s"`
	Disb       float64   `json:"disb" csv:"disb"`
	PrVwapB    float64   `json:"pr_vwap_b" csv:"pr_vwap_b"`
	PrVwapS    float64   `json:"pr_vwap_s" csv:"pr_vwap_s"`
	SecPrOpen  int32     `json:"sec_pr_open" csv:"sec_pr_open"`
	SecPrHigh  int32     `json:"sec_pr_high" csv:"sec_pr_high"`
	SecPrLow   int32     `json:"sec_pr_low" csv:"sec_pr_low"`
	SecPrClose int32     `json:"sec_pr_close" csv:"sec_pr_close"`
}

func (*TradeStat) FillFrom

func (t *TradeStat) FillFrom(columns []string, data []any) error

func (*TradeStat) IsEmpty

func (t *TradeStat) IsEmpty() bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL