привет сделай чтобы он делал прогноз с текущего дня на следущий и без графика 
# Импорт необходимых библиотек
import yfinance as yf
import numpy as np
import pandas as pd
from scipy.optimize import differential_evolution
import matplotlib.pyplot as plt

# Чтобы графики отображались внутри блокнота Jupyter (если используете Jupyter Notebook)
# %matplotlib inline 

# Загрузка данных EUR/USD
data = yf.download('EURUSD=X', start='2010-01-01', end='2024-10-04')
close_prices = data['Close']

# Проверка на наличие пропущенных значений
close_prices = close_prices.dropna()

# Преобразование цен закрытия в numpy массив
prices = close_prices.values

# Нормализация данных
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
prices_scaled = scaler.fit_transform(prices.reshape(-1,1)).flatten()

# Разделение на обучающую и тестовую выборки
split = int(len(prices_scaled) * 0.8)
train_data = prices_scaled[:split]
test_data = prices_scaled[split:]

# Функция для создания обучающих данных
def create_dataset(data, n_steps):
    X, y = [], []
    for i in range(len(data)-n_steps):
        X.append(data[i:i+n_steps])
        y.append(data[i+n_steps])
    return np.array(X), np.array(y)

# Целевая функция для оптимизации
def objective(n_steps):
    n_steps = int(n_steps[0])
    # Ограничиваем n_steps от 1 до 20
    if n_steps < 1 or n_steps > 20:
        return np.inf
    X_train, y_train = create_dataset(train_data, n_steps)
    # Проверяем, есть ли достаточно данных для обучения
    if len(X_train) == 0:
        return np.inf
    # Обучаем простую линейную регрессию
    from sklearn.linear_model import LinearRegression
    model = LinearRegression()
    model.fit(X_train, y_train)
    # Проверяем на тестовых данных
    X_test, y_test = create_dataset(test_data, n_steps)
    if len(X_test) == 0:
        return np.inf
    predictions = model.predict(X_test)
    # Вычисляем ошибку
    from sklearn.metrics import mean_squared_error
    mse = mean_squared_error(y_test, predictions)
    return mse

# Запуск оптимизации
bounds = [(1, 20)]  # Границы для n_steps

result = differential_evolution(objective, bounds, strategy='best1bin', maxiter=10, popsize=15, tol=0.01, seed=42)

optimal_n_steps = int(result.x[0])

# Создание обучающего и тестового набора с оптимальным n_steps
X_train, y_train = create_dataset(train_data, optimal_n_steps)
X_test, y_test = create_dataset(test_data, optimal_n_steps)

# Обучение модели
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)

# Прогнозирование
predictions = model.predict(X_test)

# Обратное преобразование масштабирования
predictions_rescaled = scaler.inverse_transform(predictions.reshape(-1,1)).flatten()
y_test_rescaled = scaler.inverse_transform(y_test.reshape(-1,1)).flatten()

# Вычисление ошибки
from sklearn.metrics import mean_absolute_error, mean_squared_error
mae = mean_absolute_error(y_test_rescaled, predictions_rescaled)
mse = mean_squared_error(y_test_rescaled, predictions_rescaled)
print(f"MAE: {mae}")
print(f"MSE: {mse}")

# Визуализация результатов
plt.figure(figsize=(14,7))
plt.plot(y_test_rescaled, label='Истинные значения', color='blue')
plt.plot(predictions_rescaled, label='Прогнозы', color='red')
plt.legend()
plt.title('Прогнозирование EUR/USD с использованием роевого интеллекта')
plt.xlabel('Время')
plt.ylabel('Цена EUR/USD')
plt.show()