Документация по библиотеке moexalgo 1.0.1, предназначенной для упрощения работы с AlgoPack API Мосбиржи

Создано с помощью Pdoc (Auto-generate API documentation for Python projects)
Expand source code
from __future__ import annotations

try:
    from .__version__ import version as __version__
except ImportError:
    pass

import re

from .market import Market
from .indices import Index
from .shares import Share


def Ticker(secid: str, boardid: str = None) -> Index | Share:
    """ Резолвер тикера

    Parameters
    ----------
    secid: str
        Тикер инструмента
    boardid: str
        Тип рынка

    Returns
    -------
     Обект класса Index или Share

    Raises
    ------
    LookupError
        Если тикер не найден.
    """
    if boardid is None:
        secid, *args = re.split('\W', secid)
        if args:
            boardid = args[0]
    shares = Market('shares', boardid)
    if shares._ticker_info(secid):
        return Share(secid, shares._boardid)
    indices = Market('index', boardid)
    if indices._ticker_info(secid):
        return Index(secid, indices._boardid)
    raise LookupError(f"Cannot found ticker: `{secid}`")

Sub-modules

moexalgo.candles
moexalgo.indices
moexalgo.market
moexalgo.metrics
moexalgo.models
moexalgo.shares
moexalgo.tickers
moexalgo.utils

Functions

def Ticker(secid: str, boardid: str = None) ‑> Index | Share

Резолвер тикера

Parameters

secid : str
Тикер инструмента
boardid : str
Тип рынка

Returns

Обект класса Index или Share

Raises

LookupError
Если тикер не найден.
Expand source code
def Ticker(secid: str, boardid: str = None) -> Index | Share:
    """ Резолвер тикера

    Parameters
    ----------
    secid: str
        Тикер инструмента
    boardid: str
        Тип рынка

    Returns
    -------
     Обект класса Index или Share

    Raises
    ------
    LookupError
        Если тикер не найден.
    """
    if boardid is None:
        secid, *args = re.split('\W', secid)
        if args:
            boardid = args[0]
    shares = Market('shares', boardid)
    if shares._ticker_info(secid):
        return Share(secid, shares._boardid)
    indices = Market('index', boardid)
    if indices._ticker_info(secid):
        return Index(secid, indices._boardid)
    raise LookupError(f"Cannot found ticker: `{secid}`")