An unofficial client of Application Programming Interface for the Moscow Exchange(MOEX) ISS(Informational & Statistical Server) on Golang.
Неофициальный клиент для получения информации и статистики Московской биржи MOEX на Golang.
Under active development, pls, do not use it
Находится в разработке, не стоит использовать
Construct a new MOEX ISS client, then use the various services on the client to
access different parts of the MOEX ISS API.
For example:
client := moexiss.NewClient(nil)
// Get current turnover on all the markets.
turnovers, err := client.Turnovers.GetTurnovers(context.Background(), nil)
Getting initial ISS reference:
client := moexiss.NewClient(nil)
result, err := client.Index.List(context.Background(), nil)
Request options (not mandatory) for initial ISS reference:
-
Engine()
- options for the list of trading systems.Lang(Language)
- the language of the result. Possible valuesmoexiss.LangEn
,moexiss.LangRu
. By default,moexiss.LangRu
.
-
Market()
- options for the list of available markets.Lang(Language)
- the language of the result. Possible valuesmoexiss.LangEn
,moexiss.LangRu
. By default,moexiss.LangRu
.
-
Board()
- options for the list of trading modes.Lang(Language)
- the language of the result. Possible valuesmoexiss.LangEn
,moexiss.LangRu
. By default,moexiss.LangRu
.
-
BoardGroup()
- options for the list of board groups.Lang(Language)
- the language of the result. Possible valuesmoexiss.LangEn
,moexiss.LangRu
. By default,moexiss.LangRu
.IsTraded(bool)
- show traded only currently traded board groups.false
by default.WithEngine(EngineName)
- filtering by an engine.
-
Duration()
- selection for the list of available calculation intervals of candles in the HLOCV format.Lang(Language)
- the language of the result. Possible valuesmoexiss.LangEn
,moexiss.LangRu
. By default,moexiss.LangRu
.
-
SecurityType()
- options for the list of securities.Lang(Language)
- the language of the result. Possible valuesmoexiss.LangEn
,moexiss.LangRu
. By default,moexiss.LangRu
.WithEngine(EngineName)
- filtering by an engine.
-
SecurityGroup()
- options for the list of security groups.Lang(Language)
- the language of the result. Possible valuesmoexiss.LangEn
,moexiss.LangRu
. By default,moexiss.LangRu
.WithEngine(EngineName)
- filtering by an engine.HideInactive(bool)
- filtering by activity.false
by default.
-
SecurityCollection()
- options of collections of the securities list.Lang(Language)
- the language of the result. Possible valuesmoexiss.LangEn
,moexiss.LangRu
. By default,moexiss.LangRu
.
An example:
client := moexiss.NewClient(nil)
bld := moexiss.NewIndexReqOptionsBuilder()
bld.BoardGroup().Lang(moexiss.LangEn).WithEngine(moexiss.EngineStock).IsTraded(true)
bld.Engine().Lang(moexiss.LangEn)
options := bld.Build()
result, err := client.Index.List(context.Background(), options)
Getting aggregated trading results for the date by market:
client := moexiss.NewClient(nil)
ticker := "sberp"
result, err := client.Aggregates.GetAggregates(context.Background(), ticker, nil)
Optional query parameters:
Lang(Language)
- the language of the result. Possible valuesmoexiss.LangEn
,moexiss.LangRu
. By default,moexiss.LangRu
.Date(time.Date)
- date of the results. The last date of aggregated trading results by default.
An example:
client := moexiss.NewClient(nil)
ticker := "sberp"
opt := moexiss.NewAggregateReqOptionsBuilder().
Lang(moexiss.LangEn).
Date(time.Date(2021/*year*/, 2/*month*/, 24/*day*/, 12, 0, 0, 0, time.UTC)).
Build()
result, err := client.Aggregates.GetAggregates(context.Background(), ticker, opt)
How to get a list of indices that include a security:
client := moexiss.NewClient(nil)
ticker := "sberp"
result, err := client.Indices.GetIndices(context.Background(), ticker, nil)
Optional query parameters:
Lang(Language)
- the language of the result. Possible valuesmoexiss.LangEn
,moexiss.LangRu
. By default,moexiss.LangRu
.
An example:
client := moexiss.NewClient(nil)
ticker := "sberp"
opt := moexiss.NewIndicesReqOptionsBuilder().
Lang(moexiss.LangEn).
Build()
result, err := client.Indices.GetIndices(context.Background(), ticker, opt)
How to get turnovers on all the markets:
client := moexiss.NewClient(nil)
turnovers, err := client.Turnovers.GetTurnovers(context.Background(), nil)
Optional query parameters:
Lang(Language)
— the language of the result. Possible valuesmoexiss.LangEn
,moexiss.LangRu
. By default,moexiss.LangRu
.Date(time.Date)
— date for which you want to display data. Today — by default.IsTonightSession(bool)
— show turnovers for the evening session.false
— by default.
For example:
client := moexiss.NewClient(nil)
options := moexiss.NewTurnoverReqOptionsBuilder().
Lang(moexiss.LangEn).
Date(time.Date(2021/*year*/, 2/*month*/, 24/*day*/, 12, 0, 0, 0, time.UTC)).
IsTonightSession(true).
Build()
result, err := client.Turnovers.GetTurnovers(context.Background(), options)
- Getting information on when securities were traded on which boards:
client := moexiss.NewClient(nil)
engine := moexiss.EngineStock
market := "shares"
result, err := client.HistoryListing.
GetListing(context.Background(), engine, market, nil)
- Getting data on the listing of securities for a given board:
client := moexiss.NewClient(nil)
engine := moexiss.EngineStock
market := "shares"
board := "TQTD"
result, err := client.HistoryListing.
GetListingByBoard(context.Background(), engine, market, board, nil)
- Getting data on the listing of securities for a given group of boards:
client := moexiss.NewClient(nil)
engine := moexiss.EngineStock
market := "shares"
boardGroupId := "6"
result, err := client.HistoryListing.
GetListingByBoardGroup(context.Background(), engine, market, boardGroupId, nil)
Создайте новый MOEX ISS клиент, а затем используйте различные сервисы клиента
для доступа к различным частям MOEX ISS API.
Например:
client := moexiss.NewClient(nil)
// Получить сводные обороты по рынкам.
turnovers, err := client.Turnovers.GetTurnovers(context.Background(), nil)
Получить глобальные справочники ISS:
client := moexiss.NewClient(nil)
result, err := client.Index.List(context.Background(), nil)
Опции запроса(не являются обязательными) для получения глобальных справочников ISS:
-
Engine()
- опции для списка торговых систем.Lang(Language)
- язык результата. Возможные значенияmoexiss.LangEn
,moexiss.LangRu
. Значение по умолчанию -moexiss.LangRu
.
-
Market()
- опции для списка доступных рынков.Lang(Language)
- язык результата. Возможные значенияmoexiss.LangEn
,moexiss.LangRu
. Значение по умолчанию -moexiss.LangRu
.
-
Board()
- опции для списка режимов торгов.Lang(Language)
- язык результата. Возможные значенияmoexiss.LangEn
,moexiss.LangRu
. Значение по умолчанию -moexiss.LangRu
.
-
BoardGroup()
- опции для списка групп режимов торгов.Lang(Language)
- язык результата. Возможные значенияmoexiss.LangEn
,moexiss.LangRu
. Значение по умолчанию -moexiss.LangRu
.IsTraded(bool)
- показывать торгуемые только торгующиеся в настоящий момент группы режимов торгов. Значение по умолчанию -false
.WithEngine(EngineName)
- фильтрация по торговой системе.
-
Duration()
- опции для списка доступных расчетных интервалов свечей в формате HLOCV.Lang(Language)
- язык результата. Возможные значенияmoexiss.LangEn
,moexiss.LangRu
. Значение по умолчанию -moexiss.LangRu
.
-
SecurityType()
- опции для списка инструментов.Lang(Language)
- язык результата. Возможные значенияmoexiss.LangEn
,moexiss.LangRu
. Значение по умолчанию -moexiss.LangRu
.WithEngine(EngineName)
- фильтрация по торговой системе.
-
SecurityGroup()
- опции для списка групп инструментов.Lang(Language)
- язык результата. Возможные значенияmoexiss.LangEn
,moexiss.LangRu
. Значение по умолчанию -moexiss.LangRu
.WithEngine(EngineName)
- фильтрация по торговой системе.HideInactive(bool)
- фильтрация по активности. Значение по умолчанию -false
.
-
SecurityCollection()
- опции для списка коллекций инструментов.Lang(Language)
- язык результата. Возможные значенияmoexiss.LangEn
,moexiss.LangRu
. Значение по умолчанию -moexiss.LangRu
.
Пример:
client := moexiss.NewClient(nil)
bld := moexiss.NewIndexReqOptionsBuilder()
bld.BoardGroup().Lang(moexiss.LangEn).WithEngine(moexiss.EngineStock).IsTraded(true)
bld.Engine().Lang(moexiss.LangEn)
options := bld.Build()
result, err := client.Index.List(context.Background(), options)
Получить агрегированные итоги торгов за дату по рынкам:
client := moexiss.NewClient(nil)
ticker := "sberp"
result, err := client.Aggregates.GetAggregates(context.Background(), ticker, nil)
Опции запроса(не являются обязательными):
Lang(Language)
- язык результата. Возможные значенияmoexiss.LangEn
,moexiss.LangRu
. Значение по умолчанию -moexiss.LangRu
.Date(time.Date)
- дата за которую необходимо отобразить данные. По умолчанию за последнюю дату в итогах торгов.
Пример:
client := moexiss.NewClient(nil)
ticker := "sberp"
opt := moexiss.NewAggregateReqOptionsBuilder().
Lang(moexiss.LangEn).
Date(time.Date(2021/*год*/, 2/*месяц*/, 24/*день*/, 12, 0, 0, 0, time.UTC)).
Build()
result, err := client.Aggregates.GetAggregates(context.Background(), ticker, opt)
Получить список индексов в которые входит бумага:
client := moexiss.NewClient(nil)
ticker := "sberp"
result, err := client.Indices.GetIndices(context.Background(), ticker, nil)
Опции запроса(не являются обязательными):
Lang(Language)
- язык результата. Возможные значенияmoexiss.LangEn
,moexiss.LangRu
. Значение по умолчанию -moexiss.LangRu
.
Пример:
client := moexiss.NewClient(nil)
ticker := "sberp"
opt := moexiss.NewIndicesReqOptionsBuilder().
Lang(moexiss.LangEn).
Build()
result, err := client.Indices.GetIndices(context.Background(), ticker, opt)
Получить сводные обороты по рынкам:
client := moexiss.NewClient(nil)
turnovers, err := client.Turnovers.GetTurnovers(context.Background(), nil)
Опции запроса(не являются обязательными):
Lang(Language)
— язык результата. Возможные значенияmoexiss.LangEn
,moexiss.LangRu
. Значение по умолчанию —moexiss.LangRu
.Date(time.Date)
— дата за которую необходимо отобразить данные. По умолчанию — сегодня.IsTonightSession(bool)
— показывать обороты за вечернюю сессию. Значение по умолчанию —false
.
Пример:
client := moexiss.NewClient(nil)
options := moexiss.NewTurnoverReqOptionsBuilder().
Lang(moexiss.LangEn).
Date(time.Date(2021/*год*/, 2/*месяц*/, 24/*день*/, 12, 0, 0, 0, time.UTC)).
IsTonightSession(true).
Build()
result, err := client.Turnovers.GetTurnovers(context.Background(), options)
- Список неторгуемых/торгуемых инструментов с указанием интервалов торгуемости по режимам:
client := moexiss.NewClient(nil)
engine := moexiss.EngineStock
market := "shares"
result, err := client.HistoryListing.
GetListing(context.Background(), engine, market, nil)
- Получить данные по листингу бумаг в историческом разрезе по указанному режиму:
client := moexiss.NewClient(nil)
engine := moexiss.EngineStock
market := "shares"
board := "TQTD"
result, err := client.HistoryListing.
GetListingByBoard(context.Background(), engine, market, board, nil)
- Получить данные по листингу бумаг в историческом разрезе по указанной группе режимов:
client := moexiss.NewClient(nil)
engine := moexiss.EngineStock
market := "shares"
boardGroupId := "6"
result, err := client.HistoryListing.
GetListingByBoardGroup(context.Background(), engine, market, boardGroupId, nil)
Опции запроса(не являются обязательными):
Lang(Language)
— язык результата. Возможные значенияmoexiss.LangEn
,moexiss.LangRu
. Значение по умолчанию —moexiss.LangRu
.Status(HistoryListingTradingStatus)
— фильтр торгуемости инструментов:moexiss.ListingTradingStatusTraded
,moexiss.ListingTradingStatusNotTraded
илиmoexiss.ListingTradingStatusAll
. По умолчанию —moexiss.ListingTradingStatusAll
.Start(int)
— номер строки (отсчет с нуля), с которой следует начать порцию возвращаемых данных. Значение по умолчанию — 0. Получение ответа без данных означает, что указанное значение превышает число строк, возвращаемых запросом.
Пример:
client := moexiss.NewClient(nil)
engine := moexiss.EngineStock
market := "shares"
boardGroupId := "6"
opt := moexiss.NewHistoryListingReqOptionsBuilder().
Status(moexiss.ListingTradingStatusNotTraded).
Start(42).
Lang(moexiss.LangEn).
Build()
result, err := client.HistoryListing.
GetListingByBoardGroup(context.Background(), engine, market, boardGroupId, opt)