| 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) | |
| } | |