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

 
알렉세이 버나코프 :

기다리다. 또한 종속성에 대한 데이터를 실행합니다.

시작하기 전에 질문 하나. 데이터에 모든 막대가 연속적으로 포함되어 있습니까? 아니면 샘플링 전에 막대가 얇아졌습니까?

R1, R2, R3이 연속으로 표시되고 내부에도 연속으로 표시됩니다. 이것은 H1의 시계열 입니다.
 
산산이치 포멘코 :
R1, R2, R3이 연속으로 표시되고 내부에도 연속으로 표시됩니다. 이것은 H1의 시계열입니다.

분명한. 글쎄요, 귀하의 데이터로 작업 방법을 대략적으로 이해했습니다.

저도 Dr.Trader를 이해하고 싶습니다.

 

또한 H1이 있으며 선택 항목에는 마지막 4개 막대의 데이터가 포함됩니다. open[1]-high[1]-close[1]-...-open[2]-high[2]-close[2]-... etc. MqlRates 및 MqlDateTime 구조의 데이터가 있습니다. 더 높은 시간대의 더 많은 지표와 종가가 있으며 모든 것이 [0..1] 간격으로 정규화됩니다. 1 또는 0의 결과는 다음 막대의 가격 상승 또는 하락입니다. 그러나 이 모든 것이 분명히 충분하지 않습니다.

필요한 막대의 수를 알 수 없는 문제가 있습니다. 일반적으로 뉴런이 0%의 오류로 다시 훈련하는 데 3개의 막대만 있으면 충분합니다(따라서 50%가 전면 테스트에 포함됨). 또는 제어하고 제 시간에 멈추도록 훈련하면 전면 테스트의 오류가 몇 퍼센트 줄어들 것입니다. 그러나 일반적으로 수백 개의 막대를 사용하여 거의 동일한 결과를 얻을 수 있지만 샘플의 각 새 막대는 엄청난 양의 쓰레기이며 따라서 모델의 품질이 떨어집니다.

 
트레이더 박사 :
또한 H1이 있으며 선택 항목에는 마지막 4개 막대의 데이터가 포함됩니다. open1-high1-close1-...-open2-high2-close2-... 등 MqlRates 및 MqlDateTime 구조의 데이터가 있습니다. 1 또는 0의 결과는 다음 막대의 가격 상승 또는 하락입니다.
감독자. open1 - open2와 같은 것이 있습니까? 보고
 

이전 포스트에 약간 추가되었습니다. 아니요, 델타가 없습니다. 시도해야합니다.

 
트레이더 박사 :

또한 H1이 있으며 선택 항목에는 마지막 4개 막대의 데이터가 포함됩니다. open[1]-high[1]-close[1]-...-open[2]-high[2]-close[2]-... etc. MqlRates 및 MqlDateTime 구조의 데이터가 있습니다. 더 높은 시간대의 더 많은 지표와 종가가 있으며 모든 것이 [0..1] 간격으로 정규화됩니다. 1 또는 0의 결과는 다음 막대의 가격 상승 또는 하락입니다. 그러나 이 모든 것이 분명히 충분하지 않습니다.

필요한 막대의 수를 알 수 없는 문제가 있습니다. 일반적으로 뉴런이 0%의 오류로 다시 훈련하는 데 3개의 막대만 있으면 충분합니다(따라서 50%가 전면 테스트에 포함됨). 또는 제어하고 제 시간에 멈추도록 훈련하면 전면 테스트의 오류가 몇 퍼센트 줄어들 것입니다. 그러나 일반적으로 수백 개의 막대를 사용하여 거의 동일한 결과를 얻을 수 있지만 샘플의 각 새 막대는 엄청난 양의 쓰레기이며 따라서 모델의 품질이 떨어집니다.

음, 피쳐 엔지니어링을 해야 합니다. 이것은 반드시 표준 지표를 사용하는 것은 아닙니다. 환상과 과정에 대한 이해가 필요합니다. 블랙박스에 막대 데이터를 주는 것만으로는 충분하지 않을 수 있습니다. 그리고 정보가 취해지는 깊이가 중요합니다. 예를 들어, 내 연구에서 출력 깊이에 상대적인 대칭 입력 깊이를 제공해야 한다는 것을 보았습니다. 우리는 3시간 앞서 예측합니다 - 우리는 3시간 전과 그 이후에 대한 데이터를 제공합니다.

다음은 내 연구에 부분적으로 반영된 예측 변수의 개발 다이어그램입니다. 이 데이터는 이미 머신에 다음에 대한 많은 정보를 제공합니다.

http://blog.kaggle.com/2016/02/12/winton-stock-market-challenge-winners-interview-3rd-place-mendrika-ramarlina/comment-page-1/

Winton Stock Market Challenge, Winner's Interview: 3rd place, Mendrika Ramarlina
Winton Stock Market Challenge, Winner's Interview: 3rd place, Mendrika Ramarlina
  • 2016.12.02
  • blog.kaggle.com
The Stock Market Challenge, Winton's second recruiting competition on Kaggle, asked participants to predict intra and end of day stock returns. The competition was crafted by research scientist at Winton to mimic the type of problem that they work on everyday. Mendrika Ramarlina finished third in the competition with a combination of simple...
 
트레이더 박사 :

이전 포스트에 약간 추가되었습니다. 아니요, 델타가 없습니다. 시도해야합니다.

그것은 필요하다.

무엇이 잘 작동하는지 아십니까? 마지막으로 알려진 가격과 이동 평균 간의 차이입니다. 창 중간은 다른 것을 시도해야 합니다.

 
여기에서 읽고, 읽고 .... 그리고 형식적인 관점에서 처음에는 대상 변수가 무엇인지 이해할 수 없습니다. 실수(회귀) 또는 명목 값(분류)입니다. 또한 예측변수가 목표변수에 미치는 영향 정도를 논한다면 바로 이 목표변수의 의미를 아는 것이 좋을 것이다.
 

나는 목표 변수를 매수/매도 분류기로 보고, 거래를 얼마나 오래 유지해야 하는지 또는 어떤 가격 수준을 기대해야 하는지에 대해 구체적이지 않습니다. EA는 막대의 시작 부분에서 거래를 시작하고 다음 막대가 다음 결정을 내릴 때까지 기다립니다.

논리적인 의미로 좀 더 어렵네요 :)

이전에는 차트(머리와 어깨 등)에서 패턴과 그림을 찾도록 뉴런을 훈련시키고 싶었습니다. 게다가, 그녀는 내 참여 없이 일부 인물을 찾는 법을 배워야 했습니다. 대상 변수로 지그재그 방향을 지정했습니다. 내 계획에 따른 목표 변수의 의미는 "패턴이 발견되었습니다. 이제 추세가 올라갈 것이므로 구매해야합니다"(결과 = 1)입니다. 이 경우 결과 = 0은 이제 반대 방향으로 추세가 있을 것이며 매도해야 함을 의미합니다. 나는 신호의 강도를 고려하고 결과가 0.5에 가까울 때 거래하지 않으려고 노력했습니다.

큰 소리로 생각하고 전에는 그것에 대해 생각하지 않았습니다. 잘못된 모델을 가지고 있는 것 같습니다. 구매/판매/close_all_trades_and_not_trade를 위해 3개의 클래스를 교육해야 했습니다. 또한, 하나의 네트워크에서 3개의 출구를 수행하거나 3개의 개별 네트워크를 훈련시킵니다. 그리고 하나의 출력을 가진 하나의 네트워크가 아닙니다.

그런 다음 실험하는 동안 200개가 아닌 5개의 막대만 사용할 수 있으며 결과는 변경되지 않고 결과는 동일하게 유지된다는 것을 깨달았습니다. 나는 모델이 이 구성으로 패턴을 찾는 법을 배운다고 생각하지 않습니다. 오히려 시간에 몇 가지 패턴을 찾습니다. 점차적으로 나는 지그재그가 아니라 단순히 다음 막대 의 종가 로 모델을 훈련하기로 결정했습니다. 이 경우 더 이상 뉴런의 결과를 필터링할 필요가 없으며 동일한 결과로 문제가 더 적습니다. 어쨌든 나쁘지는 않습니다. 여기에서 논리적 의미는 이미 더 간단합니다. 목표 변수는 0/1입니다. 가격은 1 bar에 대해 하락/상승합니다.

