mirror of
https://github.com/aljazceru/hummingbot-dashboard.git
synced 2026-01-20 21:54:23 +01:00
(feat) rename methods
This commit is contained in:
@@ -15,10 +15,10 @@ class DirectionalStrategyBase:
|
||||
def get_raw_data(self):
|
||||
raise NotImplemented
|
||||
|
||||
def add_indicators(self, df):
|
||||
def preprocessing(self, df):
|
||||
raise NotImplemented
|
||||
|
||||
def add_signals(self, df):
|
||||
def predict(self, df):
|
||||
raise NotImplemented
|
||||
|
||||
@staticmethod
|
||||
@@ -57,9 +57,10 @@ class DirectionalStrategyBase:
|
||||
std_span, order_amount=100, leverage=20, initial_portfolio=1000,
|
||||
taker_fee=0.0003, maker_fee=0.00012,
|
||||
start: Optional[str] = None, end: Optional[str] = None):
|
||||
# TODO: Evaluate to move the get data outside the backtesting to optimize the performance.
|
||||
df = self.get_data(start=start, end=end)
|
||||
df = self.add_indicators(df)
|
||||
df = self.add_signals(df)
|
||||
df = self.preprocessing(df)
|
||||
df = self.predict(df)
|
||||
df = triple_barrier_method(
|
||||
df=df,
|
||||
std_span=std_span,
|
||||
|
||||
@@ -29,11 +29,11 @@ class Bollinger(DirectionalStrategyBase):
|
||||
)
|
||||
return df
|
||||
|
||||
def add_indicators(self, df):
|
||||
def preprocessing(self, df):
|
||||
df.ta.bbands(length=self.bb_length, std=self.bb_std, append=True)
|
||||
return df
|
||||
|
||||
def add_signals(self, df):
|
||||
def predict(self, df):
|
||||
df["side"] = 0
|
||||
long_condition = df[f"BBP_{self.bb_length}_{self.bb_std}"] < self.bb_long_threshold
|
||||
short_condition = df[f"BBP_{self.bb_length}_{self.bb_std}"] > self.bb_short_threshold
|
||||
|
||||
@@ -35,12 +35,12 @@ class MACDBB(DirectionalStrategyBase):
|
||||
)
|
||||
return df
|
||||
|
||||
def add_indicators(self, df):
|
||||
def preprocessing(self, df):
|
||||
df.ta.bbands(length=self.bb_length, std=self.bb_std, append=True)
|
||||
df.ta.macd(fast=self.fast_macd, slow=self.slow_macd, signal=self.signal_macd, append=True)
|
||||
return df
|
||||
|
||||
def add_signals(self, df):
|
||||
def predict(self, df):
|
||||
bbp = df[f"BBP_{self.bb_length}_{self.bb_std}"]
|
||||
macdh = df[f"MACDh_{self.fast_macd}_{self.slow_macd}_{self.signal_macd}"]
|
||||
macd = df[f"MACD_{self.fast_macd}_{self.slow_macd}_{self.signal_macd}"]
|
||||
|
||||
@@ -34,7 +34,7 @@ class StatArb(DirectionalStrategyBase):
|
||||
df = pd.merge(df, df_target, on="timestamp", how='inner', suffixes=('', '_target'))
|
||||
return df
|
||||
|
||||
def add_indicators(self, df):
|
||||
def preprocessing(self, df):
|
||||
df["pct_change_original"] = df["close"].pct_change()
|
||||
df["pct_change_target"] = df["close_target"].pct_change()
|
||||
df["spread"] = df["pct_change_target"] - df["pct_change_original"]
|
||||
@@ -42,7 +42,7 @@ class StatArb(DirectionalStrategyBase):
|
||||
df["z_score"] = ta.zscore(df["cum_spread"], length=self.periods)
|
||||
return df
|
||||
|
||||
def add_signals(self, df):
|
||||
def predict(self, df):
|
||||
df["side"] = 0
|
||||
short_condition = df["z_score"] < - self.deviation_threshold
|
||||
long_condition = df["z_score"] > self.deviation_threshold
|
||||
|
||||
Reference in New Issue
Block a user