Реализация AI-прогнозирования цен криптовалют в мобильном приложении

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Реализация AI-прогнозирования цен криптовалют в мобильном приложении
Сложная
~2-4 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1054
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    874
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Реализация AI-прогнозирования цен криптовалют в мобильном приложении

Честное предупреждение: предсказание цен криптовалют — задача с высоким шумом. Академические работы показывают accuracy 54–60% на направление движения для LSTM моделей на BTC — это немного лучше случайного угадывания. Ценность системы не в точности предсказания, а в том, что она обрабатывает больше сигналов быстрее, чем человек вручную.

Данные: что берём за основу

OHLCV через CCXT

ccxt — Python библиотека с единым API для 100+ бирж. Стандарт для получения исторических данных:

import ccxt
import pandas as pd

exchange = ccxt.binance()
ohlcv = exchange.fetch_ohlcv(
    symbol="BTC/USDT",
    timeframe="1h",
    since=exchange.parse8601("2023-01-01T00:00:00Z"),
    limit=1000
)

df = pd.DataFrame(ohlcv, columns=["timestamp", "open", "high", "low", "close", "volume"])
df["timestamp"] = pd.to_datetime(df["timestamp"], unit="ms")

Binance отдаёт до 1000 свечей за запрос. Для полной истории — пагинация через since параметр.

On-chain данные

Для BTC и ETH on-chain метрики добавляют сигналы, которых нет в OHLCV:

  • Glassnode API: SOPR (Spent Output Profit Ratio), NVT, NUPL, Exchange Net Flow. Платный, но есть бесплатный тир с дневными данными
  • Etherscan API: объём транзакций, gas fees, активные адреса
  • CoinGecko / CoinMarketCap: market cap, dominance, total market volume
import requests

class GlassnodeCollector:
    BASE_URL = "https://api.glassnode.com/v1/metrics"

    def get_sopr(self, api_key: str, since: int, until: int) -> pd.DataFrame:
        response = requests.get(
            f"{self.BASE_URL}/indicators/sopr",
            params={
                "a": "BTC",
                "i": "24h",
                "s": since,
                "u": until,
                "api_key": api_key
            }
        )
        data = response.json()
        return pd.DataFrame(data).rename(columns={"t": "timestamp", "v": "sopr"})

SOPR > 1 на рынке в рост = держатели продают в прибыль. SOPR < 1 на падении = капитуляция. Это дополнительный контекст для ML-модели.

Технические индикаторы как фичи

Сырые OHLCV → технические индикаторы через pandas-ta или ta-lib:

import pandas_ta as ta

df.ta.rsi(length=14, append=True)       # RSI_14
df.ta.macd(append=True)                  # MACD_12_26_9, MACDh, MACDs
df.ta.bbands(length=20, append=True)     # BBL, BBM, BBU, BBB, BBP
df.ta.atr(length=14, append=True)        # ATRr_14
df.ta.obv(append=True)                   # OBV
df.ta.vwap(append=True)                  # VWAP_D

Важно: все индикаторы нормализуем. RSI уже в [0, 100]. MACD — нормализуем Z-score или min-max по скользящему окну. Сырые цены в модель не подаём — даём returns (процентное изменение) и нормализованные фичи.

Модели: сравнение подходов

LSTM для временных рядов

Стандартный выбор. Принимает последовательность из N свечей, предсказывает следующую:

import tensorflow as tf

def build_lstm_model(sequence_length: int, n_features: int) -> tf.keras.Model:
    inputs = tf.keras.Input(shape=(sequence_length, n_features))
    x = tf.keras.layers.LSTM(128, return_sequences=True, dropout=0.2)(inputs)
    x = tf.keras.layers.LSTM(64, dropout=0.2)(x)
    x = tf.keras.layers.Dense(32, activation="relu")(x)
    # Предсказываем направление (классификация) или return (регрессия)
    outputs = tf.keras.layers.Dense(3, activation="softmax")(x)  # up/down/sideways
    return tf.keras.Model(inputs, outputs)

Классификация направления (up/down/sideways) надёжнее регрессии точной цены. Метрика — accuracy и F1 на out-of-sample данных.

Temporal Fusion Transformer (TFT)

TFT от Google — state-of-the-art для финансовых временных рядов. Поддерживает несколько временных горизонтов, static и dynamic covariates, интерпретируемость через attention. Реализован в pytorch-forecasting. Тяжелее LSTM, но точнее при правильно подготовленных данных.

XGBoost как baseline

Не недооценивайте gradient boosting на правильных фичах. XGBoost без temporal context часто конкурирует с LSTM. Быстро обучается, легко конвертируется в TFLite. Отличный baseline для сравнения.

Модель Преимущества Недостатки
LSTM Учитывает временной контекст Медленное обучение, много данных
TFT Интерпретируемость, точность Сложная конфигурация
XGBoost Скорость, простота Нет temporal memory
Ensemble Компенсация слабостей Сложнее деплой

Деплой в мобильном приложении

Инференс — на сервере. Модель принимает 168 часовых свечей (7 дней), возвращает вероятности направления на 4/8/24 часа. REST endpoint с кешированием: прогноз пересчитывается раз в час.

На мобиле — только отображение результата:

struct PricePrediction: Codable {
    let symbol: String
    let horizon4h: PredictionOutcome
    let horizon8h: PredictionOutcome
    let horizon24h: PredictionOutcome
    let updatedAt: Date
}

struct PredictionOutcome: Codable {
    let direction: String     // "up", "down", "sideways"
    let probability: Double   // 0.0 - 1.0
    let confidenceInterval: ClosedRange<Double>  // ценовой диапазон
}

Доверительный интервал (quantile regression) показывает диапазон вместо точечного предсказания. «BTC через 24ч: 55 000–61 000 USDT с вероятностью 70%» — честнее, чем «57 432 USDT».

Мониторинг деградации модели

Криптовалютный рынок меняется: bull/bear режимы, новые активы, регуляторные события. Модель, обученная на бычьем рынке 2021 года, плохо работает в 2022 году.

Метрики мониторинга:

  • rolling accuracy за последние 30 дней
  • distribution shift входных фич (KL-дивергенция train vs recent data)
  • Sharpe ratio если используется в торговле

При degrade (accuracy упала на 5%+ от baseline) — автоматическое переобучение на свежих данных.

Дисклеймер

В приложении обязательно: «Прогнозы носят информационный характер. Прошлая точность не гарантирует будущей. Не является инвестиционной рекомендацией.»

Процесс работы

Сбор и очистка данных (OHLCV + on-chain). Feature engineering и normalization. Обучение и валидация нескольких моделей. Выбор лучшей, конвертация и деплой API. Мобильный UI: график с прогнозом, доверительный интервал. Настройка мониторинга и автопереобучения.

Ориентиры по срокам

LSTM-модель с базовым набором фич и мобильным дашбордом — 2–4 недели. Ансамбль с on-chain данными, multi-horizon прогнозом и мониторингом — 5–10 недель.