트레이딩의 머신러닝: 이론, 모델, 실전 및 알고리즘 트레이딩 - 페이지 401

 
도서관 :
수동으로 컴파일되지 않았으면 좋겠습니다. 사이클에서는 어떻습니까? 수동 - 1시간 이상 소요됩니다...


사이클에서, 예

N_INPUTS <- 10

outputfile <- "rnn_10.mq5"

cat(" double RNN(\n",paste(" double p", 1 :N_INPUTS, sep="", collapse = ",\n"),"){\n", sep="", file = outputfile)
cat("   double probability = \n", file = outputfile, append = TRUE )
i <- 0
while (i < 2 ^N_INPUTS){
  binary <- tail(rev(as.integer(intToBits(i))), N_INPUTS)
  cat("      ", file = outputfile, append = TRUE )
   for (j in 1 :N_INPUTS){
    cat("(", file = outputfile, append = TRUE )
     if (binary[j] == 0 ){
      cat(" 1.0 - ", file = outputfile, append = TRUE )
    }
    cat("p",j,") * ", sep="", file = outputfile, append = TRUE )
  }
  cat("x", i, sep="", file = outputfile, append = TRUE )
   if (i!=( 2 ^N_INPUTS- 1 )){
    cat(" +", file = outputfile, append = TRUE )
  } else {
    cat(";", file = outputfile, append = TRUE )
  }
  cat("\n", file = outputfile, append = TRUE)
  i <- i+ 1
}
cat("\n    probability=probability/ 100.0 ;\n", file = outputfile, append = TRUE )
cat("\n     return (probability);\n", file = outputfile, append = TRUE )
cat("}", file = outputfile, append = TRUE )
 
주제에서 약간 산만하고 모두 동일합니다. GPU에서 Java를 실행할 수 있습니까 ????
 
마이클 마르쿠카이테스 :
주제에서 약간 산만하고 모두 동일합니다. GPU에서 Java를 실행할 수 있습니까 ????

누가 GPU에서 mql5의 모든 것을 다시 작성할 수 있는지에 대해 더 넓은 질문을 하고 싶습니다. :)
 
막심 드미트리예프스키 :

누가 GPU에서 mql5의 모든 것을 다시 작성할 수 있는지에 대해 더 넓은 질문을 하고 싶습니다. :)

통신 과정에서 무언가를 놓치거나 실수를 할 수 있습니다. 그렇지 않으면 적어도 GPU에서 실행할 수 있으며 이미 일종의 보조 프로세서를 연결할 수 있습니다. 글쎄, 또는 인터넷 그리드에서 프로세서의 성능을 결합하십시오. 일반적으로 작업은 간단하지 않습니다. 코어 수를 20~30개까지 늘리고 모델을 만들어라....그냥....
 
마이클 마르쿠카이테스 :

통신 과정에서 무언가를 놓치거나 실수를 할 수 있습니다. 그렇지 않으면 적어도 GPU에서 실행할 수 있으며 이미 일종의 보조 프로세서를 연결할 수 있습니다. 글쎄, 또는 인터넷 그리드에서 프로세서의 성능을 결합하십시오. 일반적으로 작업은 간단하지 않습니다. 코어 수를 20~30개까지 늘리고 모델을 만들어라....그냥....


문제는 자동 재훈련, 손 잡기 감소, 두통 감소와 같은 더 많은 기회가 열리기 때문에 조만간 MT용 라이브러리를 계속 원할 것이라는 것입니다. 또는 적어도 dll로

Java에서 이를 위해 한 시간 동안 멀티 코어 서버를 임대하고 필요한 모든 작업을 수행할 수 있습니다. 스레드에 대한 할당은 이미 거기에 구현되어 있습니다. 그래서 그만한 가치가 있습니다. 추가 작업

개인적으로 다시 쓰기 시작하지 않아도 이 사업에 돈을 쏟을 것입니다(mql5 버전용)

 
막심 드미트리예프스키 :


문제는 자동 재훈련, 손 잡기 감소, 두통 감소와 같은 더 많은 기회가 열리기 때문에 조만간 MT용 라이브러리를 계속 원할 것이라는 것입니다. 또는 적어도 dll로

Java에서 이를 위해 한 시간 동안 멀티 코어 서버를 임대하고 필요한 모든 작업을 수행할 수 있습니다. 스레드에 대한 할당은 이미 거기에 구현되어 있습니다. 그래서 그만한 가치가 있습니다. 추가 작업


어떻게 든이 경우에 대한 임대 옵션을 고려했지만 어떻게 든 손이 실제로 닿지 않았지만 보게 될 것입니다 ....
 
막심 드미트리예프스키 :

레셰토프:

VS 두 클래스 의사 결정 포리스트 및 로지스틱 회귀:

글쎄, 여기 Reshetov의 승리는 건조하다

일종의 Reshetov 팬클럽은 스트레이트입니다 ... 그것은 말도 안됩니다, 신에 의해)) 당신은 또한 구매를 위해 1000 기능을, 포인트를 위해 마을을 가져갈 것입니다 ...

정말 깨끗한 물이 맞습니다. 이러한 이산화 단계를 위해서는 훈련 샘플이 3개월이 아니라 최소 5년, 하루에 100만 포인트가 누적되는 울트라 HPT에서도 3개월이면 충분하지 않습니다. 그리고 바퀴를 재발명할 필요가 없습니다. 적절한 기능 세트가 포함된 평범한 XGB는 준최적의 결과를 제공합니다.

 
알료샤 :

일종의 Reshetov 팬클럽은 스트레이트입니다 ... 그것은 말도 안됩니다, 신에 의해)) 당신은 또한 구매를 위해 1000 기능을, 포인트를 위해 마을을 가져갈 것입니다 ...

정말 깨끗한 물이 맞습니다. 이러한 이산화 단계를 위해서는 훈련 샘플이 3개월이 아니라 최소 5년, 하루에 100만 포인트가 누적되는 울트라 HPT에서도 3개월이면 충분하지 않습니다. 그리고 바퀴를 재발명할 필요가 없습니다. 적절한 기능 세트가 포함된 평범한 XGB는 준최적의 결과를 제공합니다.


아니요, 우리는 팬이 아닙니다. 우리는 최적을 찾고 있습니다.) HFT는 3개월이면 충분합니다. 평범한 XGB는 무엇입니까? 나이브 베이즈 만 알고 있습니다 :)

핏이 맞아도 다른 모델들은 비틀지 않았기 때문에 할 수 없습니다

 
박사 상인 :

다음과 같이 예측 변수의 중요성을 결정하는 것이 좋습니다.

 library (vtreat)

sourceTable <- read.table( "BuySell.csv" , sep= ";" , header = TRUE , stringsAsFactors = FALSE )

#Эта строка кода относится только к конкретно этому файлу.
этом csv первая колонка и первая строка специально заполнены для конкретной модели, и тут не нужны. Удалить.
#для обычных csv файлов такую команду выполнять не нужно.
sourceTable <- sourceTable[- 1 ,- 1 ]

#число колонок
sourceTable_ncol <- ncol(sourceTable)

#Оценка для классификации, только для двух классов.
#Outcometarget должен быть равен значению одного из классов.
#На выбор или эта функция designTreatmentsC, или designTreatmentsN, или designTreatmentsZ (ниже, закоменчены)
#Взаимная корреляция предкиторов учитывается только в designTreatmentsC, и у повторяющихся или похожих предикторов оценка будет понижаться
set.seed( 0 )
treats <- designTreatmentsC(dframe = sourceTable,
                            varlist = colnames(sourceTable)[-sourceTable_ncol],
                            outcomename = colnames(sourceTable)[sourceTable_ncol],
                            outcometarget = 1 ,
                            verbose = FALSE
)

# #оценка для регрессии или если больше двух классов
# sourceTable[,sourceTable_ncol] <- as.numeric(sourceTable[,sourceTable_ncol])
# set.seed( 0 )
# treats <- designTreatmentsN(dframe = sourceTable,
#                             varlist = colnames(sourceTable)[-sourceTable_ncol],
#                             outcomename = colnames(sourceTable)[sourceTable_ncol],
#                             verbose = FALSE
# )

# #Оценка предикторов без учёта цели.
# set.seed( 0 )
# treats <- designTreatmentsZ(dframe = sourceTable,
#                             varlist = colnames(sourceTable)[-sourceTable_ncol],
#                             verbose = FALSE
# )
# 




#табличка только с названием колонки и её оценкой важности
resultTable <- treats$scoreFrame[,c( "varName" , "sig" )]

#сортировка
resultTable <- resultTable[order(resultTable$sig),]

#согласно общему правилу, оценка предиктора (sig) должна быть меньше 1 /<общее число предикторов>
#чем оценка меньше, тем лучше
resultTable$testPassed <- resultTable$sig < 1 /(sourceTable_ncol- 1 )

#для создания модели и прогноза лучше использовать только те предкторы у которых testPassed == TRUE
resultTable

내가 알기로는 그들 사이의 상관관계가 높은 예측변수는 제거됩니다.
나는 조금 다르게 합니다. 전체 상관 행렬을 계산한 다음 첫 번째 것부터 시작하여 상관 관계를 확인합니다. 0.9(조정 가능한 매개변수)보다 높으면 필터링합니다. 방법은 MO 기사에 설명되어 있습니다.

많은 예측 변수를 제거한 것 같습니다 ... 분명히 귀하의 기능이 0.5 수준에서 필터링되고 있습니다.


 
막심 드미트리예프스키 :


아니요, 우리는 팬이 아닙니다. 우리는 최적을 찾고 있습니다.) HFT는 3개월이면 충분합니다. 평범한 XGB는 무엇입니까? 나이브 베이즈 만 알고 있습니다 :)

핏이 맞아도 다른 모델들은 비틀지 않았기 때문에 할 수 없습니다

XGB - https://en.wikipedia.org/wiki/Xgboost - 기계 학습 열핵 무기. "Banal"이 가장 인기가 있습니다.

hft의 경우 3개월은 전체 시뮬레이션 주기에 충분하지 않습니다. 모델은 다른 시장, 모드 변경, 플래시 지붕 및 다른 백조에서 테스트해야 하기 때문에 합성 응력 테스트는 실제 시장에서 이를 수행할 수 없습니다. 최종 모델은 대부분 지난 주 데이터만 사용하지만 구성하려면 모든 곳에서 문제가 발생하지 않도록 1~3년 동안 샘플을 실행해야 합니다. 3개월 분량의 데이터로 학습할 수 있고 데이터 과학자가 자신의 내용을 알면 일반 버기 모어를 얻을 수 있지만 어느 날, 아마도 3개월 후, 어쩌면 반년 후에 모든 것이 갑자기 고장날 수 있습니다. " 이성, 더 정확하게는 모델이 시장의 그러한 메타 상태와 충돌하지 않고 관련성이 없어졌기 때문입니다.