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

 
Yousufkhodja 술토노프 :

MA-shki는 시장의 법칙을 이해하지 못하는 당신을 속이기 위해 자연적으로 만들어졌습니다. 그리고 모두가 이 미끼에 빠졌습니다. 놀랍지만 사실입니다. 주위를 둘러보면 MA가 시장인지 무작위인지에 관계없이 모든 숫자 계열의 속성이라는 것을 이해하게 될 것입니다. 상인들을 깨우십시오. 속지 마십시오.

편집증이라고 부르겠습니다.))

Mashki는 아무 잘못도 없는 가장 일반적인 필터입니다. 어떤 매트 방법이든 적용 가능한 장소와 장소에 좋습니다.

 
막심 드미트리예프스키 :

기능 검색의 실제 질문은 무엇입니까?

우리의 경우에는 가격만 있습니다. 모든 가격 변환은 프로세스의 특정 "메모리" 형태(n 기간 동안 구축된 지표)의 선험적 패턴입니다. 저것들. 패턴을 모르는 경우 메모리 프로세스를 고려하기 위해 가격, 기간이 다른 증분만 입력할 수 있습니다.

가격 인상을 제외하고 무엇을 할 수 있습니까? 아니면 거기에서 무엇을 그렇게 세심하게 따고 있습니까? 거기에서 뭔가가 있습니까? :)

순서가 있는 자동 회귀 프로세스가 있으며 NS를 통해 동일한 작업을 수행할 수 있습니다. 제 생각에는 이것이 가르칠 수 있는 유일한 것입니다. 음, 즉 계량 경제학 모델을 가져 와서 확장하십시오.

IMHO .. 그래서 기능을 선택하려고하지도 않습니다 :) 신경이 질서 정연합니다 (그러나 실제로는 아닙니다)

즉, 가격에서 무엇을 찾을 수 있습니까? 추세, 계절성, 주기성, 노이즈

당신은 몇 페이지 전에 나선을 인식하는 법을 배우는 뉴런과 함께 예제를 게시했습니다. 표준 2 기능에는 3개의 은닉 뉴런 레이어가 필요합니다. 그리고 더 많은 기능을 추가하면 하나의 레이어로 충분합니다.
따라서 여기에서 뉴런에 100개의 과거 증분을 부여하고 12개의 숨겨진 레이어에서 모두 처리하거나 90년대의 단일 레이어 그리드가 처리할 수 있는 자체 제작 기능을 선택할 수 있습니다.

 

예측 변수를 선별하기 위한 또 다른 흥미로운 패키지를 찾았습니다. FSelector라고 합니다. 엔트로피 사용을 포함하여 예측 변수를 제거하기 위한 약 12가지 방법을 제공합니다.

예측자와 대상이 포함된 파일은 여기에서 가져왔습니다 - https://www.mql5.com/ru/forum/86386/page6#comment_2534058


library(FSelector)
library(corrplot)

load( "ALL_cod.RData" )
trainTable <- Rat_DF1

PREDICTOR_COLUMNS_SEQ <- 1 : 27
TARGET_COLUMN_ID     <- 28

targetFormula <- as .simple.formula(colnames(trainTable)[PREDICTOR_COLUMNS_SEQ], colnames(trainTable)[TARGET_COLUMN_ID])

impMatrix <- matrix(NA, nrow = 0 , ncol = length(PREDICTOR_COLUMNS_SEQ))

impMatrix <- rbind(impMatrix, colnames(trainTable)[PREDICTOR_COLUMNS_SEQ] % in % cfs(targetFormula, trainTable))
rownames(impMatrix)[nrow(impMatrix)] <- "cfs"
impMatrix <- rbind(impMatrix, chi.squared(targetFormula, trainTable)[[ 1 ]])
rownames(impMatrix)[nrow(impMatrix)] <- "chi.squared"
impMatrix <- rbind(impMatrix, colnames(trainTable)[PREDICTOR_COLUMNS_SEQ] % in % consistency(targetFormula, trainTable))
rownames(impMatrix)[nrow(impMatrix)] <- "consistency"
if ( class (trainTable[,TARGET_COLUMN_ID]) != "factor" ){
  impMatrix <- rbind(impMatrix, linear.correlation(targetFormula, trainTable)[[ 1 ]])
  rownames(impMatrix)[nrow(impMatrix)] <- "linear.correlation"
  impMatrix <- rbind(impMatrix, rank.correlation(targetFormula, trainTable)[[ 1 ]])
  rownames(impMatrix)[nrow(impMatrix)] <- "rank.correlation"
}
impMatrix <- rbind(impMatrix, information.gain(targetFormula, trainTable)[[ 1 ]])
rownames(impMatrix)[nrow(impMatrix)] <- "information.gain"
impMatrix <- rbind(impMatrix, gain.ratio(targetFormula, trainTable)[[ 1 ]])
rownames(impMatrix)[nrow(impMatrix)] <- "gain.ratio"
impMatrix <- rbind(impMatrix, symmetrical.uncertainty(targetFormula, trainTable)[[ 1 ]])
rownames(impMatrix)[nrow(impMatrix)] <- "symmetrical.uncertainty"
impMatrix <- rbind(impMatrix, oneR(targetFormula, trainTable)[[ 1 ]])
rownames(impMatrix)[nrow(impMatrix)] <- "oneR"
impMatrix <- rbind(impMatrix, random.forest.importance(targetFormula, trainTable)[[ 1 ]])
rownames(impMatrix)[nrow(impMatrix)] <- "random.forest.importance"
impMatrix <- rbind(impMatrix, relief(targetFormula, trainTable)[[ 1 ]])
rownames(impMatrix)[nrow(impMatrix)] <- "relief"

impMatrix

for (i in 1 :nrow(impMatrix)){
   if (length(unique(impMatrix[i,]))== 1 ){
    impMatrix[i,] <- 0
  } else {
    impMatrix[i,] <- - 1 + (impMatrix[i,]-min(impMatrix[i,]))/(max(impMatrix[i,])-min(impMatrix[i,]))* 2
  }
}

while (nrow(impMatrix) < ncol(impMatrix)){
  impMatrix <- rbind(impMatrix, 0 )
}
while (ncol(impMatrix) < nrow(impMatrix)){
  impMatrix <- cbind(impMatrix, 0 )
}

impMatrix <- as .matrix(impMatrix)
colnames(impMatrix) <- colnames(trainTable)[PREDICTOR_COLUMNS_SEQ]

corrplot(impMatrix)

마지막으로 각 방법에 따른 예측변수의 추정치를 그래프로 보여주었어요~

파란색은 좋음, 빨간색은 나쁨(정확한 평가를 위해 결과가 [-1:1]로 조정되었습니다. 정확한 평가를 위해 함수 자체를 호출한 결과를 참조하십시오. cfs(targetFormula, trainTable), chi.squared(targetFormula, trainTable ), 등.)
X3, X4, X5, X19, X20은 거의 모든 방법으로 잘 평가되고 있음을 알 수 있습니다. 처음에는 해당 방법을 사용한 다음 더 추가/제거를 시도할 수 있습니다.

그러나 래틀 모델은 Rat_DF2에 대한 5개의 예측 변수로 테스트를 통과하지 못했고 다시 기적이 일어나지 않았습니다. 저것들. 나머지 예측 변수가 있더라도 모델 매개변수를 선택하고 교차 검증을 수행하고 예측 변수를 직접 추가/제거해야 합니다.

 
산산이치 포멘코 :

병합 결과에 대해 창을 실행하고 플롯을 제공할 수 있습니까?

  • 엔트로피 값
  • adf테스트 결과
  • ArchTest 결과

나는 올해 1월쯤에 eurusd m1을 사용했고 1일의 슬라이딩 윈도우를 사용했습니다.

논리적으로 엔트로피가 증가하면 거래를 중단하고 낮은 수준에서 계속 거래해야 합니다. 그리고 여기에서는 엔트로피가 낮기 때문에 플랫에서 거래하는 것이 더 쉽지만 어떤 이유로 추세는 이례적입니다.

(첨부된 코드의 오타 수정, 기존 코드를 이미 다운로드한 경우 다시 다운로드)

파일:
 
박사 상인 :

당신은 몇 페이지 전에 나선을 인식하는 법을 배우는 뉴런과 함께 예제를 게시했습니다. 표준 2 기능에는 3개의 은닉 뉴런 레이어가 필요합니다. 그리고 더 많은 기능을 추가하면 하나의 레이어로 충분합니다.
따라서 여기에서 뉴런에 100개의 과거 증분을 부여하고 12개의 숨겨진 레이어에서 모두 처리하거나 90년대의 단일 레이어 그리드가 처리할 수 있는 자체 제작 기능을 선택할 수 있습니다.

이것은 이해할 수 있습니다. 시간의 나선 만 변경되지 않습니다.. 시간의 나선이 정사각형 또는 타원 일 때 풀고있는 잘못된 문제의 종류를 추정합니다.

상태 전환이 무작위이기 때문에 교차 검증은 도움이 되지 않습니다.

 
박사 상인 :

논리적으로 엔트로피가 증가하면 거래를 중단하고 낮은 수준에서 계속 거래해야 합니다. 그리고 여기에서는 엔트로피가 낮기 때문에 플랫에서 거래하는 것이 더 쉽지만 어떤 이유로 추세는 이례적입니다.


그래서 서두르지 말라고 하는 것입니다.

엔트로피가 높으면 역추세 거래가 발생하는 정규 분포를 얻습니다.

낮은 엔트로피 - 파레토 분포, 추세, "메모리" - 원하는 대로.

R에 기성품이 있다는 것이 밝혀지면 더 쉽습니다. 이제 나는 네겐트로피를 고려하기 위해 많은 작업을 해야 하므로 포럼에서 토론을 중단했습니다.

나는 내 의견을 유지합니다. 엔트로피를 설명하는 것이 모든 것의 핵심입니다.

 
막심 드미트리예프스키 :

상태 전환이 무작위이기 때문에 교차 검증은 도움이 되지 않습니다.

상태 전환이 무작위인 경우 프로세스는 Markov이고 이 전체 포럼 스레드는 쓸모없는 것으로 삭제할 수 있습니다. :)

그러나 예를 들어 그 과정은 비마코비안(non-Markovian)이라고 생각합니다. Alexander는 이에 동의하는 것 같습니다. 그는 저보다 통계를 훨씬 잘 알고 있습니다. 저는 그를 믿을 것입니다.

 
박사 상인 :

상태 전환이 무작위인 경우 프로세스는 Markov이고 이 전체 포럼 스레드는 쓸모없는 것으로 삭제할 수 있습니다. :)

그러나 예를 들어 그 과정은 비마코비안(non-Markovian)이라고 생각합니다. Alexander는 이에 동의하는 것 같습니다. 그는 저보다 통계를 훨씬 잘 알고 있습니다. 저는 그를 믿을 것입니다.

이미 작성했습니다. 로컬 수준에서 무작위로, 큰 지연이나 다른 규모로 이동하지 않고는 고려할 수 없으며, 거기에서 프로세스는 다시 예측 가능한 형태를 취합니다. 한 가지 그러나 - 일반 인구는 알려져 있지 않으며 다른 척도로의 전환 횟수는 제한되어 있습니다. 그래서 알렉산더는 틱을 합니다. 그렇습니다. 그러나 역사의 부재로 인해 역사의 부족 과 결과적으로 연구된 VR의 패턴에 대한 명확한 이해가 없는 경우 이조차도 항상 작동하지 않을 것입니다.

한 마디로, 지역 수준의 일부 전환은 전혀 예측할 수 없으므로 다른 표현 수준으로 이동해야 합니다.

 
박사 상인 :

상태 전환이 무작위인 경우 프로세스는 Markov이고 이 전체 포럼 스레드는 쓸모없는 것으로 삭제할 수 있습니다. :)

그러나 예를 들어 그 과정은 비마코비안(non-Markovian)이라고 생각합니다. Alexander는 이에 동의하는 것 같습니다. 그는 저보다 통계를 훨씬 잘 알고 있습니다. 저는 그를 믿을 것입니다.

나는 신경망을 사용하지 않지만, 나는 스레드를 읽었습니다. 왜냐하면 Feynman은 상태 A에서 상태 B로의 입자의 추가 움직임을 예측하는 것이 가능하다고 확신했기 때문입니다. .

이를 위해 그는 입력에서 현재 위치와 이전 위치 사이의 일반적인 증분을 사용했습니다. 음, 그는 많은 추가 매개변수를 고려했습니다. L.A. Shelepin은 네젠트로피를 처음으로 사용했습니다. 그리고 어떤 이유로 사망 ... 작업을 완료하지 못했습니다. 따라서 이 주제를 끝내는 것은 우리에게 달려 있습니다.

 

예! 할 말을 잊었다.

상태는 입자를 거의 완전히 특성화하는 데이터 세트로 간주됩니다. 저것들. 이것은 데이터 세트, 즉 첨도, 비대칭, 네겐트로피 등 고유한 특성을 가진 샘플 크기입니다.

저것들. R. Feynman의 확신으로 특정 쌍의 표본 크기를 정확하게 결정하고 기록에서 이 표본에 대한 이러한 계수의 특성 평균값을 계산하면 특정 집합을 갖는 것으로 예측할 수 있다고 주장할 수 있습니다. 주어진 시간에 매개변수 의 특정 시간 간격 후에 시스템은 안정적인 매개변수로 상태가 됩니다.

이것이 내가 이 스레드에서 기대하는 것입니다. 원하는 샘플 크기를 결정하는 데 도움이 필요하면 작성해 주시면 도와 드리겠습니다.

사유: