File size: 1,195 Bytes
d53dc44
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import pandas as pd
import glob
import os

pnl_files = glob.glob('backtest_results/*_daily_pnl.csv')
trades_files = glob.glob('backtest_results/*_trades.csv')

latest_pnl = max(pnl_files, key=os.path.getctime)
latest_trades = max(trades_files, key=os.path.getctime)

df_pnl = pd.read_csv(latest_pnl)
df_trades = pd.read_csv(latest_trades)

win_rate = (df_trades['pnl'] > 0).mean() * 100
total_trades = len(df_trades)

max_profit_per_day = df_pnl['pnl'].max()
max_loss_per_day = df_pnl['pnl'].min()
avg_pnl_per_day = df_pnl['pnl'].mean()
win_days = (df_pnl['pnl'] > 0).sum()
loss_days = (df_pnl['pnl'] < 0).sum()

max_win_trade = df_trades['pnl'].max()
max_loss_trade = df_trades['pnl'].min()
avg_win_trade = df_trades[df_trades['pnl'] > 0]['pnl'].mean()
avg_loss_trade = df_trades[df_trades['pnl'] < 0]['pnl'].mean()

print(f"Total Trades: {total_trades}")
print(f"Win Rate: {win_rate:.2f}%")
print(f"Max Profit in a Day: ")
print(f"Max Loss in a Day: ")
print(f"Avg P&L per Day: ")
print(f"Winning Days: {win_days}")
print(f"Losing Days: {loss_days}")
print(f"Max Profit on a single trade: ")
print(f"Max Loss on a single trade: ")
print(f"Avg Win per Trade: ")
print(f"Avg Loss per Trade: ")