Машинное обучение для предсказаний движений цены ETHUSDT, с точностью 55.8%+ | Python, ML
Задача - написать машинное обучение для предсказаний колонки Target (движения цены эфириума вверх или вниз), с точностью 55.8%+ (точность, я имею ввиду accuracy_score от sklearn). В закрепе будет датасет (3 отдельных последовательных файла), 2.6 млн строк цены и объема торгов эфира на бирже Binance (open, high, low, close, volume) и так же там есть колонка Target, которую мы и пытаемся предсказать с точностью 55.8%+ (accuracy_score).
Информация по датасету: coin= ETHUSDT, timeframe= 1m, Target= +1.5%
------
Что вы можете:
1) Выбрать абсолютно любую модель или библиотеку для работы. Это может быть самописный алгоритм, нейронка, ИИ, ЛЛМ, дерево, что угодно, что сможет достичь упомянутой точности.
2) Выбрать любое количество строк train/test. Единсетнные 2 правила, касаемо train/test: 1) между train и test должно быть МИНИМУМ 500 строк. То-есть если мы обучаем на 0-100,000, то test будет самое раннее с 100,500 строчки. 2) сам test не может превышать 35,000 строк за 1 цикл. Это обязательно.
3) Создать абсолютно любые индикаторы и колонки параметров для вашей модели.
------
Что НЕЛЬЗЯ делать ни при каких обстоятельствах:
1) Ни в коем случае, ни при каких обстоятельствах НЕЛЬЗЯ перемешивать данные! Данные на train, test, val (если используете валидацию) всегда должны идти в хронологическом порядке. Поэтому специально данные не перемешиваем, в train_test_split функцию shuffle ставим на False, пожалуйста, не забывайте.
2) Вы в полном праве переобучать или доучивать модель, по своему рассмотрению. Единсетнное правило, касаемо переобучения/переобучения, что между train и test должно быть МИНИМУМ 500 строк. То-есть если мы обучаем на 0-100,000, то тест будем самое раннее с 100,500 строчки. Это обязательно.
3) Ни в коем случае, ни при каких обстоятельствах НЕЛЬЗЯ подавать колонку Target в качестве feature для алгоритма, даже как переменную в функции и даже с задержкой! У вас полностью развязаны руки, чтобы сделать хоть 1000 features (параметров) колонок, на основании технических индикаторов, например EMA, SuperTrend, Stochastic, RSI и так далее. Для создания дополнительных колонок у вас есть все необходимые данные - open, high, low, close, volume. Но вам полностью запрещено в какой-либо форме и в каком-либо виде интегрировать значения колонки Target в любую другую колонку и ее значения при создании features (параметров для модели).
------
Вы должны сохранить все accuracy_score каждого цикла и соблюсти 4 главные правила:
1) Минимальный accuracy_score их всех должен быть - 0.50
2) Максимальное количество accuracy_score меньше чем 0.53 их всех не должно превышать 20%
3) Усредненный (average) acucracy_score из всех должен быть минимум 0.558
4) Максимальное количество последовательных accuracy_score меньше чем 0.53 их всех не должно превышать 2. То-есть максимум может быть 2 accuracy_score подряд которые ниже чем 0.53.
------
**Если у вас возникли хоть какие-то вопросы касаемо данных правил, пожалуйста напишите мне, не молчите и не интерпретируйте по своему! Лучше я вам еще раз все объясню другими словами чтобы вопросов точно не было**
Это единственные 4 правила которые вы должны соблюсти, а в остальном вы полностью свободны в выборе: библиотеки, модели, гиперпараметров, индикаторов, их значений, количестве features и тд.