class AdaptiveAgent: def run(self, df): returns = df['Close'].pct_change().dropna() volatility = returns.std() mean_return = returns.mean() score = mean_return / volatility if volatility else 0.0 if score > 0.05: signal = "High Confidence" elif score < -0.05: signal = "Risky" else: signal = "Uncertain" return { "signal": signal, "score": round(score, 4) }