notebook progress

This commit is contained in:
Oleg Sheynin 2025-07-23 03:32:43 +00:00
parent e0138907be
commit 577fb5c109
5 changed files with 1485 additions and 504 deletions

View File

@ -18,6 +18,7 @@ class PairsTradingFitMethod(ABC):
"price",
"disequilibrium",
"scaled_disequilibrium",
"signed_scaled_disequilibrium",
"pair",
]

View File

@ -177,6 +177,7 @@ class RollingFit(PairsTradingFitMethod):
open_tstamp = open_row["tstamp"]
open_disequilibrium = open_row["disequilibrium"]
open_scaled_disequilibrium = open_row["scaled_disequilibrium"]
signed_scaled_disequilibrium = open_row["signed_scaled_disequilibrium"]
open_px_a = open_row[f"{colname_a}"]
open_px_b = open_row[f"{colname_b}"]
@ -214,6 +215,7 @@ class RollingFit(PairsTradingFitMethod):
open_px_a,
open_disequilibrium,
open_scaled_disequilibrium,
signed_scaled_disequilibrium,
pair,
),
(
@ -224,6 +226,7 @@ class RollingFit(PairsTradingFitMethod):
open_px_b,
open_disequilibrium,
open_scaled_disequilibrium,
signed_scaled_disequilibrium,
pair,
),
]
@ -241,6 +244,7 @@ class RollingFit(PairsTradingFitMethod):
"price": "float64",
"disequilibrium": "float64",
"scaled_disequilibrium": "float64",
"signed_scaled_disequilibrium": "float64",
"pair": "object",
}
)
@ -254,6 +258,7 @@ class RollingFit(PairsTradingFitMethod):
close_tstamp = close_row["tstamp"]
close_disequilibrium = close_row["disequilibrium"]
close_scaled_disequilibrium = close_row["scaled_disequilibrium"]
signed_scaled_disequilibrium = close_row["signed_scaled_disequilibrium"]
close_px_a = close_row[f"{colname_a}"]
close_px_b = close_row[f"{colname_b}"]
@ -269,6 +274,7 @@ class RollingFit(PairsTradingFitMethod):
close_px_a,
close_disequilibrium,
close_scaled_disequilibrium,
signed_scaled_disequilibrium,
pair,
),
(
@ -279,6 +285,7 @@ class RollingFit(PairsTradingFitMethod):
close_px_b,
close_disequilibrium,
close_scaled_disequilibrium,
signed_scaled_disequilibrium,
pair,
),
]
@ -297,6 +304,7 @@ class RollingFit(PairsTradingFitMethod):
"price": "float64",
"disequilibrium": "float64",
"scaled_disequilibrium": "float64",
"signed_scaled_disequilibrium": "float64",
"pair": "object",
}
)

View File

@ -75,9 +75,12 @@ class VECMTradingPair(TradingPair):
predicted_df[self.colnames()] @ self.vecm_fit_.beta
)
predicted_df["signed_scaled_disequilibrium"] = (
predicted_df["disequilibrium"] - self.training_mu_
) / self.training_std_
predicted_df["scaled_disequilibrium"] = (
abs(predicted_df["disequilibrium"] - self.training_mu_)
/ self.training_std_
abs(predicted_df["signed_scaled_disequilibrium"])
)
predicted_df = predicted_df.reset_index(drop=True)

View File

@ -45,6 +45,7 @@ class ZScoreTradingPair(TradingPair):
predicted_df = self.testing_df_
predicted_df["disequilibrium"] = self.zscore_df_
predicted_df["signed_scaled_disequilibrium"] = self.zscore_df_
predicted_df["scaled_disequilibrium"] = abs(self.zscore_df_)
predicted_df = predicted_df.reset_index(drop=True)

File diff suppressed because one or more lines are too long