지난 며칠 동안 나는 숲과 이 포럼의 예를 연구했습니다. 동일한 5개의 막대를 사용하면 숲은 뉴런과 같은 추상적인 것을 학습하지 않고 매우 구체적인 규칙을 도출합니다. 예를 들어, 포리스트는 "2 MA 교차" 규칙 또는 이와 유사한 것을 유추할 수 있습니다. 그러한 데이터 세트를 사용하면 숲이 훨씬 더 유망한 것 같습니다. 나는 그것을 사용하는 방법을 배울 것입니다. 목표 변수의 의미는 동일합니다 - 0/1 - 가격은 1 bar에 대해 하락/상승합니다.

예측 변수의 영향에 대해 원하는 만큼 잘 모릅니다. 시간은 반드시 시/분/요일, 아마도 그 중 하나(시?)를 사용해야 합니다. 반복하지 않고 작은 연속 값 세트와 함께 예측 변수를 사용할 수 없습니다. 예를 들어 훈련 샘플에 연도에 대한 데이터가 포함되어 있으면 "월" 예측 변수를 사용할 수 없습니다. 이 모델은 단순히 모든 데이터를 월별로 12개의 조각으로 나눌 수 있으며 각 조각에 대해 자체 논리 중 일부를 훈련할 수 있습니다. 그리고 2015년 1월의 논리는 2016년 1월의 논리에 대해 1년에 확실히 작동하지 않을 것입니다. 그러나 훈련 데이터가 5년 동안이라면 "월"이 이미 적합할 수 있습니다. 나는 또한 지표의 사용이 정당한지, 표준 지표에 대한 조언자가 병합되는지 확신하지 못합니다. 훈련된 모델이 이 데이터에서 유용한 것을 추출하면 이상할 것입니다. 또한 숲 자체도 계산을 하고 학습 과정에서 자체 내부 지표를 생성할 수 있음을 이해합니다. 가격도 사용되어야 합니다. 비록 저는 시가와 종가를 신뢰하지 않지만 고가와 저가를 선호합니다.

이 모든 예측변수는 시장의 특정 현재 상태를 보여주고, 모델의 의미는 예측변수에 의해 바로 이러한 상태를 결정하고 그러한 경우 가격이 어디로 가는지 결정하는 것입니다. 모델은 Occam의 블레이드 원리에 따라 가능한 한 적은 입력을 사용해야 합니다. 그러면 특정 종속성을 정확히 설명하고 예제에 맞지 않을 가능성이 있습니다.

 
트레이더 박사 :

나는 목표 변수를 매수/매도 분류기로 보고, 거래를 얼마나 오래 유지해야 하는지 또는 어떤 가격 수준을 기대해야 하는지에 대해 구체적이지 않습니다. EA는 막대의 시작 부분에서 거래를 시작하고 다음 막대가 다음 결정을 내릴 때까지 기다립니다.

논리적인 의미로 좀 더 어렵네요 :)

이전에는 차트(머리와 어깨 등)에서 패턴과 그림을 찾도록 뉴런을 훈련시키고 싶었습니다. 게다가, 그녀는 내 참여 없이 일부 인물을 찾는 법을 배워야 했습니다. 대상 변수로 지그재그 방향을 지정했습니다. 내 계획에 따른 목표 변수의 의미는 "패턴이 발견되었습니다. 이제 추세가 올라갈 것이므로 구매해야합니다"(결과 = 1)입니다. 이 경우 결과 = 0은 이제 반대 방향으로 추세가 있을 것이며 매도해야 함을 의미합니다. 나는 신호의 강도를 고려하고 결과가 0.5에 가까울 때 거래하지 않으려고 노력했습니다.

