Download analyze.py from raghava4u/Trading-Bot-M20: direct link, hf CLI and curl.
- Browser
- Download file 1.2 kB
-
https://huggingface.co/raghava4u/Trading-Bot-M20/resolve/main/analyze.py
- Command line
-
hf download hf://raghava4u/Trading-Bot-M20/analyze.py
-
curl -L -o analyze.py https://huggingface.co/raghava4u/Trading-Bot-M20/resolve/main/analyze.py
1.2 kB
| 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: ") | |