Базовые классы анализа — bquant.analysis
Обзор
Базовая инфраструктура анализа находится в bquant.analysis.__init__ и включает общие классы и фабрики.
Классы
AnalysisResultПоля:
analysis_type,timestamp,data_size,results,metadataМетоды:
to_dict(),save_to_csv(file_path)
BaseAnalyzerКонструктор:
BaseAnalyzer(name, config=None)Методы:
validate_data(data) -> boolanalyze(data, **kwargs) -> AnalysisResult(абстрактный)prepare_data(data) -> DataFrame
Функции
get_available_analyzers() -> Dict[str, str]: собирает доступные анализаторы из подмодулей.create_analyzer(analyzer_type: str, **kwargs) -> BaseAnalyzer: фабрика (пока возвращает базовый анализатор-заглушку).SUPPORTED_ANALYSIS_TYPES: словарь поддерживаемых направлений анализа.
Пример
import pandas as pd
from bquant.analysis import BaseAnalyzer, AnalysisResult
class MyAnalyzer(BaseAnalyzer):
def analyze(self, data: pd.DataFrame, **kwargs) -> AnalysisResult:
if not self.validate_data(data):
raise ValueError("Invalid data")
return AnalysisResult('my_analysis', results={'rows': len(data)}, data_size=len(data))
an = MyAnalyzer('MyAnalyzer')
res = an.analyze(pd.DataFrame({'close': list(range(1, 11))}))
print(res.to_dict())