Обсуждение статьи "Метамодели в машинном обучении и трейдинге: Оригинальный тайминг торговых приказов" - страница 11
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Там наверное имелось в виду, что признаки и метки строятся через функции, поэтому автоматически.
Вероятно.
При применении на новых данных уже обученная модель же используется, не надо ничего удалять.
А при инициализации начала обучения зачем удалять? Я не цепляюсь к словам, просто не пойму - сделали один раз разметку в начале, а потом опять делаем разметку сразу же.... не пойму этот момент.
Если хотите одинаково - сделайте min и max продолжительность сделки одинаковыми, min=max
Не, я просто хочу попробовать свою выборку, а для этого мне надо понять, что там нужно убрать.
Вероятно.
А при инициализации начала обучения зачем удалять? Я не цепляюсь к словам, просто не пойму - сделали один раз разметку в начале, а потом опять делаем разметку сразу же.... не пойму этот момент.
Не, я просто хочу попробовать свою выборку, а для этого мне надо понять, что там нужно убрать.
З.Ы. если есть интерес, могу выкатить другие варианты более «понятных» и простых реализаций. Потому что эта несколько сложная для понимания. Здесь много допущений, можно запутаться.
З.Ы. если есть интерес, могу выкатить другие варианты более «понятных» и простых реализаций. Потому что эта несколько сложная для понимания. Здесь много допущений, можно запутаться.
Мне интересны любые примеры кода с мало мальским описанием, потому что пока очень плохо понимаю код питона.
Мне интересны любые примеры кода с мало мальским описанием, потому что пока очень плохо понимаю код питона.
Питон очень простой. Буквально пару книг «Питон для сложных задач» - там рассматривается использование базовых пакетов типа numpy, pandas, sklearn. И Марк Лутц - Изучаем Питон, 1-й том. 2-й про классы, не сильно надо.
Спасибо за рекомендацию. Может питон и простой, но память у меня плохая стала - поэтому сложно учиться новому.
Такой вопрос, столбец "close" после создания выборки с двумя таргетами участвует где либо ещё, или его можно заполнить нулями?
В общем, у меня данные такого формата в файле csv
Соответственно, привожу их в вид, как описано в статье через такой код
# Загрузите данные из файлов Load_train_data = pd.read_csv('E:\\FX\\MT5_CB\\MQL5\\Files\\Catboost_Tester_M02_104_SMO\\Setup\\train.csv',sep=';') # Сохранили предикторы train_data = Load_train_data.loc[:, :'iVolumes_B0_S15_D1'] # Сохранили значения целевой train_labels = Load_train_data['Target_100'] # Преобразование столбца 'Time' в формат datetime Load_train_data['Time'] = pd.to_datetime(Load_train_data['Time'], format='%Y.%m.%d %H:%M:%S') # Преобразование обратно в строку с нужным форматом #Load_train_data['Time'] = Load_train_data['Time'].dt.strftime('%Y-%m-%d %H:%M:%S') # Сохранили значение столбца train_taime = Load_train_data['Time'] # Вывод результата print(train_taime) # Создали новый DataFrame объединением столбцов combined_data = pd.concat([train_taime, train_data, train_labels], axis=1) # Добавили новый столбец "close" после "train_taime" со значениями "1.1" combined_data.insert(combined_data.columns.get_loc('Time') + 1, 'close', 1.1) # Переименовали столбец "Target_100" в "labels" combined_data.rename(columns={'Target_100': 'labels'}, inplace=True) # Добавили столбец с данными из train_labels combined_data['meta_labels'] = train_labels pr = combined_data # Вывод результата print(combined_data)Принтует так
Далее, комментирую функции в Вашем годе
Получаю ошибку
Traceback (most recent call last): File "F:/FX/Python/meta_modeling_Viborka.py", line 386, in <module> res.append(brute_force(pr[pr.columns[1:]], bad_samples_fraction=0.5)) File "F:/FX/Python/meta_modeling_Viborka.py", line 128, in brute_force X = X[X.index >= START_DATE] File "C:\Program Files\Python38\lib\site-packages\pandas\core\ops\common.py", line 81, in new_method return method(self, other) File "C:\Program Files\Python38\lib\site-packages\pandas\core\arraylike.py", line 60, in __ge__ return self._cmp_method(other, operator.ge) File "C:\Program Files\Python38\lib\site-packages\pandas\core\indexes\range.py", line 964, in _cmp_method return super()._cmp_method(other, op) File "C:\Program Files\Python38\lib\site-packages\pandas\core\indexes\base.py", line 6783, in _cmp_method result = ops.comparison_op(self._values, other, op) File "C:\Program Files\Python38\lib\site-packages\pandas\core\ops\array_ops.py", line 296, in comparison_op res_values = _na_arithmetic_op(lvalues, rvalues, op, is_cmp=True) File "C:\Program Files\Python38\lib\site-packages\pandas\core\ops\array_ops.py", line 171, in _na_arithmetic_op result = func(left, right) File "C:\Program Files\Python38\lib\site-packages\pandas\core\computation\expressions.py", line 239, in evaluate return _evaluate(op, op_str, a, b) # type: ignore[misc] File "C:\Program Files\Python38\lib\site-packages\pandas\core\computation\expressions.py", line 70, in _evaluate_standard return op(a, b) TypeError: '>=' not supported between instances of 'int' and 'datetime.datetime' >>>Хочется потестировать, но не выходит :(
TypeError: '>=' not supported between instances of 'int' and 'datetime.datetime'
Первое, что заметил - у вас индексы датафрейма не те, должны быть дэйттайм, то есть колонка time должна быть индексной
Первое, что заметил - у вас индексы датафрейма не те, должны быть дэйттайм, то есть колонка time должна быть индексной
А как значение идекса (0,1,2) может сравниваться с календарной датой?