Разговор с искусственным интеллектом (ИИ) о форексе. - страница 116

 
Valeriy Yastremskiy #:

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

1-й пункт, это сколько бы смогли заработать в идеальных условиях.

Задача в первую очередь узнать, верно ли угадывает нейросеть то, что ей дают. А уже потом сравнивать с ценой. Если направление индикатора угадывает больше 50-60%, или баланс идёт планомерно вверх - это уже зерно.

 
Ivan Butko #:
Lilita, расскажу, как я поступил:

Попросил чат написать на питоне следующий код:

x1 = (Текущее фактическое значение - предыдущее фактическое значение) 
x2 = (Предыдущий прогноз - пред-предыдущий прогноз)

Если (х1 и х2 > 0 или x1 и х2 < 0), то balance_1+= абсолютное значение( x1) и balance_2 += 1.

иначе  balance_1-= абсолютное значение( x1) и balance_2 -= 1.

Вывести на экран график значений  balance_1 и  balance_2

Таким образом, мы проверяем:

1. Угадала ли нейросеть направление движения и насколько
2. Угадала ли нейросеть направление.

И всё. Терминал не нужен. Баланс идёт вверх - это рабочая модель. Баланс барахтается туда-сюда (хаос) - это всё тлен (как у меня). 

Ну, спред нет смысла учитывать на H1, он будет съедать понемногу. Если же пихать цены (как я), то можно было отнимать от всех полученных значений ещё по 1.0 пункту.

ChatGPT также предложил какую-то стратегию с этими прогнозами. Как видите, данные RSI округлены до четные числа (2,4,6,8,10), поэтому 10 содержит только 5 значений, поэтому каждое изменение значения представляет собой относительно большое колебание индикатора. А стратегия строится на предположении, что если мы прогнозируем такое же значение индикатора, как оно уже есть, то цена будет немного колебаться и никаких планов по открытию сделки мы не планируем. Но если разница между прогнозом и текущим составляет два и более пункта, то пробуем.

 
Valeriy Yastremskiy #:
2 подхода. Первый это перенести модель в терминал. Второй это наладить обмен данными. В вашем случае на этом этапе лучше второй. Можно через файлы.

В данный момент обмен данными между терминалом МТ5 и PyCharm IDE происходит через файлы. Не знаю, будет ли оптимально, когда код будет портирован на МТ5.

 
Aleksey Nikolayev #:

Не совсем так. Задача классификации цвета свечи (в качестве признаков - фиксированное количество предыдущих свечей) - это классика, с которой МО начинается практически у всех. Со временем, многие отходят от такой постановки задачи. Причина в том, что обычно получается слишком малый выигрыш по сравнению с наивным прогнозом, с которым вам и предлагалось сравнить вашу модель. 

Скажу так, ChatGPT сразу предупредил, что "нехорошо" использовать отрицательные значения при решении регрессивной задачи с предсказанием. Поэтому я отказался от идеи использовать (-1, 0, 1)

ChatGPT:
Использование отрицательных значений при решении регрессионной задачи с предсказанием вполне допустимо, если они отражают реальные значения в изучаемой области. Например, если мы строим модель для предсказания доходов, то отрицательные значения могут указывать на убытки или задолженности.

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

Кроме того, при обработке отрицательных значений необходимо учитывать возможные ошибки и проблемы, которые могут возникнуть при работе с ними. Например, некоторые метрики качества могут быть несостоятельными при использовании отрицательных значений, поэтому необходимо выбирать подходящую метрику в зависимости от конкретной задачи.

Поскольку в тот момент у меня вообще не было понимания, что такое метрика, я легко отмела идею использования -1 в качестве предсказания.

 
Aleksey Nikolayev #:

Причина в том, что обычно получается слишком малый выигрыш по сравнению с наивным прогнозом, с которым вам и предлагалось сравнить вашу модель. 

чем этот код отличается от кода наивного предсказания?

ChatGPT:
Этот код отличается от наивного прогнозирования тем, что он использует нейронную сеть для выполнения прогнозирования временных рядов. В частности, он использует последовательную модель от Keras, которая состоит из ряда слоев, включая сверточные слои, слои LSTM и плотные слои. Эти слои используются для извлечения объектов из входных данных временных рядов и для прогнозирования. Кроме того, этот код включает различные функции потерь, метрики и обратные вызовы, которые используются для обучения и оптимизации модели. Модель обучается с помощью метода fit(), который принимает входные и целевые данные, количество эпох для обучения и различные другие параметры, а также возвращает объект истории, который можно использовать для анализа процесса обучения. В целом, этот код намного сложнее, чем простое наивное предсказание, и, вероятно, обеспечит более точные прогнозы.

 
Lilita Bogachkova #:

чем этот код отличается от кода наивного предсказания?

ChatGPT:
Этот код отличается от наивного прогнозирования тем, что он использует нейронную сеть для выполнения прогнозирования временных рядов. В частности, он использует последовательную модель от Keras, которая состоит из ряда слоев, включая сверточные слои, слои LSTM и плотные слои. Эти слои используются для извлечения объектов из входных данных временных рядов и для прогнозирования. Кроме того, этот код включает различные функции потерь, метрики и обратные вызовы, которые используются для обучения и оптимизации модели. Модель обучается с помощью метода fit(), который принимает входные и целевые данные, количество эпох для обучения и различные другие параметры, а также возвращает объект истории, который можно использовать для анализа процесса обучения. В целом, этот код намного сложнее, чем простое наивное предсказание, и, вероятно, обеспечит более точные прогнозы.

Немного не так спросили про наивпрогноз. Это когда прогноз равен последнему значению. 
Маловероятно что первый опыт даст полезную модель. Для отработки действий построения нс и мо самое то. 
Правильней делать связь с терминалом счас. Переносить модель это пока не тот вопрос. Это зависит от критичности времени обработки. Если в мкл быстрей и это критично, то надо будет переносить.
 
Valeriy Yastremskiy #:
Немного не так спросили про наивпрогноз. Это когда прогноз равен последнему значению. 
Маловероятно что первый опыт даст полезную модель. Для отработки действий построения нс и мо самое то. 
Правильней делать связь с терминалом счас. Переносить модель это пока не тот вопрос. Это зависит от критичности времени обработки. Если в мкл быстрей и это критично, то надо будет переносить.

Я честно говорю, что ничего не знала о наивном прогнозировании, но мне все равно казалось непонятным, как ChatGPT мне месяц пишет про нейросеть, а тут говорят, что его прогнозы - это наивное прогнозирование. В любом случае ChatGPT не считает свой код соответствующим коду, который можно приравнять к коду, соответствующему наивному предсказанию. 

Не могу сказать, хороша модель или плоха, поэтому сравниваю предоставленные прогнозы с реальными данными. В любом случае легче двигаться вперед, когда дает советы, а также критикует по теме.

 
Lilita Bogachkova #:

чем этот код отличается от кода наивного предсказания?

Речь не о сравнении кода, а о том насколько уменьшается ошибка прогноза) Причём, сравнение должно быть на ООС.

 
Aleksey Nikolayev #:

Речь не о сравнении кода, а о том насколько уменьшается ошибка прогноза) Причём, сравнение должно быть на ООС.

Сравнение на объектно-ориентированных (ООС) данных является важным шагом в оценке точности любого метода прогнозирования. ООС данные представляют собой набор объектов с известными свойствами, которые используются для проверки точности прогнозирования.

Сравнение на ООС данных позволяет оценить, насколько хорошо метод прогнозирования работает на реальных данных, которые не использовались при создании модели. Это помогает избежать переобучения модели, когда она слишком точно подстраивается под обучающие данные, но не может обобщаться на новые данные.

Также важно учитывать, что выборка ООС данных должна быть репрезентативной для общей популяции, чтобы оценка точности модели была релевантной и имела высокую предсказательную способность.

Правильно ли я понимаю, что правильно то, что я тестирую обученную модель на данных различных финансовых инструментов, которые ранее не использовались в обучении модели? И для обучения, и для тестирования используются показания индикатора RSI на таймфрейме H1.

 
Lilita Bogachkova #:

Я честно говорю, что ничего не знала о наивном прогнозировании, но мне все равно казалось непонятным, как ChatGPT мне месяц пишет про нейросеть, а тут говорят, что его прогнозы - это наивное прогнозирование. В любом случае ChatGPT не считает свой код соответствующим коду, который можно приравнять к коду, соответствующему наивному предсказанию. 

Не могу сказать, хороша модель или плоха, поэтому сравниваю предоставленные прогнозы с реальными данными. В любом случае легче двигаться вперед, когда дает советы, а также критикует по теме.

Предлагают сравнить. Чтобы сравнить надо сделать наивпрогноз, посчитатать ошибку и сравнить с ошибкой модели.
Оос это просто новые данные.
Но это все будет бесполезным без связи с терминалом)))
Причина обращения: