This commit is contained in:
2025-05-29 00:28:15 -04:00
parent 3f4d174eb3
commit 0ceb2f2eba
4 changed files with 620 additions and 427 deletions
+37
View File
@@ -0,0 +1,37 @@
from typing import List, Optional
class TradingPair:
symbol_a_: str
symbol_b_: str
price_column_: str
disequilibrium_mu_: Optional[float]
disequilibrium_std_: Optional[float]
def __init__(self, symbol_a: str, symbol_b: str, price_column: str):
self.symbol_a_ = symbol_a
self.symbol_b_ = symbol_b
self.price_column_ = price_column
self.disequilibrium_mu_ = None
self.disequilibrium_std_ = None
def colnames(self) -> List[str]:
return [f"{self.price_column_}_{self.symbol_a_}", f"{self.price_column_}_{self.symbol_b_}"]
def set_training_disequilibrium(self, disequilibrium_mu: float, disequilibrium_std: float):
self.disequilibrium_mu_ = disequilibrium_mu
self.disequilibrium_std_ = disequilibrium_std
def mu(self) -> float:
assert self.disequilibrium_mu_ is not None
return self.disequilibrium_mu_
def std(self) -> float:
assert self.disequilibrium_std_ is not None
return self.disequilibrium_std_
def __repr__(self) ->str:
return f"{self.symbol_a_} & {self.symbol_b_}"