File size: 1,158 Bytes
a2afe2f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
"""Pydantic models for Quantitative Analysis."""
from pydantic import BaseModel
class TestModel(BaseModel):
"""Base model for QA tests."""
statistic: float
p_value: float
class NormalityModel(BaseModel):
"""Normality model."""
kurtosis: TestModel
skewness: TestModel
jarque_bera: TestModel
shapiro_wilk: TestModel
kolmogorov_smirnov: TestModel
class ADFTestModel(TestModel):
"""Augmented Dickey-Fuller test model."""
nlags: int
nobs: int
icbest: float
class KPSSTestModel(TestModel):
"""Kwiatkowski–Phillips–Schmidt–Shin test model."""
nlags: int
class UnitRootModel(BaseModel):
"""Unit root model."""
adf: ADFTestModel
kpss: KPSSTestModel
class OmegaModel(BaseModel):
"""Omega model."""
threshold: float
omega: float
class SummaryModel(BaseModel):
"""Summary model."""
count: int
mean: float
std: float
var: float
min: float
max: float
p_25: float
p_50: float
p_75: float
class CAPMModel(BaseModel):
"""CAPM model."""
market_risk: float
systematic_risk: float
idiosyncratic_risk: float
|