큰 소리로 생각하고 전에는 그것에 대해 생각하지 않았습니다. 잘못된 모델을 가지고 있는 것 같습니다. 구매/판매/close_all_trades_and_not_trade를 위해 3개의 클래스를 교육해야 했습니다. 또한, 하나의 네트워크에서 3개의 출구를 수행하거나 3개의 개별 네트워크를 훈련시킵니다. 그리고 하나의 출력을 가진 하나의 네트워크가 아닙니다.

그런 다음 실험하는 동안 200개가 아닌 5개의 막대만 사용할 수 있으며 결과는 변경되지 않고 결과는 동일하게 유지된다는 것을 깨달았습니다. 나는 모델이 이 구성으로 패턴을 찾는 법을 배운다고 생각하지 않습니다. 오히려 시간에 몇 가지 패턴을 찾습니다. 점차적으로, 나는 지그재그가 아니라 단순히 다음 막대 의 종가 로 모델을 훈련하기로 결정했습니다. 이 경우 더 이상 뉴런의 결과를 필터링할 필요가 없으며 동일한 결과로 문제가 더 적습니다. 어쨌든 나쁘지는 않습니다. 여기에서 논리적 의미는 이미 더 간단합니다. 목표 변수는 0/1입니다. 가격은 1 bar에 대해 하락/상승합니다.

지난 며칠 동안 나는 숲과 이 포럼의 예를 연구했습니다. 동일한 5개의 막대를 사용하면 숲은 뉴런과 같은 추상적인 것을 학습하지 않고 매우 구체적인 규칙을 도출합니다. 예를 들어, 포리스트는 "2 MA 교차" 규칙 또는 이와 유사한 것을 유추할 수 있습니다. 그러한 데이터 세트를 사용하면 숲이 훨씬 더 유망한 것 같습니다. 나는 그것을 사용하는 방법을 배울 것입니다. 목표 변수의 의미는 동일합니다 - 0/1 - 가격은 1 bar에 대해 하락/상승합니다.

예측 변수의 영향에 대해 원하는 만큼 잘 모릅니다. 시간은 반드시 시/분/요일, 아마도 그 중 하나(시?)를 사용해야 합니다. 반복 없이 작은 연속 값 집합이 있는 예측 변수를 사용할 수 없습니다. 예를 들어 훈련 샘플에 연도에 대한 데이터가 포함되어 있으면 "월" 예측 변수를 사용할 수 없습니다. 이 모델은 단순히 모든 데이터를 월별로 12개의 조각으로 나눌 수 있으며 각 조각에 대해 자체 논리 중 일부를 훈련할 수 있습니다. 그리고 2015년 1월의 논리는 2016년 1월의 논리에 대해 1년에 확실히 작동하지 않을 것입니다. 그러나 훈련 데이터가 5년 동안이라면 "월"이 이미 적합할 수 있습니다. 나는 또한 지표의 사용이 정당한지, 표준 지표에 대한 조언자가 병합되는지 확신하지 못합니다. 훈련된 모델이 이 데이터에서 유용한 것을 추출하면 이상할 것입니다. 또한 숲 자체도 계산을 하고 학습 과정에서 자체 내부 지표를 생성할 수 있음을 이해합니다. 가격도 사용되어야 합니다. 비록 저는 시가와 종가를 신뢰하지 않지만 고가와 저가를 선호합니다.

이 모든 예측변수는 시장의 특정 현재 상태를 보여주고, 모델의 의미는 예측변수에 의해 바로 이러한 상태를 결정하고 그러한 경우 가격이 어디로 가는지 결정하는 것입니다. 모델은 Occam의 블레이드 원리에 따라 가능한 한 적은 입력을 사용해야 합니다. 그러면 특정 종속성을 정확히 설명하고 예제에 맞지 않을 가능성이 있습니다.

여러 면에서 우리의 생각은 겹칩니다.

그러나 결국 나는 소음 예측기에 부딪쳤습니다. 노이즈 예측자가 있기 때문에 모델이 다시 학습되고 다른 모든 추론은 의미가 없습니다.

사유: