Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2802

 
СанСаныч Фоменко #:

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

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

Делайте между участком обучения и тестом промежуток. Хотя бы пару дней. Последние бары имеют такое же будущее, как и первый неизвестный.
Участок Embargo вроде бы называют.
Однажды обучение сократил до 1 дня и тест был равен 1 дню. А прогноз для разметки на несколько дней вперед смотрел. Т.е. он видел и то, что будет для новых баров. Оч. хорошие результаты были.
С увеличением обучающего промежутка до недели тоже был результат выше 50/50. Ну и чем больше - тем хуже, к строкам с подглядыванием добавлялись строки без подглядывания и они все портили)))


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

 
mytarmailS #:

Ух ты, поленая штука

Владимир, а не знаете, есть ли пакет для бектеста который ведет журнал сделок и все такое (ну чтобы не примитивщина), кроме медленного "quantstrat" и "SIT"

не знаю. Не встречал

 
mytarmailS #:
Ну не знаю, может ты сепаратор поменял например или ещё что то..
И какую ошибку выдаёт скрипт я так и не понял
И почему ты установил пакеты на более новый Р, а используешь старый Р

Нет, не менял.

Ну, я логи приложил в том сообщении - осмыслить ошибку я так же не смог.

Потому что то так работает R, то для скрипта старая версия нужна, то поновей - очень не удобно - нет нормальной обратной совместимости даже.

mytarmailS #:

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

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

 
Vladimir Perervenko #:

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

Скрипты расхристанные и море ненужных промежуточных результатов. внизу скрипт исправленный

Пояснения по порядку:

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

Пакет tidyft очень быстрый пакет манипуляции датафреймами. Используй его.

Спасибо!

Странно, откуда там NA может взятся - это же пропуски по идеи в данном случае?

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

Я не понял, а где взять этот пакет " tidyft " - его нет в списке, так понимаю, что с гитхаба надо качать, но что там качать не понял.

 
Aleksey Vyazmikin #:

Ну, я логи приложил в том сообщении - осмыслить ошибку я так же не смог.

Я вот сколько с Ркой работал, таких ошибок ниразу не видел, так что вопросы к тебе и что там понаустанавливал

Aleksey Vyazmikin #:

Потому что то так работает R, то для скрипта старая версия нужна, то поновей - очень не удобно - нет нормальной обратной совместимости даже.

Я вот сколько с Ркой работал, таких проблем ниразу не видел, так что вопросы к тебе и  что там понаустанавливал

Aleksey Vyazmikin #:

Спасибо. Но, где тут указать путь с файлами?

замени file.choose()  на путь , но по моему так удобней

Aleksey Vyazmikin #:

 тут не ясно, к тому же фишка его была в наличии цикла.

Я что то фишку с циклом не понимаю, тебе надо выкинуть коррелируемые признаки из сета или что? если да то скрипт это делает

Aleksey Vyazmikin #:

Я не понял, а где взять этот пакет " tidyft " - его нет в списке, так понимаю, что с гитхаба надо качать, но что там качать не понял.

Ой..мля...

....

...

ну прочти ты хоть первые 50 строк руководства по Рке, ну зачем так тупить? и валить все свои промахи на Рку, псевдонесовместимости итд итп... ну бесит же, сколько времени прошло, а ты елементарного не знаешь..

Какой список? где ты искал? искал ли вообще?

или

install.packages("tidyft")

Ну елементарные же вещи...

 
mytarmailS #:

Я вот сколько с Ркой работал, таких ошибок ниразу не видел, так что вопросы к тебе и что там понаустанавливал

Я вот сколько с Ркой работал, таких проблем ниразу не видел, так что вопросы к тебе и  что там понаустанавливал

замени file.choose()  на путь , но по моему так удобней

Я что то фишку с циклом не понимаю, тебе надо выкинуть коррелируемые признаки из сета или что? если да то скрипт это делает

А что другие пакеты могут влиять на пакеты, что указанные в скрипте?

Всё что я пробовал - то что публиковалось здесь.

Что не понятно с циклом - выкинуть надо с разным коэффициентом - от этого как бы число выкидывания зависит на прямую.

mytarmailS #:

Ой..мля...

....

...

ну прочти ты хоть первые 50 строк руководства по Рке, ну зачем так тупить? и валить все свои промахи на Рку, псевдонесовместимости итд итп... ну бесит же, сколько времени прошло, а ты елементарного не знаешь..

Какой список? гда ты искал? искал ли вообще?

или

Ну елементарные же выщи...

Очевидно, что я пробовал найти и поставить пакет - его нет в списке, а в логе

Warning in install.packages :
  unable to access index for repository https://cran.rstudio.com/src/contrib:
  cannot open URL 'https://cran.rstudio.com/src/contrib/PACKAGES'
Warning in install.packages :
  package ‘tidyft’ is not available (for R version 4.0.5)
Warning in install.packages :
  unable to access index for repository https://cran.rstudio.com/bin/windows/contrib/4.0:
  cannot open URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/PACKAGES'
> 

Как раз видимо надо опять на какую то версию менять - у меня и так их уже 4 установлено - жуть как не удобно.

 
В общем оказалось, что нужно поменять источник репозитария (или как там оно называется) - поставил Китай и пошла установка. Видимо санкции со стороны других стран...
 
Aleksey Vyazmikin #:

Что не понятно с циклом - выкинуть надо с разным коэффициентом - от этого как бы число выкидывания зависит на прямую.

там коефициент есть можно установить ..

на все остальные вопросы пусть кто то другой отвечает,  я  не знаю, может я чего то не понимаю....   скажу одно Рку пользую каждый день по многу часов, несколько лет, у меня 3.6.3 и за последний год ниразу НИРАЗУ !!!! я не переключался между версиями, ты запускаешь Рку 3 раза в год и  у тебя 4 версии, и тебе что то там не удобно, несовместимости еще что то... я хз что не так, но думаю проблемы не с Ркой...

 
Vladimir Perervenko #:

Для контроля я проверил на своем наборе с использованием этого скрипта. Результат:

А у меня опять ошибки какие то вылезли :(

R version 4.0.5 (2021-03-31) -- "Shake and Throw"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

[Workspace loaded from F:/FX/R/.RData]

Loading required package: Matrix
Error: package or namespace load failed for ‘Matrix’ in .getGeneric(f, where, package):
 reached elapsed time limit
> source('~/.active-rstudio-document', encoding = 'UTF-8', echo=TRUE)

> #=====================================================================
> install.packages(c("tidyft"), dependencies=TRUE)
Installing package into ‘C:/Users/S_V_A/Documents/R/win-library/4.0’
(as ‘lib’ is unspecified)
trying URL 'https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/windows/contrib/4.0/tidyft_0.4.5.zip'
Content type 'application/zip' length 304623 bytes (297 KB)
downloaded 297 KB

package ‘tidyft’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
        C:\Users\S_V_A\AppData\Local\Temp\RtmpYZ5ExE\downloaded_packages

> require(tidyft)
Загрузка требуемого пакета: tidyft
Error: package or namespace load failed for ‘tidyft’:
 .onLoad не удалось в loadNamespace() для 'fstcore', подробности:
  вызов: setnrofthreads(logical_cores)
  ошибка: function 'Rcpp_precious_remove' not provided by package 'Rcpp'

> #--get df1------------------------------------------------------------
> way <-         "D:\\FX\\MT5_CB\\MQL5\\Files\\Po_Vektoru_TP_0_SL_0\\EURUSD_0 ..." ... [TRUNCATED] 

> df1 = read.csv(paste0(way, "train.csv"), header = TRUE, sep = ";",dec = ".")

> #df1 = fread(paste0(way, "train1.csv"))
> #fst::write_fst(df1, "train1.fst")
> #-----archiv--------------------------------
> ft <- as_fst(df1) #
Error in as_fst(df1) : could not find function "as_fst"
 
mytarmailS #:

там коефициент есть можно установить ..

на все остальные вопросы пусть кто то другой отвечает,  я  не знаю, может я чего то не понимаю....   скажу одно Рку пользую каждый день по многу часов, несколько лет, у меня 3.6.3 и за последний год ниразу НИРАЗУ !!!! я не переключался между версиями, ты запускаешь Рку 3 раза в год и  у тебя 4 версии, и тебе что то там не удобно, несовместимости еще что то... я хз что не так, но думаю проблемы не с Ркой...

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

У меня версия 3.5 для рабочего скрипта, все остальные менял как раз под код здешних обитателей. Новые версии не работают со старым кодом (пакетами).