Documentation
¶
Overview ¶
весь список доступных инструментов https://iss.moex.com/iss/securities.json?&securities.columns=secid,shortname,name,type,group,primary_boardid
поиск инструмента https://iss.moex.com/iss/securities.json?q=sbrf-3.25&iss.json=extended&securities.columns=secid,shortname,name,type,group,primary_boardid
-------------------------------------------------------- данные по акции https://iss.moex.com/iss/securities/SBER.json?iss.json=extended
["SECID", "Код ценной бумаги", "SBER"], ["NAME", "Полное наименование", "Сбербанк России ПАО ао"], ["SHORTNAME", "Краткое наименование", "Сбербанк"], ["ISIN", "ISIN код", "RU0009029540"], ["REGNUMBER", "Номер государственной регистрации", "10301481B"], ["ISSUESIZE", "Объем выпуска", "21586948000"], ["FACEVALUE", "Номинальная стоимость", "3"], ["FACEUNIT", "Валюта номинала", "SUR"], ["ISSUEDATE", "Дата начала торгов", "2007-07-20"], ["LATNAME", "Английское наименование", "Sberbank"], ["LISTLEVEL", "Уровень листинга", "1"], ["ISQUALIFIEDINVESTORS", "Бумаги для квалифицированных инвесторов", "0"], ["MORNINGSESSION", "Допуск к утренней дополнительной торговой сессии", "1"], ["EVENINGSESSION", "Допуск к вечерней дополнительной торговой сессии", "1"], ["TYPENAME", "Вид\/категория ценной бумаги", "Акция обыкновенная"], ["GROUP", "Код типа инструмента", "stock_shares"], ["TYPE", "Тип бумаги", "common_share"], ["GROUPNAME", "Типа инструмента", "Акции"], ["EMITTER_ID", "Код эмитента", "484"]
------------------------------------------------------- данные по фьючу https://iss.moex.com/iss/securities/SRH5.json?iss.json=extended выбор по названию а не по коду https://iss.moex.com/iss/securities/Si-3.25.json?iss.json=extended&shortname=1
["SECID", "Краткий код", "SRH5"], ["NAME", "Наименование серии инструмента", "Фьючерсный контракт SBRF-3.25"], ["SHORTNAME", "Краткое наименование контракта", "SBRF-3.25"], ["DELIVERYTYPE", "Исполнение", "Поставка ценных бумаг путем заключения сделки в Секции фондового рынка в порядке, предусмотренном Правилами проведения торгов на фондовом рынке ПАО Московская Биржа (до 19.12.2016 – ЗАО «ФБ ММВБ»), по цене, равной результату деления РЦ Контракта, определенной по итогам вечернего Расчетного периода последнего дня заключения Контракта, на лот Контракта."], ["FRSTTRADE", "Начало обращения", "2024-03-06"], ["LSTTRADE", "Последний день обращения", "2025-03-20"], ["LSTDELDATE", "Дата исполнения", "2025-03-21"], ["ASSETCODE", "Код базового актива", "SBRF"], ["EXECTYPE", "Тип контракта", "Поставочный"], ["LOTSIZE", "Лот", "100"], ["CONTRACTNAME", "Наименование контракта", "Фьючерсный контракт на обыкновенные акции ПАО Сбербанк"], ["GROUPTYPE", "Группа контрактов", "Акции"], ["UNIT", "Котировка", "в рублях за лот"], ["EXPIRATIONCLRSESS", "Клиринг исполнения", "Основной"], ["TYPENAME", "Вид контракта", "Фьючерс"], ["GROUP", "Код типа инструмента", "futures_forts"], ["TYPE", "Тип бумаги", "futures"], ["GROUPNAME", "Типа инструмента", "Фьючерсы"], ["EMITTER_ID", "Код эмитента", "484"]
------------------------------------------------------------- данные по опциону https://iss.moex.com/iss/securities/SR29000BA5D.json?iss.json=extended https://iss.moex.com/iss/securities/SR29000BA5D.json?iss.meta=off&iss.only=description&description.columns=name,title,value
["SECID", "Краткий код", "SR29000BA5D"], ["NAME", "Наименование серии инструмента", "Нед. марж. амер. Call 29000 с исп. 22 янв. на фьюч. контр. SBRF-3.25"], ["SHORTNAME", "Краткое наименование контракта", "SBRF-3.25M220125CA29000"], ["LSTTRADE", "Последний день обращения", "2025-01-22"], ["SETTLETYPE", "Тип опциона", "Поставочный"], ["LSTDELDATE", "Дата исполнения", "2025-01-22"], ["ASSETCODE", "Код базового актива", "SBRF"], ["FRSTTRADE", "Начало обращения", "2024-12-27"], ["OPTIONTYPE", "Вид опциона пут или колл", "C"], ["STRIKE", "Цена Страйк", "29000"], ["DELIVERYTYPE", "Исполнение", "Исполнение в течение срока действия опциона по заявлению держателя. Автоматическое исполнение опциона в деньгах в последний день срока действия опциона. Подробнее об <a href=\"http:\/\/fs.moex.com\/files\/14812\">автоэкспирации опционов<\/a> (раздел 1). <br> Для того, чтобы определить, находится ли опцион в деньгах, цена базового актива принимается равной расчетной цене контракта. Расчетная цена определяется в соответствии со Спецификацией и приложением 1 к Правилам торгов. <br> При исполнении опциона заключается фьючерс, являющийся базовым активом опциона, по цене, равной цене исполнения опциона. Держатель опциона становится покупателем фьючерса, подписчик опциона становится продавцом фьючерса."], ["EXECTYPE", "Способ исполнения опциона", "Американский"], ["MARGINSTYLE", "Способ маржирования опциона", "Маржируемый"], ["LOTSIZE", "Лот", "1"], ["CONTRACTNAME", "Наименование контракта", "Маржируемый опцион колл на фьючерсный контракт на обыкновенные акции ПАО Сбербанк"], ["GROUPTYPE", "Группа контрактов", "Акции"], ["UNIT", "Котировка", "в рублях за лот"], ["UNDERLYINGASSET", "Базовый актив", "SRH5"], ["EXPIRATIONCLRSESS", "Клиринг исполнения", "Основной"], ["SERIES_NAME", "Опционная серия", "SBRF-3.25M220125XA"], ["TYPENAME", "Вид контракта", "Опцион"], ["GROUP", "Код типа инструмента", "futures_options"], ["TYPE", "Тип бумаги", "option"], ["GROUPNAME", "Типа инструмента", "Опционы"]
------------------------------------------------------------- данные по облигации https://iss.moex.com/iss/securities/RU000A1090K0.json?iss.json=extended
["SECID", "Код ценной бумаги", "RU000A1090K0"], ["NAME", "Полное наименование", "Магнит ПАО БО-004Р-06"], ["SHORTNAME", "Краткое наименование", "Магнит4P06"], ["REGNUMBER", "Номер государственной регистрации", "4B02-06-60525-P-004P"], ["ISIN", "ISIN код", "RU000A1090K0"], ["ISSUEDATE", "Дата начала торгов", "2024-07-22"], ["MATDATE", "Дата погашения", "2026-07-12"], ["BUYBACKDATE", "Дата к которой рассчитывается доходность", "2025-03-19"], ["INITIALFACEVALUE", "Первоначальная номинальная стоимость", "1000"], ["FACEUNIT", "Валюта номинала", "SUR"], ["LATNAME", "Английское наименование", "Magnit BO-004P-06"], ["STARTDATEMOEX", "Дата начала торгов на Московской Бирже", "2024-07-22"], ["PROGRAMREGISTRYNUMBER", "Государственный регистрационный номер программы облигации", "4-60525-P-004P-02E"], ["LISTLEVEL", "Уровень листинга", "2"], ["DAYSTOREDEMPTION", "Дней до погашения", "503"], ["ISSUESIZE", "Объем выпуска", "25000000"], ["FACEVALUE", "Номинальная стоимость", "1000"], ["ISQUALIFIEDINVESTORS", "Бумаги для квалифицированных инвесторов", "0"], ["COUPONFREQUENCY", "Периодичность выплаты купона в год", "12"], ["COUPONDATE", "Дата выплаты купона", "2025-03-19"], ["COUPONPERCENT", "Ставка купона, %", "22"], ["COUPONVALUE", "Сумма купона, в валюте номинала", "18.08"], ["TYPENAME", "Вид\/категория ценной бумаги", "Биржевая облигация"], ["GROUP", "Код типа инструмента", "stock_bonds"], ["TYPE", "Тип бумаги", "exchange_bond"], ["GROUPNAME", "Типа инструмента", "Облигации"], ["EMITTER_ID", "Код эмитента", "886"]
создать общий тип инструмента
функционал по аналогии с https://github.com/moexalgo/moexalgo
Methods info : Возвращает информацию об инструменте. marketdata : Возвращает рыночную информацию и статистику об инструменте. candles : Возвращает итератор свечей инструмента по заданным параметрам. orderbook : Возвращает текущий стакан лучших цен.
# выбираем акции Сбера sber = Ticker('SBER') # получим дневные свечи с 2020 года sber.candles(start='2020-01-01', end='2023-11-01').head()
engines/stock
Index ¶
- Constants
- Variables
- func IntervalToString(i int) string
- func ParseInterval(input string) (int, error)
- func SetLogLevel(level slog.Level)
- func Unmarshal(header []string, data [][]interface{}, destination interface{}) error
- func UnmarshalCSV(header []string, content [][]string, destination interface{}, tagKey string) error
- type BondData
- type BondHistory
- type BondHistoryService
- type BondInfo
- type Candle
- type Candles
- type CandlesService
- type Client
- func (c *Client) Connect() error
- func (c *Client) GetBondHistory(symbols string, from, to string) ([]BondHistory, error)
- func (c *Client) GetBondsData(board string, symbols string, boardGroup ...int) ([]BondData, error)
- func (c *Client) GetBondsHistoryDate(date string) ([]BondHistory, error)
- func (c *Client) GetBondsInfo(board string, boardGroup ...int) ([]BondInfo, error)
- func (c *Client) GetFortsCandles(symbols string, interval int, from, to string) (Candles, error)
- func (c *Client) GetFortsData(symbols string) ([]FortsData, error)
- func (c *Client) GetFortsInfo(symbols string) ([]FortsInfo, error)
- func (c *Client) GetFortsTradeStats(symbol string, from, to string, latest bool) ([]TradeStats, error)
- func (c *Client) GetFortsTradeStatsAll(date string, latest bool) ([]TradeStats, error)
- func (c *Client) GetFutOI(ticker string, from, to string, latest int) ([]FutOI, error)
- func (c *Client) GetFutOIAll(date string, latest int) ([]FutOI, error)
- func (c *Client) GetFxTradeStats(symbol string, from, to string, latest bool) ([]TradeStats, error)
- func (c *Client) GetFxTradeStatsAll(date string, latest bool) ([]TradeStats, error)
- func (c *Client) GetOptionData(symbols string) ([]OptionData, error)
- func (c *Client) GetOptionHistory(symbols string, from, to string) ([]OptionHistory, error)
- func (c *Client) GetOptionHistoryAllDate(date string) ([]OptionHistory, error)
- func (c *Client) GetOptionInfo(symbols string) ([]OptionInfo, error)
- func (c *Client) GetStockCandles(symbols string, interval int, from, to string) (Candles, error)
- func (c *Client) GetStockData(symbols string) ([]StockData, error)
- func (c *Client) GetStockInfo(symbols string) ([]StockInfo, error)
- func (c *Client) GetStockTradeStats(symbol string, from, to string, latest bool) ([]TradeStats, error)
- func (c *Client) GetStockTradeStatsAll(date string, latest bool) ([]TradeStats, error)
- func (c *Client) GetTicker(symbol string) (*Ticker, error)
- func (c *Client) GetTickersAll() ([]Ticker, error)
- func (c *Client) NewBondHistoryService(symbol string, from, to string, date string) *BondHistoryService
- func (c *Client) NewCandlesService(engines, markets, board, symbol string, interval int, from, to string) *CandlesService
- func (c *Client) NewOptionHistoryService(symbol string, from, to string, date string) *OptionHistoryService
- func (c *Client) NewOrderBookService(engines, markets, board, symbol string) *OrderBookService
- func (c *Client) NewTradeStatsService(markets, symbol string, from, to string, date string, latest bool) *TradeStatsService
- type ClientOption
- type FortsData
- type FortsInfo
- type FutOI
- type HTTPClient
- type IssRequest
- func (u *IssRequest) AlgoPack(param string) *IssRequest
- func (u *IssRequest) AlgoPackForts(param bool) *IssRequest
- func (u *IssRequest) AlgoPackFx(param bool) *IssRequest
- func (u *IssRequest) AlgoPackMarkets(param string) *IssRequest
- func (u *IssRequest) AlgoPackStock(param bool) *IssRequest
- func (u *IssRequest) BoardGroups(param int) *IssRequest
- func (u *IssRequest) Boards(param string) *IssRequest
- func (u *IssRequest) Bonds() *IssRequest
- func (u *IssRequest) Candle() *IssRequest
- func (u *IssRequest) Date(param string) *IssRequest
- func (u *IssRequest) Engines(param string) *IssRequest
- func (u *IssRequest) Forts() *IssRequest
- func (u *IssRequest) From(param string) *IssRequest
- func (u *IssRequest) History() *IssRequest
- func (u *IssRequest) Interval(param int) *IssRequest
- func (u *IssRequest) Json() *IssRequest
- func (u *IssRequest) JsonFull() *IssRequest
- func (u *IssRequest) Latest(param bool) *IssRequest
- func (u *IssRequest) MarketData() *IssRequest
- func (u *IssRequest) Markets(param string) *IssRequest
- func (u *IssRequest) MetaData(param bool) *IssRequest
- func (u *IssRequest) Only(param string) *IssRequest
- func (u *IssRequest) OnlyMarketData() *IssRequest
- func (u *IssRequest) OnlySecurities() *IssRequest
- func (u *IssRequest) Options() *IssRequest
- func (u *IssRequest) Start(param int) *IssRequest
- func (u *IssRequest) Stock() *IssRequest
- func (u *IssRequest) Symbol(param string) *IssRequest
- func (u *IssRequest) Symbols(param string) *IssRequest
- func (u *IssRequest) Target(param string) *IssRequest
- func (u *IssRequest) To(param string) *IssRequest
- func (u *IssRequest) URL() string
- func (u *IssRequest) WithSecurities(param bool) *IssRequest
- type OptionData
- type OptionHistory
- type OptionHistoryService
- type OptionInfo
- type OrderBook
- type OrderBookData
- type OrderBookService
- type PriceVolume
- type PriceVolumeSlice
- type RequestOption
- type Response
- type StockData
- type StockInfo
- type Ticker
- type TickerData
- type TickerInfo
- type TradeStats
- type TradeStatsService
Constants ¶
const ( Interval_M1 = 1 Interval_M10 = 10 Interval_H1 = 60 Interval_D1 = 24 Interval_W1 = 7 Interval_MN1 = 31 Interval_Q1 = 4 )
Доступные интервалы свечей.
const ( DefaultApiURL = "https://iss.moex.com/iss/" DefaultAuthURL = "https://passport.moex.com/authenticate" DefaultAlgoPack = "/datashop/algopack" )
const ( FortsBoard = "RFUD" // фьючерсы StockBoard = "TQBR" // акция OptionsBoard = "ROPD" // опционы AlgoPackStock = "eq" // акции AlgoPackForts = "fo" // фьючерсы AlgoPackFx = "fx" // валюта )
const DefaultTagKey string = "json"
Variables ¶
var ( // EOF обозначает конец выгрузки EOF = errors.New("end of data") )
var ErrTickerNotFound = errors.New("Ticker not found")
var ErrTickerSymbol = errors.New("код тикера должен быть больше 3-х символов")
var TzMsk = initMoscow()
Functions ¶
func IntervalToString ¶
IntervalToString конвертация Interval свечей в строку
Types ¶
type BondData ¶
type BondData struct {
SecID string `json:"SECID"` // Код инструмента
BoardID string `json:"BOARDID"` // Код режима
Bid float64 `json:"BID"` // Лучшая котировка на покупку
BidDepth string `json:"BIDDEPTH"` // Лотов на покупку по лучшей = null
Offer float64 `json:"OFFER"` // Лучшая котировка на продажу
OfferDepth string `json:"OFFERDEPTH"` // Лотов на продажу по лучшей = null
Spread float64 `json:"SPREAD"` // Разница между лучшей котировкой на продажу и покупку (спред), руб
BidDeptht int `json:"BIDDEPTHT"` // объем всех заявок на покупку в очереди Торговой Системы, выраженный в лотах
OfferDeptht int `json:"OFFERDEPTHT"` // Объем всех заявок на продажу в очереди Торговой Системы, выраженный в лотах
Open float64 `json:"OPEN"` // Цена первой сделки
Low float64 `json:"LOW"` // Минимальная цена сделки
High float64 `json:"HIGH"` // Максимальная цена сделки
Last float64 `json:"LAST"` // Цена последней сделки
LastChange float64 `json:"LASTCHANGE"` // Изменение цены последней сделки к цене предыдущей сделки, рублей
LastChangePrcnt float64 `json:"LASTCHANGEPRCNT"` // Изменение цены последней сделки к цене предыдущей сделки, %
QTY int `json:"QTY"` // Объем последней сделки, в лотах
Value float64 `json:"VALUE"` // Объем последней сделки, в руб
Value_USD float64 `json:"VALUE_USD"` // Объем последней сделки, дол. США
WapRrice float64 `json:"WAPRICE"` // Средневзвешенная цен
NumTrades int `json:"NUMTRADES"` // Количество сделок за торговый день
VolToDay int64 `json:"VOLTODAY"` // Объем совершенных сделок, выраженный в единицах ценных бумаг
ValToDay int64 `json:"VALTODAY"` // Объем совершенных сделок, в валюте расчетов
CBRCLOSE float64 `json:"CBRCLOSE"` // Вмененная ключевая ставка Банка России (CBR)"
Time string `json:"TIME"` // Время заключения последней сделки
SeqNum int64 `json:"SEQNUM"` // номер обновления (служебное поле)
SysTime string `json:"SYSTIME"` // Время загрузки данных системой
}
type BondHistory ¶
type BondHistory struct {
SecID string `json:"SECID"` // Код инструмента
BoardID string `json:"BOARDID"` // Код режима
ShortName string `json:"SHORTNAME"` // Кратк. наим.
TRADEDATE string `json:"TRADEDATE"` //
NumTrades int `json:"NUMTRADES"` // Количество сделок за торговый день
Value float64 `json:"VALUE"` // Объем п в руб
Open float64 `json:"OPEN"` // Цена первой сделки
Low float64 `json:"LOW"` // Минимальная цена сделки
High float64 `json:"HIGH"` // Максимальная цена сделки
Close float64 `json:"CLOSE"` // Цена последней сделки
MatDate string `json:"MATDATE"` // Дата погашения
COUPONPERCENT float64 `json:"COUPONPERCENT"` // "Ставка купона, %
COUPONVALUE float64 `json:"COUPONVALUE"` // Сумма купона, в валюте номинала
FACEVALUE float64 `json:"FACEVALUE"` //
DURATION int `json:"DURATION"` // Дюрация, дней
YIELDCLOSE float64 `json:"YIELDCLOSE"` // Доходность по последней сделке
LASTTRADEDATE string `json:"LASTTRADEDATE"` // Дата последней сделки
}
type BondHistoryService ¶
type BondHistoryService struct {
// contains filtered or unexported fields
}
BondHistoryService сервис для получения исторических данных
func (*BondHistoryService) Do ¶
func (s *BondHistoryService) Do() ([]BondHistory, error)
Do выполняет выгрузку History
func (*BondHistoryService) Next ¶
func (s *BondHistoryService) Next() ([]BondHistory, error)
type BondInfo ¶
type BondInfo struct {
SecID string `json:"SECID"` // Код инструмента
BoardID string `json:"BOARDID"` // Код режима
ShortName string `json:"SHORTNAME"` // Кратк. наим.
SecName string `json:"SECNAME"` // Наименование финансового инструмента
PrevWaPrice float64 `json:"PREVWAPPRICE"` // Средневзвешенная цена предыдущего дня, % к номиналу
YielDatPrevWaPrice float64 `json:"YIELDATPREVWAPRICE"` // Доходность по оценке пред. дня
CouponValue float64 `json:"COUPONVALUE"` // Сумма купона, в валюте номинала
NextCoupon string `json:"NEXTCOUPON"` // Дата окончания купона
MatDate string `json:"MATDATE"` // Дата погашения
Accruedint float64 `json:"ACCRUEDINT"` // НКД на дату расчетов, в валюте расчетов
PrevPrice float64 `json:"PREVPRICE"` // Цена последней сделки пред. дня, % к номиналу
LotSize float64 `json:"LOTSIZE"` // Размер лота
FaceValue float64 `json:"FACEVALUE"` // Непогашенный долг
Status string `json:"STATUS"` // Статус
Decimals int `json:"DECIMALS"` // Точность, знаков после запятой
CouponPeriod int `json:"COUPONPERIOD"` // Длительность купона
IssueSize int64 `json:"ISSUESIZE"` // Объем выпуска, штук
PrevLegalClosePrice float64 `json:"PREVLEGALCLOSEPRICE"` // Официальная цена закрытия предыдущего дня
PrevDate string `json:"PREVDATE"` // Дата предыдущего торгового дня
Remarks string `json:"REMARKS"` // Примечание
MarketCode string `json:"MARKETCODE"` // Рынок
InstrID string `json:"INSTRID"` // Группа инструментов
MinStep float64 `json:"MINSTEP"` // Мин. шаг цены
FaceUnit string `json:"FACEUNIT"` // Валюта номинала
BuyBackPrice float64 `json:"BUYBACKPRICE"` // Цена оферты
BuyBackDate string `json:"BUYBACKDATE"` // Дата, к которой рассчитывается доходность (если данное поле не заполнено, то \"Доходность посл.сделки\" рассчитывается к Дате погашения
ISIN string `json:"ISIN"` // ISIN
LatName string `json:"LATNAME"` // Англ. наименование
RegNumber string `json:"REGNUMBER"` // Регистрационный номер
CurrencyID string `json:"CURRENCYID"` // Сопр. валюта инструмента
IssueSizePlaced float64 `json:"ISSUESIZEPLACED"` // Количество ценных бумаг в обращении
LisTLevel int `json:"LISTLEVEL"` // Уровень листинга
SecType string `json:"SECTYPE"` // Тип ценной бумаги
CouponPercent float64 `json:"COUPONPERCENT"` // Ставка купона, %"
OfferDate string `json:"OFFERDATE"` // Дата Оферты
SettleDate string `json:"SETTLEDATE"` // Дата расчетов сделки
LotValue float64 `json:"LOTVALUE"` // Номинальная стоимость лота, в валюте номинала
FaceValueOnSettleDate float64 `json:"FACEVALUEONSETTLEDATE"` // Номинальная стоимость на дату расчетов (значение, известное на дату заключения сделки)
}
BondInfo https://iss.moex.com/iss/engines/stock/markets/bonds/columns.json?iss.only=securities
type Candle ¶
type Candle struct {
Open float64 `json:"open"`
Close float64 `json:"close"`
High float64 `json:"high"`
Low float64 `json:"low"`
Value float64 `json:"value"`
Volume float64 `json:"volume"`
Begin string `json:"begin"`
End string `json:"end"`
}
Candle структура свечи
type Candles ¶
Candles слайс свечей
type CandlesService ¶
type CandlesService struct {
// contains filtered or unexported fields
}
CandlesService сервис для получения исторических свечей
func (*CandlesService) Do ¶
func (s *CandlesService) Do() (Candles, error)
Do выполняет выгрузку свечей
func (*CandlesService) Next ¶
func (s *CandlesService) Next() ([]Candle, error)
Next загружает следующую страницу данных Если данных больше нет, то возвращается ошибка EOF TODO что возвращать данные или ссылку?
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewClient ¶
func NewClient(opts ...ClientOption) (*Client, error)
func (*Client) Connect ¶
Connect Подключение (авторизация) к информационно-статистическому серверу Московской Биржи (ИСС/ISS)
func (*Client) GetBondHistory ¶
func (c *Client) GetBondHistory(symbols string, from, to string) ([]BondHistory, error)
GetBondHistory получить исторические данные по одному символу
func (*Client) GetBondsData ¶
GetBondsData получить рыночные данные по облигации
func (*Client) GetBondsHistoryDate ¶
func (c *Client) GetBondsHistoryDate(date string) ([]BondHistory, error)
GetBondsHistoryDate получить исторические данные по всем облигациям за заданную дату
func (*Client) GetBondsInfo ¶
GetBondsInfo
func (*Client) GetFortsCandles ¶
GetFortsCandles получить историю свечей по акциям Board RFUD
func (*Client) GetFortsData ¶
GetFortsData получить рыночные данные по фьючерсам
func (*Client) GetFortsInfo ¶
GetFortsInfo получить параметры инструментов по фьючерсам
func (*Client) GetFortsTradeStats ¶
func (c *Client) GetFortsTradeStats(symbol string, from, to string, latest bool) ([]TradeStats, error)
GetFortsTradeStats получим данные TradeStats по заданному фьючерсу
func (*Client) GetFortsTradeStatsAll ¶
func (c *Client) GetFortsTradeStatsAll(date string, latest bool) ([]TradeStats, error)
GetStockTradeStatsAll получим данные TradeStats по всем фьючерсам за заданный день
func (*Client) GetFutOIAll ¶
GetFutOIAll Открытые позиции физ. и юр. лиц по всем инструментам date = за дату ; latest =1 возвращает последнюю пятиминутку за указанную дату
func (*Client) GetFxTradeStats ¶
GetFxTradeStats получим данные TradeStats по заданной валюте
func (*Client) GetFxTradeStatsAll ¶
func (c *Client) GetFxTradeStatsAll(date string, latest bool) ([]TradeStats, error)
GetFxTradeStatsAll получим данные TradeStats по всем валютам за заданный день
func (*Client) GetOptionData ¶
func (c *Client) GetOptionData(symbols string) ([]OptionData, error)
GetOptionData получить рыночные данные по опционам
func (*Client) GetOptionHistory ¶
func (c *Client) GetOptionHistory(symbols string, from, to string) ([]OptionHistory, error)
GetOptionHistory получить исторические данные по одному символу
func (*Client) GetOptionHistoryAllDate ¶
func (c *Client) GetOptionHistoryAllDate(date string) ([]OptionHistory, error)
GetOptionHistoryAllDate получить исторические данные по всем символам за заданную дату
func (*Client) GetOptionInfo ¶
func (c *Client) GetOptionInfo(symbols string) ([]OptionInfo, error)
GetOptionInfo получить параметры инструментов по опционам
func (*Client) GetStockCandles ¶
GetStockCandles получить историю свечей по акциям Board TQBR
func (*Client) GetStockData ¶
GetStockData получить рыночные данные по акциям
func (*Client) GetStockInfo ¶
GetStockInfo получить параметры инструментов по акциям
func (*Client) GetStockTradeStats ¶
func (c *Client) GetStockTradeStats(symbol string, from, to string, latest bool) ([]TradeStats, error)
GetStockTradeStats получим данные TradeStats по заданной акции
func (*Client) GetStockTradeStatsAll ¶
func (c *Client) GetStockTradeStatsAll(date string, latest bool) ([]TradeStats, error)
GetStockTradeStatsAll получим данные TradeStats по всем акция за заданный день
func (*Client) GetTicker ¶
GetTicker поиск тикера func (c *Client) NewTicker(symbol string, opts ...TickerOption) (*Ticker, error) {
func (*Client) GetTickersAll ¶
GetTicker поиск тикера func (c *Client) NewTicker(symbol string, opts ...TickerOption) (*Ticker, error) {
func (*Client) NewBondHistoryService ¶
func (c *Client) NewBondHistoryService(symbol string, from, to string, date string) *BondHistoryService
параметры должны быть или symbol + from + to = данные по одному символу или date = данные по всем символам за определенную дату todo добавить параметр boardgroups необязательный
func (*Client) NewCandlesService ¶
func (c *Client) NewCandlesService(engines, markets, board, symbol string, interval int, from, to string) *CandlesService
NewCandlesService создание сервиса
func (*Client) NewOptionHistoryService ¶
func (c *Client) NewOptionHistoryService(symbol string, from, to string, date string) *OptionHistoryService
параметры должны быть или symbol + from + to = данные по одному символу или date = данные по всем символам за определенную дату
func (*Client) NewOrderBookService ¶
func (c *Client) NewOrderBookService(engines, markets, board, symbol string) *OrderBookService
func (*Client) NewTradeStatsService ¶
func (c *Client) NewTradeStatsService(markets, symbol string, from, to string, date string, latest bool) *TradeStatsService
NewTradeStatsService создание сервиса или все за заданную дату symbol == "" + указана date или по одному символу за период symbol != "" + указаны from, to (если не указаны = то за текущий день)
type FortsData ¶
type FortsData struct {
SecID string `json:"SECID"` // Код инструмента
BoardID string `json:"BOARDID"` // Код режима
Bid float64 `json:"BID"` // Лучшая котировка на покупку
Offer float64 `json:"OFFER"` // Лучшая котировка на продажу
Spread float64 `json:"SPREAD"` // Разница между лучшей котировкой на продажу и покупку (спред), руб
Open float64 `json:"OPEN"` // Цена первой сделки
Low float64 `json:"LOW"` // Минимальная цена сделки
High float64 `json:"HIGH"` // Максимальная цена сделки
Last float64 `json:"LAST"` // Цена последней сделки
Quantity int `json:"QUANTITY"` // Объем последней сделки, контрактов
LastChange float64 `json:"LASTCHANGE"` // Изменение цены последней сделки к предыдущей цене
SettlePrice float64 `json:"SETTLEPRICE"` // Текущая расчетная цена
SettleTopRevSettle float64 `json:"SETTLETOPREVSETTLE"` // Изменение текущей расчетной цены
NumTrades int `json:"NUMTRADES"` // Количество совершенных сделок, штук
VolToDay int64 `json:"VOLTODAY"` // Объем совершенных сделок, контрактов
ValToDay float64 `json:"VALTODAY"` // Объем совершенных сделок, рублей
ValToDay_USD float64 `json:"VALTODAY_USD"` // Объем совершенных сделок, дол. США
UpdateTime string `json:"UPDATETIME"` // Время последнего обновления
LastChangePrcnt float64 `json:"LASTCHANGEPRCNT"` // Изменение цены последней сделки к предыдущей, %"
BidDepth int `json:"BIDDEPTH"` // Объем заявок на покупку по лучшей котировке, выраженный в лотах null
BidDepthT int `json:"BIDDEPTHT"` // Суммарный объем заявок на покупку null
NumBids int `json:"NUMBIDS"` // Количество заявок на покупку null
OfferDepth int `json:"OFFERDEPTH"` // Объем заявки на продажу по лучшей котировке null
OfferDepthT int `json:"OFFERDEPTHT"` // Суммарный объем заявок на продажу null
NumOffers int `json:"NUMOFFERS"` // Количество заявок на продажу null
Time string `json:"TIME"` // Время заключения последней сделки
SETTLETOPREVSETTLEPRC float64 `json:"SETTLETOPREVSETTLEPRC"` // Изменение текущей расчетной цены относительно расчетной цены предыдущего торгового дня, %
SEQNUM int64 `json:"SEQNUM"` // Номер обновления (служебное поле)
SysTime string `json:"SYSTIME"` // Время загрузки данных системой
TradeDate string `json:"TRADEDATE"` // Дата последней сделки
LastToPrevPrice float64 `json:"LASTTOPREVPRICE"` // Изменение цены последней сделки к последней цене предыдущего дня, %
OpenPosition int64 `json:"OPENPOSITION"` // Открытые позиции, контрактов
OiChange int64 `json:"OICHANGE"` // Изменение открытых позиций к предыдущему закрытию, контр.
OpenPeriodPrice float64 `json:"OPENPERIODPRICE"` // Цена аукциона открытия
SwapRate float64 `json:"SWAPRATE"` // Фандинг в рублях (величина SwapRate, согласно спецификации контракта)
}
FortsData рыночные данные по инструментам фортс https://iss.moex.com/iss/engines/futures/markets/forts/columns.json?iss.only=marketdata TODO добавить csv таг
type FortsInfo ¶
type FortsInfo struct {
SecID string `json:"SECID"` // Код инструмента
BoardID string `json:"BOARDID"` // Код режима
ShortName string `json:"SHORTNAME"` // Кратк. наим.
SecName string `json:"SECNAME"` // Наименование срочного инструмента
PrevSetTlePrice float64 `json:"PREVSETTLEPRICE"` // Расчетная цена предыдущего дня, рублей
Decimals int `json:"DECIMALS"` // Точность
MinStep float64 `json:"MINSTEP"` // Мин. шаг цены
LastTradeDate string `json:"LASTTRADEDATE"` // Последний торговый день
LastDelDate string `json:"LASTDELDATE"` // День исполнения
SecType string `json:"SECTYPE"` // Тип инструмента
LatName string `json:"LATNAME"` // Наименование финансового инструмента на английском языке
AssetCode string `json:"ASSETCODE"` // Код базового актива
PrevOpenPosition int `json:"PREVOPENPOSITION"` // Открытые позиции предыдущего дня, контр.
LotVolume int `json:"LOTVOLUME"` // К-во единиц базового актива в инструменте
InitialMargin float64 `json:"INITIALMARGIN"` // Гарантийное обеспечение на первом уровне лимита концентрации
HighLimit float64 `json:"HIGHLIMIT"` // Верхний лимит
LowLimit float64 `json:"LOWLIMIT"` // Нижний лимит
StepPrice float64 `json:"STEPPRICE"` // Стоимость шага цены
LastSettlePrice float64 `json:"LASTSETTLEPRICE"` // Расчетная цена последнего клиринга
PrevPrice float64 `json:"PREVPRICE"` // Цена последней сделки предыдущего торгового дня
IMTime string `json:"IMTIME"` // Данные по ГО на
BuySellFee float64 `json:"BUYSELLFEE"` // Сбор за регистрацию сделки*, руб.
ScalPerFee float64 `json:"SCALPERFEE"` // Сбор за скальперскую сделку*, руб.
NegotiatedFee float64 `json:"NEGOTIATEDFEE"` // Сбор за адресную сделку*, руб.
ExerciseFee float64 `json:"EXERCISEFEE"` // Клиринговая комиссия за исполнение контракта*, руб.
}
FortsInfo параметры инструментов по рынку фортс https://iss.moex.com/iss/engines/futures/markets/forts/columns.json?iss.only=securities TODO добавить csv таг
type FutOI ¶
type FutOI struct {
SessID int32 `json:"sess_id"` // номер торговой сессии
SeqNum int32 `json:"seqnum"` // Номер пакета данных. Техническое поле
TradeDate string `json:"tradedate"` // Дата date:10
TradeTime string `json:"tradetime"` // Время последней сделки, которая была учтена при расчете time:10
Ticker string `json:"ticker"` // Двухсимвольный код контракта
ClGroup string `json:"clgroup"` // группа клиентов: fiz – физические лица, yur – юридические лица
Pos int64 `json:"pos"` // Величина открытых позиций
PosLong int64 `json:"pos_long"` // Величина длинных открытых позиций
PosShort int64 `json:"pos_short"` // Величина коротких открытых позиций
PosLongNum int64 `json:"pos_long_num"` // Количество лиц, имеющих длинную открытую позицию
PosShortNum int64 `json:"pos_short_num"` // Количество лиц, имеющих короткую открытую позицию
SysTime string `json:"systime"` // Время публикации данных datetime:19
}
FutOI Открытые позиции по фьючерсным контрактам в разрезе физ. и юр. лиц
type HTTPClient ¶
HTTPClient interface Do
type IssRequest ¶
type IssRequest struct {
// contains filtered or unexported fields
}
IssRequest построитель запроса iss-moex
func NewIssRequest ¶
func NewIssRequest() *IssRequest
func (*IssRequest) AlgoPack ¶
func (u *IssRequest) AlgoPack(param string) *IssRequest
что выбираем из алгопака
func (*IssRequest) AlgoPackForts ¶
func (u *IssRequest) AlgoPackForts(param bool) *IssRequest
func (*IssRequest) AlgoPackFx ¶
func (u *IssRequest) AlgoPackFx(param bool) *IssRequest
func (*IssRequest) AlgoPackMarkets ¶
func (u *IssRequest) AlgoPackMarkets(param string) *IssRequest
какой рынок в алгопаке
func (*IssRequest) AlgoPackStock ¶
func (u *IssRequest) AlgoPackStock(param bool) *IssRequest
func (*IssRequest) BoardGroups ¶
func (u *IssRequest) BoardGroups(param int) *IssRequest
boardgroups /boardgroups
func (*IssRequest) Boards ¶
func (u *IssRequest) Boards(param string) *IssRequest
Boards /boards/(boardid)
func (*IssRequest) Bonds ¶
func (u *IssRequest) Bonds() *IssRequest
Bondsпроставим параметры для Bonds
func (*IssRequest) Candle ¶
func (u *IssRequest) Candle() *IssRequest
Candle проставим параметры для запроса свечи
func (*IssRequest) Date ¶
func (u *IssRequest) Date(param string) *IssRequest
Date нет проверки на формат даты
func (*IssRequest) Engines ¶
func (u *IssRequest) Engines(param string) *IssRequest
Engines /engines/(trade_engine_name)
func (*IssRequest) Forts ¶
func (u *IssRequest) Forts() *IssRequest
Forts проставим параметры для фьючерсов
func (*IssRequest) From ¶
func (u *IssRequest) From(param string) *IssRequest
From нет проверки на формат даты
func (*IssRequest) Json ¶
func (u *IssRequest) Json() *IssRequest
Json проставим формат данных: json xml
func (*IssRequest) JsonFull ¶
func (u *IssRequest) JsonFull() *IssRequest
JsonFull расширенный формат json iss.json=extended
func (*IssRequest) Latest ¶
func (u *IssRequest) Latest(param bool) *IssRequest
флаг latest=1 возвращает последнюю пятиминутку за указанный период
func (*IssRequest) MarketData ¶
func (u *IssRequest) MarketData() *IssRequest
MarketData iss.only=marketdata
func (*IssRequest) Markets ¶
func (u *IssRequest) Markets(param string) *IssRequest
Markets /markets/(market_name)
func (*IssRequest) MetaData ¶
func (u *IssRequest) MetaData(param bool) *IssRequest
MetaData включать или нет метаинформацию перечень, тип данных и размер полей (столбцов или атрибутов xml) iss.meta=on|off
func (*IssRequest) OnlyMarketData ¶
func (u *IssRequest) OnlyMarketData() *IssRequest
OnlyMarketData iss.only=marketdata
func (*IssRequest) OnlySecurities ¶
func (u *IssRequest) OnlySecurities() *IssRequest
OnlySecurities iss.only=securities
func (*IssRequest) Options ¶
func (u *IssRequest) Options() *IssRequest
Options проставим параметры для опционов
func (*IssRequest) Start ¶
func (u *IssRequest) Start(param int) *IssRequest
func (*IssRequest) Stock ¶
func (u *IssRequest) Stock() *IssRequest
Stock проставим параметры для акций
func (*IssRequest) Symbol ¶
func (u *IssRequest) Symbol(param string) *IssRequest
Symbol один символ. после securities
func (*IssRequest) Symbols ¶
func (u *IssRequest) Symbols(param string) *IssRequest
Symbols список символов в строке запроса
func (*IssRequest) To ¶
func (u *IssRequest) To(param string) *IssRequest
To нет проверки на формат даты
func (*IssRequest) WithSecurities ¶
func (u *IssRequest) WithSecurities(param bool) *IssRequest
WithSecurities добавлять securities в строку
type OptionData ¶
type OptionData struct {
SecID string `json:"SECID"` // Код инструмента
BoardID string `json:"BOARDID"` // Код режима
Bid float64 `json:"BID"` // Лучшая котировка на покупку
Offer float64 `json:"OFFER"` // Лучшая котировка на продажу
Spread float64 `json:"SPREAD"` // Разница между лучшей котировкой на продажу и покупку (спред), руб
Open float64 `json:"OPEN"` // Цена первой сделки
Low float64 `json:"LOW"` // Минимальная цена сделки
High float64 `json:"HIGH"` // Максимальная цена сделки
Last float64 `json:"LAST"` // Цена последней сделки
Quantity int `json:"QUANTITY"` // Объем последней сделки, контрактов
LastChange float64 `json:"LASTCHANGE"` // Изменение цены последней сделки к предыдущей цене
SettlePrice float64 `json:"SETTLEPRICE"` // Текущая расчетная цена
SettleToPrevSettle float64 `json:"SETTLETOPREVSETTLE"` // Изменение текущей расчетной цены
NumTrades int64 `json:"NUMTRADES"` // Количество совершенных сделок, штук
VolToDay int64 `json:"VOLTODAY"` // Объем совершенных сделок, контрактов
ValToDay float64 `json:"VALTODAY"` // Объем совершенных сделок, рублей
ValToDay_USD float64 `json:"VALTODAY_USD"` // Объем совершенных сделок, дол. США
UpdateTime string `json:"UPDATETIME"` // Время последнего обновления
LastChangePrcnt float64 `json:"LASTCHANGEPRCNT"` // Изменение цены последней сделки к предыдущей, %"
BidDepth int `json:"BIDDEPTH"` // Объем заявок на покупку по лучшей котировке, выраженный в лотах null
BidDepthT int `json:"BIDDEPTHT"` // Суммарный объем заявок на покупку null
NumBids int `json:"NUMBIDS"` // Количество заявок на покупку null
OfferDepth int `json:"OFFERDEPTH"` // Объем заявки на продажу по лучшей котировке null
OfferDepthT int `json:"OFFERDEPTHT"` // Суммарный объем заявок на продажу null
NumOffers int `json:"NUMOFFERS"` // Количество заявок на продажу null
Time string `json:"TIME"` // Время заключения последней сделки
SettleToPrevSettlePrc float64 `json:"SETTLETOPREVSETTLEPRC"` // Изменение текущей расчетной цены относительно
SeqNum int64 `json:"SEQNUM"` // Номер обновления (служебное поле)
SysTime string `json:"SYSTIME"` // Время загрузки данных системой
OiChange int64 `json:"OICHANGE"` // Изменение открытых позиций к предыдущему закрытию, контр.
OpenPosition int64 `json:"OPENPOSITION"` // Открытые позиции, контрактов
}
OptionData рыночные данные по опционам https://iss.moex.com/iss/engines/futures/markets/options/columns.json?iss.only=marketdata TODO добавить csv теги
type OptionHistory ¶
type OptionHistory struct {
TradeDate string `json:"TRADEDATE"` // Дата за которую предоставляются данные
SecID string `json:"SECID"` // Уникальный краткий код инструмента
BoardID string `json:"BOARDID"` // Идентификатор режима торгов
Open float64 `json:"OPEN"` // Цена открытия
Low float64 `json:"LOW"` // Минимальная цена сделки
High float64 `json:"HIGH"` // Максимальная цена сделки
Close float64 `json:"CLOSE"` // Цена последней сделки
Value float64 `json:"VALUE"` // Оборот в рублях
Volume int64 `json:"VOLUME"` // Оборот в контрактах
OpenPositionValue float64 `json:"OPENPOSITIONVALUE"` // Объем открытых позиций, руб.
OpenPosition int64 `json:"OPENPOSITION"` // Открытые позиции в контрактах
SettlePrice float64 `json:"SETTLEPRICE"` // Расчетная цена текущего дня
WapPrice float64 `json:"WAPRICE"` // Средневзвешенная цена (рыночные сделки)
SettlePriceDay float64 `json:"SETTLEPRICEDAY"` // Теоретическая цена в дневном клиринге (пункты)
Change float64 `json:"CHANGE"` // Изменение цены последней сделки по отношению к цене последней сделки предыдущего торгового, %
QTY int64 `json:"QTY"` // Объем последней сделки, контрактов
NumTrades int64 `json:"NUMTRADES"` // Количество сделок
}
type OptionHistoryService ¶
type OptionHistoryService struct {
// contains filtered or unexported fields
}
OptionHistoryService сервис для получения исторических данных
func (*OptionHistoryService) Do ¶
func (s *OptionHistoryService) Do() ([]OptionHistory, error)
Do выполняет выгрузку History
func (*OptionHistoryService) Next ¶
func (s *OptionHistoryService) Next() ([]OptionHistory, error)
type OptionInfo ¶
type OptionInfo struct {
SecID string `json:"SECID" csv:"SECID"` // Код инструмента
BoardID string `json:"BOARDID" csv:"BOARDID"` // Код режима
ShortName string `json:"SHORTNAME" csv:"SHORTNAME"` // Серия срочного инструмента"
SecName string `json:"SECNAME" csv:"SECNAME"` // Наименование срочного инструмента
OptionType string `json:"OPTIONTYPE" csv:"OPTIONTYPE"` // Вид опциона
Strike float64 `json:"STRIKE" csv:"STRIKE"` // Цена страйка
CentralStrike float64 `json:"CENTRALSTRIKE" csv:"CENTRALSTRIKE"` // Центральный страйк
PrevSettlePrice float64 `json:"PREVSETTLEPRICE" csv:"PREVSETTLEPRICE"` // Расчетная цена предыдущего дня, рублей
Decimals int `json:"DECIMALS" csv:"DECIMALS"` // Точность
MinStep float64 `json:"MINSTEP" csv:""MINSTEP"` // Мин. шаг цены
LastTradeDate string `json:"LASTTRADEDATE" csv:"LASTTRADEDATE"` // Последний торговый день
LastDelDate string `json:"LASTDELDATE" csv:"LASTDELDATE"` // День исполнения
PrevPrice float64 `json:"PREVPRICE" csv:"PREVPRICE"` // Цена последней сделки предыдущего торгового дня
StepPrice float64 `json:"STEPPRICE" csv:"STEPPRICE"` // Стоимость шага цены
LatName string `json:"LATNAME" csv:"LATNAME"` // Наименование финансового инструмента на английском языке
ImNp float64 `json:"IMNP" csv:"IMNP"` // ГО по непокрытой позиции на первом уровне лимита концентрации
ImP float64 `json:"IMP" csv:"IMP"` // ГО по синтетической позиции на первом уровне лимита концентрации
ImBuy float64 `json:"IMBUY" csv:"IMBUY"` // ГО под покупку опциона на первом уровне лимита концентрации
ImTime string `json:"IMTIME" csv:"IMTIME"` // Данные по ГО на (datetime)
BuySellFee float64 `json:"BUYSELLFEE" csv:"BUYSELLFEE"` // Сбор за регистрацию сделки
ScalperFee float64 `json:"SCALPERFEE" csv:"SCALPERFEE"` // Сбор за скальперскую сделку
NegotiatedFee float64 `json:"NEGOTIATEDFEE" csv:"NEGOTIATEDFEE"` // Сбор за адресную сделку
ExerciseFee float64 `json:"EXERCISEFEE" csv:"EXERCISEFEE"` // Клиринговая комиссия за исполнение контракта
AssetCode string `json:"ASSETCODE" csv:ASSETCODE"` // Код базового актива
UnderlyingAsset string `json:"UNDERLYINGASSET" csv:"UNDERLYINGASSET"` // Базовый актив
UnderlyingType string `json:"UNDERLYINGTYPE" csv:"UNDERLYINGTYPE"` // Тип базового актива (F - фьючерс, S - акции)
UnderlyingSettlePrice float64 `json:"UNDERLYINGSETTLEPRICE" csv:"UNDERLYINGSETTLEPRICE"` // Котировка базового актива
}
type OrderBook ¶
type OrderBook struct {
Bids PriceVolumeSlice `json:"bids"` // Биды
Asks PriceVolumeSlice `json:"asks"` // Аски
SEQNUM int64 `json:"SEQNUM"`
UpdateTime string `json:"UPDATETIME"`
Decimals int32 `json:"DECIMALS"`
}
OrderBook биржевой стакан
func NewOrderBook ¶
func NewOrderBook(in []OrderBookData) OrderBook
NewOrderBook соберем стакан из входящего OrderBookData
func (OrderBook) BestAsk ¶
func (b OrderBook) BestAsk() (PriceVolume, bool)
func (OrderBook) BestBid ¶
func (b OrderBook) BestBid() (PriceVolume, bool)
type OrderBookData ¶
type OrderBookData struct {
SecID string `json:"SECID"`
BoardID string `json:"BOARDID"`
BuySell string `json:"BUYSELL"`
Price float64 `json:"PRICE"`
Quantity int32 `json:"QUANTITY"`
SEQNUM int64 `json:"SEQNUM"`
UpdateTime string `json:"UPDATETIME"`
Decimals int32 `json:"DECIMALS"`
}
OrderBookData структура стакана которая приходил с сервера
type OrderBookService ¶
type OrderBookService struct {
// contains filtered or unexported fields
}
OrderBookService сервис для получения стакана
func (OrderBookService) Do ¶
func (s OrderBookService) Do() (OrderBook, error)
Do выполняет загрузку стакана запрос должен выполнятся только с авторизацией
type PriceVolume ¶
func (PriceVolume) String ¶
func (p PriceVolume) String() string
type PriceVolumeSlice ¶
type PriceVolumeSlice []PriceVolume
PriceVolumeSlice Биды Аски
func (PriceVolumeSlice) First ¶
func (slice PriceVolumeSlice) First() (PriceVolume, bool)
First вернем первый элемент
func (PriceVolumeSlice) Last ¶
func (slice PriceVolumeSlice) Last(position int) (PriceVolume, bool)
Last вернем заданный элемент
func (PriceVolumeSlice) Len ¶
func (slice PriceVolumeSlice) Len() int
func (PriceVolumeSlice) SumDepth ¶
func (slice PriceVolumeSlice) SumDepth() int32
SumDepth вернем объем стакана
type RequestOption ¶
type RequestOption func(*request)
RequestOption define option type for request
func WithHeader ¶
func WithHeader(key, value string, replace bool) RequestOption
WithHeader set or add a header value to the request
func WithHeaders ¶
func WithHeaders(header http.Header) RequestOption
WithHeaders set or replace the headers of the request
type Response ¶
type Response struct {
Candles struct {
Columns []string `json:"columns"`
Data [][]interface{} `json:"data"`
} `json:"candles"`
MarketData struct {
Columns []string `json:"columns"`
Data [][]interface{} `json:"data"`
} `json:"marketdata"`
Securities struct {
Columns []string `json:"columns"`
Data [][]interface{} `json:"data"`
} `json:"securities"`
OrderBook struct {
Columns []string `json:"columns"`
Data [][]interface{} `json:"data"`
} `json:"orderbook"`
History struct {
Columns []string `json:"columns"`
Data [][]interface{} `json:"data"`
} `json:"history"`
Data struct {
Columns []string `json:"columns"`
Data [][]interface{} `json:"data"`
} `json:"data"`
}
Response структура ответа от iss
type StockData ¶
type StockData struct {
SecID string `json:"SECID"` // Код инструмента
BoardID string `json:"BOARDID"` // Код режима
Bid float64 `json:"BID"` // Лучшая котировка на покупку
BidDepth string `json:"BIDDEPTH"` // Лотов на покупку по лучшей = null
Offer float64 `json:"OFFER"` // Лучшая котировка на продажу
OfferDepth string `json:"OFFERDEPTH"` // Лотов на продажу по лучшей = null
Spread float64 `json:"SPREAD"` // Разница между лучшей котировкой на продажу и покупку (спред), руб
BidDeptht int `json:"BIDDEPTHT"` // объем всех заявок на покупку в очереди Торговой Системы, выраженный в лотах
OfferDeptht int `json:"OFFERDEPTHT"` // Объем всех заявок на продажу в очереди Торговой Системы, выраженный в лотах
Open float64 `json:"OPEN"` // Цена первой сделки
Low float64 `json:"LOW"` // Минимальная цена сделки
High float64 `json:"HIGH"` // Максимальная цена сделки
Last float64 `json:"LAST"` // Цена последней сделки
LastChange float64 `json:"LASTCHANGE"` // Изменение цены последней сделки к цене предыдущей сделки, рублей
LastChangePrcnt float64 `json:"LASTCHANGEPRCNT"` // Изменение цены последней сделки к цене предыдущей сделки, %
QTY int `json:"QTY"` // Объем последней сделки, в лотах
Value float64 `json:"VALUE"` // Объем последней сделки, в руб
Value_USD float64 `json:"VALUE_USD"` // Объем последней сделки, дол. США
WapRrice float64 `json:"WAPRICE"` // Средневзвешенная цен
LastCNGToLastWaPrice float64 `json:"LASTCNGTOLASTWAPRICE"` // Изменение цены последней сделки к средневзвешенной цене, рублей
WapToPrevWaPricePrcnt float64 `json:"WAPTOPREVWAPRICEPRCNT"` // Изменение средневзвешенной цены относительно средневзвешенной цены предыдущего торгового дня, %
WapToPrevWaPrice float64 `json:"WAPTOPREVWAPRICE"` // Изменение средневзвешенной цены к средневзвешенной цене предыдущего торгового дня, рублей
ClosePrice float64 `json:"CLOSEPRICE"` // Цена послеторгового периода
MarketPriceToday float64 `json:"MARKETPRICETODAY"` // Рыночная цена по результатам торгов сегодняшнего дня, за одну ценную бумагу
MarkeTPrice float64 `json:"MARKETPRICE"` // Рыночная цена предыдущего дня
LastToPrevPrice float64 `json:"LASTTOPREVPRICE"` // Изменение цены последней сделки к последней цене предыдущего дня, %
NumTrades int `json:"NUMTRADES"` // Количество сделок за торговый день
VolToDay int64 `json:"VOLTODAY"` // Объем совершенных сделок, выраженный в единицах ценных бумаг
ValToDay int64 `json:"VALTODAY"` // Объем совершенных сделок, в валюте расчетов
ValToDay_USD int64 `json:"VALTODAY_USD"` // Объем заключенных сделок, дол. США
ETFSETTLEPRICE float64 `json:"ETFSETTLEPRICE"` // Расчетная стоимость акции\/пая иностранного биржевого инвестиционного фонда
TradingStatus string `json:"TRADINGSTATUS"` // Индикатор состояния торговой сессии по инструменту
UpdateTime string `json:"UPDATETIME"` // Время последнего обновления
LastBid float64 `json:"LASTBID"` // Лучшая котировка на покупку на момент завершения нормального периода торгов
LastOffer float64 `json:"LASTOFFER"` // Лучшая котировка на продажу на момент завершения нормального периода торгов
LClosePrice float64 `json:"LCLOSEPRICE"` // Официальная цена закрытия, рассчитываемая по методике ФСФР как средневзвешенная цена сделок за последние 10 минут торговой сессии
LCurrentPrice float64 `json:"LCURRENTPRICE"` // Официальная текущая цена, рассчитываемая как средневзвешенная цена сделок заключенных за последние 10 минут
MarketPrice2 float64 `json:"MARKETPRICE2"` // Рыночная цена 2, рассчитываемая в соответствии с методикой ФСФР
NumBids int `json:"NUMBIDS"` // Количество заявок на покупку в очереди Торговой системы (undefined)
NumOffers int `json:"NUMOFFERS"` // Количество заявок на продажу в очереди Торговой системы (undefined)
Change float64 `json:"CHANGE"` // Изменение цены последней сделки по отношению к цене последней сделки предыдущего торгового дня
Time string `json:"TIME"` // Время заключения последней сделки
HighBid float64 `json:"HIGHBID"` // Наибольшая цена спроса в течение торговой сессии
LowOffer float64 `json:"LOWOFFER"` // Наименьшая цена предложения в течение торговой сессии
PriceMinusPrevWapRice float64 `json:"PRICEMINUSPREVWAPRICE"` // Цена последней сделки к оценке предыдущего дня
OpenPeriodPrice float64 `json:"OPENPERIODPRICE"` // Цена предторгового периода
SeqNum int64 `json:"SEQNUM"` // номер обновления (служебное поле)
SysTime string `json:"SYSTIME"` // Время загрузки данных системой
ClosingAuctionPrice float64 `json:"CLOSINGAUCTIONPRICE"` // Цена послеторгового аукциона
ClosingAuctionVolume float64 `json:"CLOSINGAUCTIONVOLUME"` // Количество в сделках послеторгового аукциона
ISSUECapitalization float64 `json:"ISSUECAPITALIZATION"` // Текущая капитализация акции
ETFSETTLECurrency string `json:"ETFSETTLECURRENCY"` // Валюта расчетной стоимости акции\/пая иностранного биржевого инвестиционного фонда
ValToday_RUR int64 `json:"VALTODAY_RUR"` // Объем совершенных сделок, рублей
TradingSession string `json:"TRADINGSESSION"` // Торговая сессия
TrendISSUECapitalization float64 `json:"TRENDISSUECAPITALIZATION"` // Изменение капитализации к капитализации предыдущего дня
ISSUECapitalization_UpdateTime string `json:"ISSUECAPITALIZATION_UPDATETIME"` // Время обновления капитализации
}
StockData рыночные данные по акциям https://iss.moex.com/iss/engines/stock/markets/shares/securities/columns.json?iss.only=marketdata
type StockInfo ¶
type StockInfo struct {
SecID string `json:"SECID"` // Код инструмента
BoardID string `json:"BOARDID"` // Код режима
ShortName string `json:"SHORTNAME"` // Кратк. наим.
PrevPrice float64 `json:"PREVPRICE"` // Последняя предыдущего дня""Цена последней сделки нормального периода предыдущего торгового дня
LotSize int `json:"LOTSIZE"` // Размер лота
FaceValue float64 `json:"FACEVALUE"` // Номинал
Status string `json:"STATUS"` // Статус
BoardName string `json:"BOARDNAME"` // Режим торгов
Decimals int `json:"DECIMALS"` // Точность
SecName string `json:"SECNAME"` // Наименование
Remarks string `json:"REMARKS"` // Примечание
MarketCode string `json:"MARKETCODE"` // Рынок, Идентификатор рынка на котором торгуется финансовый инструмент
InstrID string `json:"INSTRID"` // Группа инструментов
SectorID string `json:"SectorID"` // Сектор (Устарело)"
MinStep float64 `json:"MINSTEP"` // Мин. шаг цены
PrevWaPrice float64 `json:"PREVWAPRICE"` // Значение оценки (WAPRICE) предыдущего торгового дня
FaceUnit string `json:"FACEUNIT"` // Код валюты, в которой выражен номинал ценной бумаги
PrevDate string `json:"PREVDATE"` // Дата предыдущего торгового дня
IssueSize int `json:"ISSUESIZE"` // Объем выпуска
ISIN string `json:"ISIN"` // Международный идентификационный код ценной бумаги
LatName string `json:"LATNAME"` // Наименование финансового инструмента на английском языке
RegNumber string `json:"REGNUMBER"` // Регистрационный номер
PrevLegalClosePrice float64 `json:"PREVLEGALCLOSEPRICE"` // Официальная цена закрытия предыдущего дня, рассчитываемая по методике ФСФР
CurrencyID string `json:"CURRENCYID"` // Валюта расчетов
SecType string `json:"SECTYPE"` // Тип ценной бумаги
LisTLevel int `json:"LISTLEVEL"` // Уровень листинга
SettLeDate string `json:"SETTLEDATE"` // Дата расчетов сделки
}
StockInfo параметры акций https://iss.moex.com/iss/engines/stock/markets/shares/securities/columns.json?iss.only=securities
type Ticker ¶
type Ticker struct {
SecID string `json:"secid"`
ShortName string `json:"shortname"` // Краткое наименование ценной бумаги (Серия срочного инструмента)
SecName string `json:"name"` // Наименование финансового инструмента (срочного инструмента)
Type string `json:"type"` //
Group string `json:"group"` //
BoardID string `json:"primary_boardid"` //
IsTraded int `json:"is_traded"` //
Decimals int // Точность, знаков после запятой
MinStep float64 // Шаг цены
SecType string // Тип инструмента
AssetCode string // Базовый актив
LastDelDate string // День исполнения
// contains filtered or unexported fields
}
type TickerData ¶
type TickerData struct {
SecID string `json:"SECID"` // Код инструмента
BoardID string `json:"BOARDID"` // Код режима
Bid float64 `json:"BID"` // Лучшая котировка на покупку
BidDepth float64 `json:"BIDDEPTH"` // Лотов на покупку по лучшей = null
Offer float64 `json:"OFFER"` // Лучшая котировка на продажу
OfferDepth float64 `json:"OFFERDEPTH"` // Лотов на продажу по лучшей = null
Spread float64 `json:"SPREAD"` // Разница между лучшей котировкой на продажу и покупку (спред), руб
BidDeptht int `json:"biddeptht"` // Oбъем всех заявок на покупку в очереди Торговой Системы, выраженный в лотах
OfferDeptht int `json:"OFFERDEPTHT"` // Объем всех заявок на продажу в очереди Торговой Системы, выраженный в лотах
Open float64 `json:"OPEN"` // Цена первой сделки
Low float64 `json:"LOW"` // Минимальная цена сделки
High float64 `json:"HIGH"` // Максимальная цена сделки
Last float64 `json:"LAST"` // Цена последней сделки
LastChange float64 `json:"LASTCHANGE"` // Изменение цены последней сделки к цене предыдущей сделки, рублей
LastChangePrcnt float64 `json:"LASTCHANGEPRCNT"` // Изменение цены последней сделки к цене предыдущей сделки, %
QTY int `json:"QTY"` // Объем последней сделки, в лотах
Value float64 `json:"VALUE"` // Объем последней сделки, в руб
WapRrice float64 `json:"WAPRICE"` // Средневзвешенная цен
NumTrades int `json:"NUMTRADES"` // Количество сделок за торговый день
VolToDay int64 `json:"VOLTODAY"` // Объем совершенных сделок, выраженный в единицах ценных бумаг
ValToDay int64 `json:"VALTODAY"` // Объем совершенных сделок, в валюте расчетов
OpenPosition float64 `json:"OPENPOSITION"` // Открытые позиции, контрактов
OiChange int64 `json:"OICHANGE"` // Изменение открытых позиций к предыдущему закрытию, контр.
UpdateTime string `json:"UPDATETIME"` // Время последнего обновления
SysTime string `json:"SYSTIME"` // Время загрузки данных системой
TradingSession string `json:"TRADINGSESSION"` // Торговая сессия
}
type TickerInfo ¶
type TickerInfo struct {
SecID string `json:"SECID"` // Код инструмента
BoardID string `json:"BOARDID"` // Код режима
ShortName string `json:"SHORTNAME"` // наименование ценной бумаги (Серия срочного инструмента)
SecName string `json:"SECNAME"` // Наименование финансового инструмента (срочного инструмента)
Decimals int `json:"DECIMALS"` // Точность
MinStep float64 `json:"MINSTEP"` // Мин. шаг цены
LotVolume int `json:"LOTVOLUME"` // К-во единиц базового актива в инструменте
LastTradeDate string `json:"LASTTRADEDATE"` // Последний торговый день
LastDelDate string `json:"LASTDELDATE"` // День исполнения
SecType string `json:"SECTYPE"` // Тип инструмента
AssetCode string `json:"ASSETCODE"` // Код базового актива
StepPrice float64 `json:"STEPPRICE"` // Стоимость шага цены
PrevPrice float64 `json:"PREVPRICE"` // Цена последней сделки предыдущего торгового дня
FaceValue float64 `json:"FACEVALUE"` // Номинал (акции)
LisTLevel int `json:"LISTLEVEL"` // Уровень листинга (акции)
}
type TradeStats ¶
type TradeStats struct {
TradeDate string `csv:"tradedate" json:"tradedate"` // дата сделки
TradeTime string `csv:"tradetime" json:"tradetime"` // время сделки
SecID string `csv:"secid" json:"secid"` // код инструмента
AssetCode string `csv:"asset_code" json:"asset_code"` // Код базового актива (для фьючерсов)
Open float64 `csv:"pr_open" json:"pr_open"` // цена открытия
High float64 `csv:"pr_high" json:"pr_high"` // максимальная цена за период
Low float64 `csv:"pr_low" json:"pr_low"` // минимальная цена за период
Close float64 `csv:"pr_close" json:"pr_close"` // последняя цена за период
Std float64 `csv:"pr_std" json:"pr_std"` // стандартное отклонение цены
Volume int64 `csv:"vol" json:"vol"` // объем в лотах
Value float64 `csv:"val" json:"val"` // объем в рублях
Trades int64 `csv:"trades" json:"trades"` // количество сделок
Vwap float64 `csv:"pr_vwap" json:pr_vwap"` // взвешенная средняя цена
Change float64 `csv:"pr_change" json:"pr_change"` // изменение цены за период, %
TradesBuy int64 `csv:"trades_b" json:"trades_b"` // кол-во сделок на покупку
TradesSell int64 `csv:"trades_s" json:"trades_s"` // кол-во сделок на продажу
ValueBuy float64 `csv:"val_b" json:"val_b"` // объем покупок в рублях
ValueSell float64 `csv:"val_s" json:"val_s"` // объем продаж в рублях
VolumeBuy int64 `csv:"vol_b" json:"vol_b"` // объем покупок в лотах
VolumeSell int64 `csv:"vol_s" json:"vol_s"` // объем продаж в лотах
Disb float64 `csv:"disb" json:"disb"` // соотношение объема покупок и продаж
VwapBuy float64 `csv:"pr_vwap_b" json:"pr_vwap_b"` // средневзвешенная цена покупки
VwapSell float64 `csv:"pr_vwap_s" json:"pr_vwap_s"` // средневзвешенная цена продажи
OiOpen int64 `csv:"oi_open" json:"oi_open"` // ОИ на открытии (для фьючерсов)
OiHigh int64 `csv:"oi_high" json:"oi_high"` // максимальный ОИ (для фьючерсов)
OiLow int64 `csv:"oi_low" json:"oi_low"` // минимальный ОИ (для фьючерсов)
OiClose int64 `csv:"oi_close" json:"oi_close"` // ОИ на закрытии (для фьючерсов)
SYSTIME string `csv:"SYSTIME" json:"SYSTIME"` // время системы
}
TradeStats
type TradeStatsService ¶
type TradeStatsService struct {
// contains filtered or unexported fields
}
TradeStatsService сервис для получения супер свечей (TradeStats)
func (*TradeStatsService) Do ¶
func (s *TradeStatsService) Do() ([]TradeStats, error)
Do выполняет выгрузку свечей
func (*TradeStatsService) Next ¶
func (s *TradeStatsService) Next() ([]TradeStats, error)
Next загружает следующую страницу данных Если данных больше нет, то возвращается ошибка EOF TODO что возвращать данные или ссылку?