| Type: | Package | 
| Title: | Interact with Moscow Exchange Informational and Statistical Server ('ISS') | 
| Version: | 0.3.0 | 
| Maintainer: | Dmitry Zotikov <dmitry.zotikov@ungrund.org> | 
| Description: | This is a thin wrapper around the 'MOEX' 'ISS' REST interface, see https://iss.moex.com. It allows to quickly fetch price candles for a particular security, obtain its profile information and so on. | 
| License: | GPL-3 | 
| Language: | en-GB | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.2.3 | 
| Depends: | R (≥ 4.2.0) | 
| Imports: | glue, purrr, httr, jsonlite, tibble, readr, rlang, stringr, assertthat, cli, dplyr, lubridate, ggplot2 | 
| Suggests: | testthat, knitr, rmarkdown | 
| URL: | https://github.com/x1o/moexer | 
| BugReports: | https://github.com/x1o/moexer/issues | 
| NeedsCompilation: | no | 
| Packaged: | 2024-03-12 11:23:11 UTC; xio | 
| Author: | Dmitry Zotikov [aut, cre, cph] | 
| Repository: | CRAN | 
| Date/Publication: | 2024-03-12 12:30:03 UTC | 
A Decorator for Fetching All Available Data
Description
A decorator for query_iss to increase the start parameter in a loop until
no more data is received.
Usage
fetching_fully(query_iss_fn)
Arguments
| query_iss_fn | A function object corresponding to query_iss. | 
Value
Decorated query_iss_fn.
Examples
## Not run: 
fetching_fully(query_iss)(
    'engines/stock/markets/shares/boards/TQBR/securities/SBER/candles',
    params = list(
        from = URLencode('2020-01-10 10:00:00'),
        till = URLencode('2020-01-10 23:59:59'),
        interval = 1,
        start = 10
    )
)
## End(Not run)
A Decorator for Following Response Cursor
Description
Iterative queries will be issued to fetch all section pages as indicated by
<section>.cursor; the cursor section itself will be removed from the
response.
Usage
following_cursor(query_iss_fn)
Arguments
| query_iss_fn | A function object corresponding to query_iss. | 
Value
Decorated query_iss_fn.
Examples
## Not run: 
following_cursor(query_iss)(
    'history/engines/stock/markets/shares/securities/MOEX',
    params = list(
        from = '2021-09-01',
        till = '2021-12-31',
        start = 10
    )
)
## End(Not run)
Get Possible Candle from-till Values for a Security
Description
REST path:
/engines/[engine]/markets/[market]/boards/[board]/securities/[security]/candleborders
(see http://iss.moex.com/iss/reference/48).
Usage
get_candle_borders(secid, ...)
Arguments
| secid | A vector of security ID's. | 
| ... | Further arguments to query_iss. | 
Details
To get the engine-market-board path a separate get_security_info query is
made and the board with is_primary = 1 is selected.
Value
A tibble with possible from-till values for each interval;
additionally the intervals-durations mapping tibble is joined.
Examples
## Not run: 
get_candle_borders(secid = c('SBER', 'FXGD'))
## End(Not run)
Get Candle Durations-Intervals Mapping
Description
REST path: /index?iss.only=durations (see http://iss.moex.com/iss/reference/28)
Usage
get_candle_durations(...)
Arguments
| ... | Further arguments to query_iss. | 
Value
A tibble with the durations-intervals mapping.
Examples
## Not run: 
get_candle_durations()
## End(Not run)
Get Candles for a Set of Securities
Description
REST path:
/engines/[engine]/markets/[market]/boards/[board]/securities/[security]/candles
(see http://iss.moex.com/iss/reference/46).
Usage
get_candles(secid, from, till = NULL, interval = "monthly", ...)
Arguments
| secid | A vector of security ID's. | 
| from | A date or a datetime object, or something that can be coerced to it with readr::parse_date or readr::parse_datetime. | 
| till | A date or a datetime object, or something that can be coerced to
it with readr::parse_date or readr::parse_datetime, or  | 
| interval | A character value specifying the candle duration (see
 | 
| ... | Further arguments to query_iss. | 
Details
To get the engine-market-board path a separate get_security_info query is
made and the board with is_primary = 1 is selected.
All candles for the specified period will be fetched, see fetching_fully.
Value
A tibble as with candles in OHLCV format, prepended with a column containing the corresponding security ID.
Examples
## Not run: 
# Get daily candles for `SBER`, `FXGD` from 2020-01-01 until today. Note that
# an unknown symbol `XXXX` is skipped with a warning.
get_candles(
    secid = c('XXXX', 'SBER', 'FXGD'),
    from = '2020-01-01',
    debug_output = TRUE
)
# Get SBER minute candles for one trading day (all 526 of them)
get_candles(
    secid = 'SBER',
    from = '2020-01-10',
    till = '2020-01-10',
    interval = 'per_minute'
)
# Get SBER minute candles for the specified time period (1 hour)
get_candles(
    secid = 'SBER',
    from = '2020-01-10 11:00:00',
    till = '2020-01-10 12:00:00',
    interval = 'per_minute'
)
## End(Not run)
Get a Security's Info
Description
REST path: securities/[security] (see http://iss.moex.com/iss/reference/13)
Usage
get_security_info(secid, ...)
Arguments
| secid | A security ID. | 
| ... | Further arguments to query_iss | 
Value
A list with two tibbles:
-  description: Full instrument profile incl. its type, listing level, etc.
-  boards: The security's boards withboardid,history_from, ... columns.
Examples
## Not run: 
get_security_info(secid = 'SBER')
## End(Not run)
Plot Candles
Description
Plot Candles
Usage
## S3 method for class 'MoexCandles'
plot(x, ...)
Arguments
| x | A candles tibble as returned by  | 
| ... | For compatibility with the generic; ignored | 
Value
A ggplot2 object.
Examples
## Not run: 
get_candles(secid = 'SBER', from = '2020-01-01') |>
    plot()
## End(Not run)
Submit a REST Query to ISS
Description
See http://iss.moex.com/iss/reference/ for the list of available endpoints.
Usage
query_iss(rest_path, params = list(), debug_output = getOption("moexer.debug"))
Arguments
| rest_path | A REST path appended to  | 
| params | A HTTP GET query parameters string, passed as a  | 
| debug_output | Print REST URLs as they are queried. | 
Value
A list of tibbles, corresponding to the blocks in the response.
Examples
## Not run: 
query_iss(
    rest_path = 'securities/SBER',
    params = list(iss.only = 'description'),
    debug_output = TRUE
)
## End(Not run)
Search for a Single Security
Description
REST path: '/securities“ (See http://iss.moex.com/iss/reference/5)
Usage
search_security(query, ...)
Arguments
| query | (A part of the) ID, name, ISIN, issuer ID, reg. number of a security. | 
| ... | Further arguments to query_iss | 
Value
A tibble with a list of matched securities.
Examples
## Not run: 
search_security(query = 'SBER')
## End(Not run)