from __future__ import annotations from typing import Any, Dict import pandas as pd class Prediction: tstamp_: pd.Timestamp disequilibrium_: float scaled_disequilibrium_: float def __init__(self, tstamp: pd.Timestamp, disequilibrium: float, scaled_disequilibrium: float): self.tstamp_ = tstamp self.disequilibrium_ = disequilibrium self.scaled_disequilibrium_ = scaled_disequilibrium def to_dict(self) -> Dict[str, Any]: return { "tstamp": self.tstamp_, "disequilibrium": self.disequilibrium_, "signed_scaled_disequilibrium": self.scaled_disequilibrium_, "scaled_disequilibrium": abs(self.scaled_disequilibrium_), # "pair": self.pair_, } def to_df(self) -> pd.DataFrame: return pd.DataFrame([self.to_dict()])