Update btanalysis.py

This commit is contained in:
Guitheg 2021-12-06 17:37:25 +01:00
parent dc2091baf8
commit fa52373035

View File

@ -390,7 +390,7 @@ def calculate_max_drawdown(trades: pd.DataFrame, *, date_col: str = 'close_date'
low_val = max_drawdown_df.loc[idxmin, 'cumulative'] low_val = max_drawdown_df.loc[idxmin, 'cumulative']
return abs(min(max_drawdown_df['drawdown'])), high_date, low_date, high_val, low_val return abs(min(max_drawdown_df['drawdown'])), high_date, low_date, high_val, low_val
def calculate_mdd(data: pd.DataFrame, trades: pd.DataFrame, *, date_col: str = 'close_date', def calculate_mdd(data: dict, trades: pd.DataFrame, *, date_col: str = 'close_date',
value_col: str = 'profit_ratio' value_col: str = 'profit_ratio'
) -> float: ) -> float:
""" """
@ -410,16 +410,14 @@ def calculate_mdd(data: pd.DataFrame, trades: pd.DataFrame, *, date_col: str = '
mdd_df = pd.DataFrame() mdd_df = pd.DataFrame()
for pair, df in data.items(): for pair, df in data.items():
print(pair) open_close_date = trades.loc[trades['pair']==pair][["open_date","close_date"]]
print(df) mdd_df = df[df["date"].isin([open_close_date["open_date"],open_close_date["close_date"]])]
open_close_date = trades.loc[trades['pair']==pair] # list_index_open=df[df["date"].isin(open_close_date["open_date"])].index.values.tolist()
# print(open_close_date) # list_index_close=df[df["date"].isin(open_close_date["close_date"])].index.values.tolist()
# mdd_df = df[[df["date"].isin(open_close_date), open_close_date]] # a = pd.DataFrame({"open":list_index_open, "close":list_index_close})
# print(mdd_df) # print(mdd_df)
return mdd_df return mdd_df
def calculate_csum(trades: pd.DataFrame, starting_balance: float = 0) -> Tuple[float, float]: def calculate_csum(trades: pd.DataFrame, starting_balance: float = 0) -> Tuple[float, float]:
""" """
Calculate min/max cumsum of trades, to show if the wallet/stake amount ratio is sane Calculate min/max cumsum of trades, to show if the wallet/stake amount ratio is sane