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

 
블라디미르 페레르벤코 :


추신. 그리고 lm() 계산을 병렬화합니다. 이것은 당신이 필요할 때만 해당됩니다.

고맙습니다.

foreach% dopar%를 통해 루프에서 작업이 병렬화되는 방법을 보았습니다. 그리고 DT의 히든 사이클에 어떻게 붙일지 모르겠습니다. 그리고 더 빨라질지 모르겠습니다.

 
알렉세이 버나코프 :

고맙습니다.

foreach% dopar%를 통해 루프에서 작업이 병렬화되는 방법을 보았습니다. 그리고 DT의 히든 사이클에 어떻게 붙일지 모르겠습니다. 그리고 더 빨라질지 모르겠습니다.

나는 코드의 이 부분을 의미했다

lm_models <-    x[,
{
        lapply(c(1:20), function(x) summary(lm(data = .SD[, c(1:x, 21), with = F],    formula = V21 ~ . -1))$'fstatistic'[[1]])
}
, by = sampling
]

lapply 대신 - foreach()

 

수십 초 동안 작성된 그래프는 뭔가 잘못되었습니다.

이 패키지("nhstplot")를 확인하십시오. 빠르고 제 생각에는 잘 그립니다.

> plotftest(f = 4 , dfnum = 3 , dfdenom = 5 , title = "Fisher's F test" )

 
블라디미르 페레르벤코 :

수십 초 동안 작성된 그래프는 뭔가 잘못되었습니다.

이 패키지("nhstplot")를 확인하십시오. 빠르고 내 의견으로는 잘 그립니다.

> plotftest(f = 4 , dfnum = 3 , dfdenom = 5 , title = "Fisher's F test" )

물론 살펴보겠습니다. 그러나 여기에서 반투명함은 어디에 있습니까? 수백 개의 겹쳐진 물체가 있는 곳은 어디입니까? 가혹한 조건에서 테스트하면 더 빠른지 여부를 알 수 있습니다.
 
블라디미르 페레르벤코 :

아. 노력하겠습니다. 감사합니다. lapply 루프가 병렬 루프로 대체되는 것으로 나타났습니다. 그리고 이 모든 것은 1000번의 반복이 있는 DT 루프에서 회전합니다.

그리고 foreach를 통해 이 1000번의 반복을 건너뛰는 또 다른 방법이 있습니다.

 
알렉세이 버나코프 :
물론 살펴보겠습니다. 그러나 여기에서 반투명함은 어디에 있습니까? 수백 개의 중첩된 물체가 있는 곳은 어디입니까? 가혹한 조건에서 테스트하면 더 빠른지 아닌지 알 수 있습니다.

OpenGL이 있는 그래픽 카드를 사용하면 반투명도를 빠르게 렌더링할 수 있습니다. R에는 이를 위한 rgl 라이브러리가 있으며 3d 중심적이지만 직교 투영을 만들고 선을 그릴 수 있다면 필요한 것이 될 것입니다. 나는 그것을 즉시 알아낼 수 없었고 문서를 읽어야합니다.

추가됨:

반투명 선 그리기는 매우 간단하여 X 및 Y 좌표가 있는 테이블만 있으면 되며 3차원을 위해 세 번째 Z 열을 추가할 수도 있습니다.

library (rgl)
for (i in 1 : 1000 ){
    lines3d(cbind( 1 : 1000 , cumsum(rnorm( 1000 ))), col= "blue" , alpha= 0.1 )
}

하지만 여전히 느렸다. processexplorer로 판단하면 vidyukha는 5%만 사용하고 하나의 논리 프로세서는 모두 100% 사용합니다. R이 데이터를 OpenGL에 너무 느리게, 수용할 수 있는 것보다 훨씬 느리게 공급하는 것 같습니다. 어떻게 든 그것은 그렇게 밝혀졌습니다.

그냥 재미로 :) 이렇게 하고 창을 전체 화면으로 확장하고 마우스 왼쪽 버튼으로 "모양"을 회전합니다.

library (rgl)
for (i in 1 : 100 ){
    lines3d(cbind(cumsum(rnorm( 100 )), cumsum(rnorm( 100 )), cumsum(rnorm( 100 ))), alpha= 0.2 )
}
 
그렇게 될 수 있습니다. 백 조각을 선택적으로 표시하는 라인. 그리고 전체 프로그램에 따라 배포합니다. 훨씬 빠를거야
 

마지막으로 앞서 말한 클러스터를 사용하여 펜 아이디어의 첫 번째 테스트인 테스트 테스트를 수행하여 예측 변수가 간단하고 무엇인지 확인했습니다.

5개 값의 슬라이딩 시리즈 OHLC + 볼륨 + 휘발 각각 5개 값이 있는 총 6개의 예측 변수

100,000바의 학습 이력

각 예측자는 자연스럽게 정규화됨) 그런 다음 100개의 클러스터로 클러스터링되었습니다.

나는 서둘러 대상을 만들었습니다. 불도저에서 말할 수 있습니다(지금까지는 그냥 앉았습니다). 이 형식으로 반전을 취했습니다. 대상은 이전 4개의 양초보다 높고 다음 10개보다 높은 극값입니다. 그 후 촛불.

반복되는 패턴을 찾기 시작했습니다...

그러한 예측 변수가 없는 상태에서 발견된 최상의 것은 다음과 같은 패턴입니다.

open high low close volum volat target_avg target_count
91         30    41      91      100     0.4          9

in ( open high low close volum volat )은 이 패턴을 특징짓는 클러스터의 수입니다.

target_avg - 이것은 내 반전이 이 패턴에서 작동한 확률입니다. 80-90%를 유발할 확률로 이러한 예측 변수에서 패턴을 찾을 수 없습니다.

target_count - 이것은 이 기록에서 이 패턴이 몇 번이나 나타났는지입니다. 또한 이 예측 변수 에서 30-50번 나타날 중요한 패턴을 찾지 못했습니다.

전체적으로, 이 예측 변수에서 내가 찾은 가장 좋은 점은 반전(목표)이 케이스의 40%에서 작동하고 그러한 관찰(패턴의 수)이 9개뿐인 패턴입니다.

이것은 아마도 유용한 정보의 유일한 조각일 것입니다. 이 예측 변수 집합에서 짜낼 수 있는 매우 소중한 "NO NOISE"이며 반전에 대한 단 하나의 이유, 그리고 심지어 40%까지 설명하고 다른 반전에 대한 이유를 설명합니다. 다르고 정확히 10 또는 30 IMHO가 아닙니다.

이제 MO 알고리즘이 이러한 예측 변수를 사용하여 시장의 모든 움직임을 설명할 수 있는 방법에 대해 생각해 보십시오. 예측자는 2%만 설명할 수 있고 나머지는 모두 노이즈이기 때문에 불가능합니다.

게다가 통계적 반복성을 통제할 수 없기 때문에 MO는 한두 가지 관찰에 대한 결정을 내릴 수 있으며 실제로는 대부분의 경우 95% 미만입니다.

글쎄, 알았어, 난 빠져 ... 패턴을 따라 계속해서 새 샘플의 입력 품질을 평가해 봅시다. 이것은 Mercedes와는 거리가 멀지 만 randomforest가 죽은 Cossack이라면이 접근 방식은 공장에서 9개만

입력의 품질이 훨씬 더 좋고 명확하며 오류가 적습니다...

또 다른 사건이 있었습니다. 전체 패턴은

open high low close volum volat
91    6      30    41      91      100

50,000개의 양초의 새 데이터에 대한 인식을 시작했을 때 알고리즘은 그러한 패턴을 찾지 못했고 단순히 나타나지 않았습니다))

도안을 잘라서 가격만 남겼어요

open high low close volum volat
91    6      30    41      91      100

그런 패턴이 이미 20개 정도 있었습니다.

여기 패턴에 따른 항목이 있습니다. "아라 베스트 항목"을 선택하지 않았습니다. 거래가 이루어진 순서대로 사진을 찍었습니다. 거래가 물론 첫 번째 거래가 아닙니다. 소수, 평가할 수 있도록

일

위험이 예상보다 더 가치가 있지만 자본은 쾌적합니다.

에게

이것은 하나의 패턴일 뿐임을 상기시키겠습니다.

누군가 코드가 필요하면 게시하겠습니다. 의심스럽긴 하지만 모든 것이 이미 매우 명확합니다.
 

214페이지는 공부/마스터하기에 많은 양입니다. 동시에, 각각은 자신에 대해 항상 명확하지 않습니다.)

아주 짧지는 않더라도 어떻게든 한 포스트에 이 모든 페이지를 요약할 수 있습니까? 유형: 목표, 해결 방법, 결과, 결론.

내 시장 모델은 무작위 프로세스(브라운 운동), 더 정확하게는 피드백에 의해 포함되는 여러(아마도 많은) 운동의 합이라는 것을 즉시 말해야 합니다. 그리고 통계적 패턴이 아닌 다른 패턴을 예측하거나 찾는 것은 완전히 무익한 작업입니다. 즉, 적어도 투기 목적으로 의미 있는 예측 변수는 존재하지 않습니다.

 
물론 코드를 게시하십시오. 흥미 롭군
사유: