Untitled
unknown
python
2 years ago
1.8 kB
4
Indexable
import pandas as pd def add_pair_charts(df_ma_res, df_ma_trades, writer): cols = ['time', 'GAIN_C'] df_temp = df_ma_res.drop_duplicates(subset="pair") for _, row in df_temp.iterrows(): dft = df_ma_trades[(df_ma_trades.cross==row.cross)& (df_ma_trades.pair==row.pair)] dft[cols].to_excel(writer, sheet_name = row.pair, index = False, startrow = 0, startcol =11) def add_pair_sheets(df_ma_res, writer): for p in df_ma_res.pair.unique(): tdf = df_ma_res[df_ma_res.pair == p] tdf.to_excel(writer, sheet_name = p, index=False) def prepare_data(df_ma_res, df_ma_trades): df_ma_res.sort_values(by = ["pair", "total_gain"], ascending = [True, False], inplace = True) df_ma_trades["time"] = [x.replace(tzinfo = None) for x in df_ma_trades["time"]] def process_data(df_ma_res, df_ma_trades, writer): prepare_data(df_ma_res, df_ma_trades) add_pair_sheets(df_ma_res, writer) add_pair_charts(df_ma_res, df_ma_trades, writer) def create_excel(df_ma_res, df_ma_trades, granularity): filename = f"ma_sim_{granularity}.xlsx" writer = pd.ExcelWriter(filename, engine = "xlsxwriter") process_data( df_ma_res[df_ma_res.granularity==granularity].copy(), df_ma_trades[df_ma_trades.granularity==granularity].copy(), writer ) writer.save() if __name__ == "__main__": df_ma_res = pd.read_pickle("../data/ma_res.pkl") df_ma_trades = pd.read_pickle("../data/ma_trades.pkl") create_excel(df_ma_res, df_ma_trades, "H1") create_excel(df_ma_res, df_ma_trades, "H4")
Editor is loading...