Skip to content

Generator

generator

Generate security classifications from provider data.

ClassificationGenerator(sources: tuple[ClassificationSource, ...] = ())

Generate classifications from Security provider attributes.

Source code in src/equities_classifier/classification/generator.py
def __init__(
    self,
    sources: tuple[ClassificationSource, ...] = (),
) -> None:
    """Initialize classification generator class."""

    if len(sources) == 0:
        self._sources: tuple[ClassificationSource, ...] = (
            _SOURCE_GECS_MORNINGSTAR,
            _SOURCE_GICS_MOTLEYFOOL,
        )
    else:
        self._sources = sources

generate(security: Security) -> list[SecurityClassification]

Generate classifications for a security.

Source code in src/equities_classifier/classification/generator.py
def generate(
    self,
    security: Security,
) -> list[SecurityClassification]:
    """Generate classifications for a security."""

    classifications: list[SecurityClassification] = []

    for source in self._sources:

        classification = self._generate_classification(security, source,)
        if classification is not None:
            classifications.append(classification)

    return classifications

ClassificationSource(datasource: DataSourceID, system: ClassificationSystem, level_attributes: Mapping[ClassificationLevel, str], resolver: Callable | None = None) dataclass

Definition of a provider classification source.

datasource: DataSourceID instance-attribute

level_attributes: Mapping[ClassificationLevel, str] instance-attribute

resolver: Callable | None = None class-attribute instance-attribute

system: ClassificationSystem instance-attribute