Прогнозування цін криптовалют за допомогою нейронних мереж
Використані бібліотеки:
● aiohttp: для збору історичних даних з Binance API
● PyTorch та PyTorch Lightning: для побудови та тренування моделі
● pandas, numpy: для роботи з часовими рядами, підготовки та аналізування даних
● seaborn, matplotlib: для візуалізації даних
● DeepSpeed: для оптимізації навчання на великих об'ємах даних
Основні завдання:
● Збір та нормалізація даних, підготовка часових рядів для криптовалют
● Побудова та тренування оптимізованої моделі DeepAR
● Передбачення даних за допомогою створеної моделі
● Візуалізація результатів для оцінки якості моделі
Процес реалізації:
1. Підготовка даних:
Функція get_klines_for_train отримує історичні дані про зміну цін з інтервалом у часі, а також обчислює технічні індикатори, такі як RSI, EMA та інші. Після цього дані зберігаються у CSV-файл для подальшого використання. Для навчання моделі було обрано валютну пару JUP/USDT з інтервалом 1 година, а для тестування — пари BTC/USDT, SOL/USDT та XRP/USDT. Хоча кількість даних була обмежена, цього вистачило для ефективного навчання.
У головному модулі дані завантажуються з CSV-файлу, а набір даних нормалізується за допомогою спеціально реалізованого методу MinMax.
2. Створення та тренування моделі DeepAR:
Модель базується на кастомізованій версії DeepAREnhanced, яка є оптимізованим варіантом класичної DeepAR. Для підвищення точності на великих часових рядах введена спеціальна версія ScaledNormalLoss, яка покращує функцію втрат. Тренування проходило із використанням DeepSpeed для прискорення процесу та EarlyStopping, щоб уникнути перенавчання.
3. Прогнозування та візуалізація:
Після тренування модель використовувалась для прогнозування цін на тестовому наборі даних. Результати прогнозування порівнювались із реальними значеннями за допомогою функції plot_comparison(), що візуально демонструє точність моделі та її ефективність у передбаченні майбутніх трендів.
Мітки:
#python #pytorch #binance #binance.com #datascience #cryptocurrency #криптовалюты #ai
● aiohttp: для збору історичних даних з Binance API
● PyTorch та PyTorch Lightning: для побудови та тренування моделі
● pandas, numpy: для роботи з часовими рядами, підготовки та аналізування даних
● seaborn, matplotlib: для візуалізації даних
● DeepSpeed: для оптимізації навчання на великих об'ємах даних
Основні завдання:
● Збір та нормалізація даних, підготовка часових рядів для криптовалют
● Побудова та тренування оптимізованої моделі DeepAR
● Передбачення даних за допомогою створеної моделі
● Візуалізація результатів для оцінки якості моделі
Процес реалізації:
1. Підготовка даних:
Функція get_klines_for_train отримує історичні дані про зміну цін з інтервалом у часі, а також обчислює технічні індикатори, такі як RSI, EMA та інші. Після цього дані зберігаються у CSV-файл для подальшого використання. Для навчання моделі було обрано валютну пару JUP/USDT з інтервалом 1 година, а для тестування — пари BTC/USDT, SOL/USDT та XRP/USDT. Хоча кількість даних була обмежена, цього вистачило для ефективного навчання.
У головному модулі дані завантажуються з CSV-файлу, а набір даних нормалізується за допомогою спеціально реалізованого методу MinMax.
2. Створення та тренування моделі DeepAR:
Модель базується на кастомізованій версії DeepAREnhanced, яка є оптимізованим варіантом класичної DeepAR. Для підвищення точності на великих часових рядах введена спеціальна версія ScaledNormalLoss, яка покращує функцію втрат. Тренування проходило із використанням DeepSpeed для прискорення процесу та EarlyStopping, щоб уникнути перенавчання.
3. Прогнозування та візуалізація:
Після тренування модель використовувалась для прогнозування цін на тестовому наборі даних. Результати прогнозування порівнювались із реальними значеннями за допомогою функції plot_comparison(), що візуально демонструє точність моделі та її ефективність у передбаченні майбутніх трендів.
Мітки:
#python #pytorch #binance #binance.com #datascience #cryptocurrency #криптовалюты #ai