import pandas as pd
import json
import glob
import os
from datetime import datetime

def main():
    print("="*64)
    print("🔍 LIVE TRADE ANALYZER (V50 Data-Scientist Edition)")
    
    csv_files = glob.glob("Tradeanalyse/trade_history_neu*.csv")
    if not csv_files:
        print("Keine lokalen CSV-Dateien im Repository gefunden.")
    else:
        latest_csv = max(csv_files, key=os.path.getmtime)
        print(f"📊 Analysiere Datei: {latest_csv}")
        try:
            df = pd.read_csv(latest_csv)
            closes = df[df['dir'].str.contains('Close')]
            total_trades = len(closes)
            wins = closes[closes['closedPnl'] > 0]
            losses = closes[closes['closedPnl'] <= 0]
            
            win_rate = (len(wins) / total_trades * 100) if total_trades > 0 else 0
            net_pnl = closes['closedPnl'].sum()
            gross_profit = wins['closedPnl'].sum()
            gross_loss = abs(losses['closedPnl'].sum())
            profit_factor = gross_profit / gross_loss if gross_loss > 0 else float('inf')
            
            print(f"Ausgewertete Trades: {total_trades}")
            print(f"Win-Rate: {win_rate:.2f}% ({len(wins)} Wins / {len(losses)} Losses)")
            print(f"Netto PnL: ${net_pnl:.4f}")
            print(f"Profit Factor: {profit_factor:.2f}")
            
            print("\n🪙 PERFORMANCE PRO COIN")
            coin_stats = closes.groupby('coin')['closedPnl'].agg(['count', lambda x: (x>0).mean()*100, 'sum']).reset_index()
            coin_stats.columns = ['Coin', 'Trades', 'Win-Rate', 'Net PnL']
            coin_stats = coin_stats.sort_values(by='Net PnL', ascending=False)
            print(coin_stats.to_string(index=False))
            
        except Exception as e:
            print(f"Fehler bei der Analyse der CSV: {e}")

    print("="*64)
    print("📄 AKTUALISIERTE strategy_config.json (V50 BASELINE)")
    
    config = {
      "version": "1.4",
      "last_updated": datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%SZ"),
      "blacklist": ["FTT", "TAO", "CHILLGUY", "SUPER", "ZETA", "AVNT", "ARB", "SPX", "VVV", "TNSR", "SAGA", "BLUR"],
      "whitelist": ["BCH", "ORDI", "ENA", "ALGO", "GRIFFAIN", "COMP", "ETH", "MON"],
      "parameters": {
        "time_stop_minutes": 180,
        "break_even_trigger_percent": 15,
        "min_win_rate_threshold": 30,
        "risk_reward_min": 2,
        "max_daily_trades": 10,
        "position_size_percent": 5
      },
      "filters": {
        "min_volume_24h": 15000000,
        "min_liquidity": 500000,
        "exclude_stablecoins": True
      }
    }
    print(json.dumps(config, indent=2))
    print("="*64)

if __name__ == "__main__":
    main()
