Source code for jump_diffusion.estimation.base_estimator

"""
Base estimator class for parameter estimation.
"""

from abc import ABC, abstractmethod
from typing import Dict, Any, Optional
import numpy as np


[docs] class BaseEstimator(ABC): """ Abstract base class for all parameter estimators. """ def __init__(self, data: np.ndarray, dt: float): """ Initialize estimator with data. Parameters: ----------- data : np.ndarray One-dimensional array of observed increments dt : float Time step size """ self.data = data self.dt = dt self.fitted = False self.results: Optional[Dict[str, Any]] = None
[docs] @abstractmethod def estimate(self, **kwargs) -> Dict[str, Any]: """ Estimate model parameters. Returns: -------- dict Estimation results including parameters and diagnostics """ pass
[docs] @abstractmethod def log_likelihood(self, params: np.ndarray) -> float: """ Calculate log-likelihood for given parameters. Parameters: ----------- params : np.ndarray Parameter values Returns: -------- float Log-likelihood value """ pass
[docs] def get_results(self) -> Optional[Dict[str, Any]]: """Get estimation results if available.""" return self.results