English Русский 中文 Español Deutsch 日本語 Português Français Italiano Türkçe
다중 선형 회귀 분석 올인원 전략 생성기와 전략 테스터

다중 선형 회귀 분석 올인원 전략 생성기와 전략 테스터

MetaTrader 5트레이딩 시스템 | 11 10월 2021, 15:59
158 0
ArtemGaleev
ArtemGaleev

개요

지인 중 하나가 FX 거래 수업을 들으면서 매매 시스템을 개발하라는 과제를 받은 적이 있더라고요. 한 일주일 고생하더니 논문 쓰는 것보다 더 어려운 것 같다고 하더군요. 그래서 제가 다중 선형 회귀 분석을 사용해 보는 게 어떻겠냐고 했습니다. 결국 하룻밤 만에 매매 시스템을 만드는 데에 성공했죠.

다중 선형 회귀 분석의 장점은 인디케이터와 가격 사이의 상관 관계를 빠르게 찾아낼 수 있다는 건데요. 이 상관 관계를 이용하면 인디케이터 값을 기반으로 가격 값을 일정한 확률로 예측할 수 있습니다. 통계 소프트웨어를 이용하면 동시에 수천 개의 매개 변수를 필터링해 이러한 상관 관계를 찾을 수 있죠. 석영에서 금을 솎아 내는 과정과 비슷하다고 할 수 있을 것 같네요.

바로 사용 가능한 전략이나 전략 생성기는 인디케이터 데이터를 이용한 다중 회귀 분석과 데이터 조작을 통해 개발됩니다.

이 글에서는 다중 회귀 분석을 이용한 매매 전략 수립 과정에 대해 알아보겠습니다.


1. 트레이딩 로봇 만들기는 누워서 떡 먹기나 마찬가지!

앞서 제 지인이 만들었다는 매매 시스템은 다음의 단 하나의 방정식을 기반으로 합니다.

Reg=22.7+205.2(buf_DeMarker[1]-buf_DeMarker[2])-14619.5*buf_BearsPower[1]+22468.8*buf_BullsPower[1]-139.3*buf_DeMarker[1]-41686*(buf_AC[1]-buf_AC[2])

Reg>0일 때 매수 주문이 실행되고 Reg<0일 때 매도 주문이 실행되죠.

해당 방정식은 기본 인디케이터 데이터 샘플을 이용한 다중 선형 회귀 분석의 결과로 얻어졌습니다. 이 식을 기반으로 EA를 하나 개발했는데요. 주문의 성격을 판단하는 코드의 라인 수가 15개로 매우 간단합니다. 전체 소스코드는 따로 첨부하겠습니다(R_check).

   //--- checking the price change range
   double price=(mrate[2].close-mrate[1].close)/_Point;


   //--- if the range is big, do not take trades and close the current positions 
   if(price>250 || price<-250)
     {
      ClosePosition();
      return;

     }

   //--- regression equation
   double Reg=22.7+205.2*(buf_DeMarker[1]-buf_DeMarker[2])

                 -14619.5*buf_BearsPower[1]+22468.8*buf_BullsPower[1]
                 -139.3*buf_DeMarker[1]
                 -41686*(buf_AC[1]-buf_AC[2]);


   //--- checking for open positions
   if(myposition.Select(_Symbol)==true) //--- open positions found
     {
      if(myposition.PositionType()==POSITION_TYPE_BUY)

        {
         Buy_opened=true;  // long position (Buy)
        }
      if(myposition.PositionType()==POSITION_TYPE_SELL)
        {
         Sell_opened=true; //--- short position (Sell)

        }
     }

   //--- if an open position follows the trend as predicted by the equation, abstain from doing anything.
   if(Reg>0  &&  Buy_opened==true) return;
   if(Reg<=0 && Sell_opened==true) return;


   //--- if an open position is against the trend as predicted, close the position.
   if(Reg<=0 && Buy_opened==true) ClosePosition();
   if(Reg>0 && Sell_opened==true) ClosePosition();


   //--- opening a position in the direction predicted by the equation. 
   //--- using level 20 to filter the signal.
   if(Reg>20) BuyOrder(1);
   if(Reg<-20) SellOrder(1);

2011년 7월 1일부터 2011년 8월 31일까지의 EURUSD H1 데이터가 회귀 분석 샘플로 사용되었습니다.

그림 1은 위 기간의 데이터가 적용된 EA 실행 결과입니다. 테스터에서는 종종 관찰되는 슈퍼 프로핏이 트레이닝 데이터에서는 나타나지 않는 게 눈에 띄네요. 아마 재최적화를 하지 않아 그런 거겠죠.

그림 1. 트레이닝 데이터를 적용한 EA 실행 결과

그림 1. 트레이닝 데이터를 적용한 EA 실행 결과

그림 2는 테스트 데이터(2011년 9월 1일~2011년 11월 1일)가 적용된 EA 실행 결과입니다. 기존 데이터에 이어 두 달 동안 수익 창출이 지속됨을 알 수 있습니다. 트레이닝 데이터가 적용된 EA와 테스트 데이터가 적용된 EA의 실적이 동일하네요.

그림 2. 테스트 데이터를 적용한 EA 실행 결과

그림 2. 테스트 데이터를 적용한 EA 실행 결과

다중 선형 회귀 분석을 이용한 간단한 EA가 완성되었습니다. 실행 결과를 비교해 보면 매매 시스템 구축에 다중 선형 회귀 분석을 사용할 수 있음을 알 수 있죠.

하지만 다중 회귀 분석을 맹신해서는 안됩니다. 이제 다중 회귀 분석의 장점과 단점에 대해 알아보죠.


2. 다중 선형 회귀 분석

다중 회귀 분석은 두 개 이상의 독립 변수들과 하나의 종속 변수의 관계를 분석하는 기법입니다. 우리의 경우는 인디케이터 값과 가격 움직임 간의 관계를 분석하게 되겠죠.

다음은 가장 단순한 방식으로 표현된 방정식입니다.

가격 변화= a*RSI+b*MACD+с

다중 회귀 방정식은 독립 변수들과 종속 변수 간의 상관 관계가 존재해야만 성립하게 됩니다. 인디케이터 값은 원칙적으로 상호 연관성을 띠므로 분석 시 어떤 인디케이터를 추가하거나 제거하느냐에 따라 예측 결과가 크게 달라질 수 있습니다. 회귀 방정식은 인과 관계가 아닌 숫자 값 사이의 종속 관계를 나타냄에 주의할 필요가 있습니다. 계수 (a, b)는 종속 변수와의 관계에 대한 모든 독립 변수의 기여도를 나타냅니다.

회귀 방정식은 변수 간의 이상적인 종속성을 나타내죠. 하지만 현실은 예측을 벗어납니다. 특히 외환 거래에서는 말이죠. 예측값과 실측값의 차이를 잔차라고 합니다. 잔차 분석을 통해 인디케이터와 가격 사이의 비선형 종속성을 판단할 수 있죠. 우리의 경우에는 인디케이터와 가격 사이에 비선형 종속 관계만이 존재한다고 가정하겠습니다. 다행히도 회귀 분석은 약간의 선형 편차에는 영향을 받지 않습니다.

양적 매개 변수 분석에만 사용되고요. 질적 매개 변수는 전환 값을 갖지 않아 분석 대상으로 적합하지 않습니다.

회귀 분석의 경우 매개 변수 개수에 제한이 없기 때문에 자칫 매개 변수가 많을수록 좋을 거라 생각할 수 있습니다. 하지만 독립 변수의 개수가 독립 변수와 종속 변수의 상관 관계의 수보다 많을 경우 예측값의 변화가 큰 방정식이 생성됩니다.

예측값의 개수가 독립 변수의 개수보다 10~20배 많도록 설정해야 합니다.

우리의 경우 데이터 샘플에 포함된 인디케이터의 개수가 거래 횟수보다 10~20배 많게 설정될 겁니다. 이를 기반으로 신뢰할 만한 회귀 분석식이 생성되죠. 앞서 언급된 트레이딩 로봇을 기반으로 하는 샘플은 33개 매개 변수와 예측값 836개를 포함합니다. 예측값의 수가 매개 변수 개수보다 25배 정도 크죠. 통계학에서는 일반적으로 통용되는 규칙이기도 합니다.MetaTrader5의 전략 테스터 최적화기에도 적용 가능하죠.

최적화기의 인디케이터 값은 각각 별개의 매개 변수가 되는데요. 다시 말해 10개의 인디케이터 값을 테스트하는 경우 재최적화를 피하려면 이 10개의 독립 변수를 잘 고려해야 합니다. 최적화 리포트에 평균 거래 수/전체 최적화 변수 값 개수 값이 포함되면 참 좋을텐데요. 인디케이터 값이 10 미만인 경우 재최적화를 실행해야 할 확률이 높습니다.

극단값도 주의해야 합니다. 드물게 나타나긴 하지만 방정식에 가짜 의존성을 발생시킬 수 있으니까요. 우리의 경우 가격의 급상승을 조심하면 되는 거죠. 예상 밖의 뉴스에 시장이 수 시간동안 크게 동요되는 경우가 그 예입니다. 이 경우 인디케이터 값은 예측에는 큰 영향을 미치지 않겠지만 회귀 분석 시 큰 의미를 갖게 되죠. 뚜렷한 가격 변화가 나타났으니까요. 따라서 샘플 데이터를 필터링하거나 극단값이 있는지 확인한 후에 사용하는 게 좋습니다.


3. 나만의 전략 만들기

이제 여러분의 데이터를 이용해 회귀 방정식을 만들어 볼 차례입니다. 회귀 분석 구현은 이전에 설명한 판별 분석의 구현과 비슷합니다. 회귀 분석은 다음의 과정으로 이루어집니다.

  1. 분석 데이터 준비
  2. 준비된 데이터에서 최적 변수 선택
  3. 회귀 방정식 생성

다중 회귀 분석 기능은 대부분의 고급 통계 분석 소프트웨어에 포함되어 있습니다. 그 중 가장 많이 쓰이는 프로그램은 스탯소프트의 스타티스카(Statistica)와 IBM의 SPSS이죠. 이제 스타티스카 8.0을 이용한 회귀 분석 적용법에 대해 알아보겠습니다.


3.1. 분석 데이터 준비

현재 바의 인디케이터 값을 기반으로 다음 바의 가격 움직임을 예측하는 회귀 방정식을 만들어 보죠.

판별 분석 데이터 준비에 사용되었던 EA를 이용해 데이터를 수집합니다. 다른 주기에 속하는 인디케이터 값을 저장하는 기능을 추가하도록 하죠. 다양한 주기에 적용된 동일한 인디케이터에 대한 분석을 기반으로 하는 광범위한 매개 변수 세트가 전략 최적화에 사용될 겁니다.

스타티스카에서 데이터를 로딩하려면 다음의 구조를 갖는 CSV 파일이 필요합니다. 각 열이 특정 인디케이터에 해당하는 변수 열 연속 측정값(특정 바에 대한 인디케이터 값)을 포함하는 행 즉, 가로 헤더는 인디케이터를, 세로 헤더는 연속 바를 나타내면 됩니다.

다음의 인디케이터를 분석해 보겠습니다.

파일 내 모든 데이터 열은 다음을 포함합니다.

  • 바에 나타난 개장가와 종가의 가격 차이
  • 이전 바에서 관측되는 인디케이터 값

즉, 이미 알려진 인디케이터 값을 이용해 미래의 가격 움직임을 예측하는 방정식을 만드는 겁니다.

인디케이터 절대값 외에도 절대값과 이전 값의 차이를 알아야 인디케이터의 변화 방향을 알 수 있습니다. 예제에서 해당 변수들은 이름이 'd'로 시작합니다. 신호선 인디케이터의 경우 신호선과 기준선의 차이와 다이내믹 모두를 저장해야 합니다. 다른 기간을 갖는 인디케이터들이 수집한 데이터는 이름이 '_p'로 끝납니다.

최적화를 설명하기 위해 기간은 인디케이터 표준 기간의 두 배로 설정했습니다. 새 바의 시간과 해당 시간 값을 저장합니다. 인디케이터가 계산되는 바에 해당하는 개장가와 종가의 차이를 저장합니다. 극단값 필터링에 사용될 겁니다. 총 33개의 매개 변수의 분석을 통해 다중 회귀 분석식이 생성될 겁니다. 위의 데이터 모음은 본문에 첨부된 EA R_collection 파일에 구현되어 있습니다.

EA를 실행하면 MasterData.CSV 파일이 terminal_data_directory/MQL5/Files에 생성됩니다. 테스터에서 EA를 실행하는 경우에는 terminal_data_directory/tester/Agent-127.0.0.1-3000/MQL5/Files에 생성됩니다. 해당 파일은 스타티스카에서 사용할 수 있습니다.

MasterDataR.CSV에 해당 예제가 포함되어 있습니다. 본 데이터는 전략 테스터를 이용해 2011년 1월 3일부터 2011년 11월 11일까지 EURUSD H1를 대상으로 수집되었습니다. 분석에는 8월과 9월의 데이터만 사용되었죠. 나머지 데이터는 연습용으로 쓰시라고 파일에 저장해 두었습니다.

스타티스티카에서 .CSV 확장자 파일을 여는 방법은 다음과 같습니다.

  • 파일 메뉴에서 열기를 선택한 후 파일 형식을 '데이터 파일'로 설정하고 .CSV 파일을 불러옵니다.
  • 창을 닫고 OK를 누릅니다.
  • 그림 3과 같이 설정합니다.
  • 소수점 필드에 이미 소수점이 있더라도 꼭 다시 한번 소수점을 입력해 주세요.

그림 3. 스타티스카에서 파일 불러오기

그림 3. 스타티스카에서 파일 불러오기

OK를 누르면 다중 회귀 분석에 이용될 데이터 표가 열립니다. 스타티스카에서 사용할 수 있는 예제 파일이 MasterDataR.STA에 포함되어 있습니다.


3.2. 인디케이터 자동 선택

회귀 분석을 실행합니다(통계->다중 선형 회귀).

그림. 4. 회귀 분석 실행

그림 4. 회귀 분석 실행 

고급 탭을 열어 그림과 같이 설정합니다. 변수 버튼을 클릭합니다.

첫 번째 필드에서 종속 변수를 선택하고 두 번째 필드에는 회귀 분석식 생성에 쓰일 독립 변수를 고르세요. 우리의 경우 첫 번째 필드에는 Price 변수를, 두 번째 필드에는 Price2-dWPR 변수를 선택하면 됩니다.

그림 5. 매개 변수 채택 준비

그림 5. 매개 변수 채택 준비

그림 5를 따라 버튼을 클릭하세요.

분석에 사용될 케이스를 선택할 수 있는 창이 열립니다. 그림 6과 같이 설정하세요.

그림 6. 케이스 선택

그림 6. 케이스 선택

분석에서 사용될 7월과 8월 데이터를 특정합니다. 3590부터 4664까지의 케이스가 해당됩니다. 변수 V0으로 케이스 개수를 설정합니다. 극단값이나 가격 급증의 영향을 제한하기 위해 가격을 기준으로 데이터 필터링을 진행합니다.

마지막 바의 개장가와 종가의 차이가 250 포인트 이하인 인디케이터 값만을 분석에 적용합니다. 회귀 방정식 생성에 이용될 데이터 표본이 정해졌습니다. OK를 눌러 나갑니다(그림 5).

자동 데이터 선택 방법을 선택하는 창이 열립니다. 진진 선택법을 선택하세요(그림 7).

그림 7. 방법 선택

그림 7. 방법 선택

OK를 클릭하세요. 회귀 분석 완료를 알리는 창이 열립니다.

그림 8. 회귀 분석 결과 창

그림 8. 회귀 분석 결과 창

자동 매개 변수 선택은 매개 변수(독립 변수)와 종속 변수 간의 다중 상관 관계에 실직적으로 영향을 끼치는 변수만을 대상으로 합니다. 우리의 경우 가격 예측을 가장 잘하는 인디케이터들이 선택되겠죠. 자동 선택은 전략 생성기와 같다고 생각하면 됩니다. 자동 선택으로 생성된 회귀식은 안정적이고 가격 변동을 잘 잡아내는 인디케이터만으로 구성되어 있죠.

결과창 상단(그림 8)에는 생성된 회귀식의 통계적 특성이, 하단에는 해당 회귀식에 포함된 매개 변수가 나타나 있습니다. 밑줄이 그어진 부분에 주목하세요. Multiple R은 가격과 회귀식에 포함된 인디케이터 간의 다중 상관 관계를 나타냅니다. p는 해당 상관 관계의 통계학적 의미를 나타내죠.

0.05 미만인 경우 통계학적으로 유의미하다고 판단됩니다. No. of cases는 분석에 이용된 케이스 개수입니다. 통계적으로 유의미하다고 판단되는 인디케이터들은 빨간색으로 표시되어 있습니다. 이상적인 경우에는 모든 인디케이터가 붉게 나타나죠.

스타티스티카의 매개 변수 선택 규칙이 항상 최적인 것은 아닙니다. 무의미한 매개 변수들이 상당수 포함될 수도 있죠. 따라서 우리가 매개 변수 선택 과정에 개입해야 합니다.

목록에 무의미한 변수가 보인다면 회귀 분석 결과 요약을 클릭하세요.

각 인디케이터의 데이터를 나타내는 창이 열립니다(그림 9).

그림 9. 회귀 분석식 매개 변수 리포트

그림 9. 회귀 분석식 매개 변수 리포트

p값이 가장 높은 변수의 이름을 기억합니다. 매개 변수 선택 단계(그림 7)로 돌아가 목록에서 해당 변수를 삭제합니다.

분석 결과 창에서 취소를 누르고 분석을 반복합니다. 같은 방법으로 무의미한 변수를 모두 제거하세요. Multiple R의 값이 초기값과 큰 차이가 나지 않도록 주의해야 합니다. 무의미한 변수는 하나씩 삭제할 수도 있고 한번에 삭제할 수도 있지만 전자가 더 나을 겁니다.

이제 유의미한 매개 변수만이 남았습니다(그림 10). 상관 관계가 20% 감소했는데요. 아마 우연의 일치일 겁니다. 숫자열이 무한대로 길어지면 우연의 발생 횟수도 무한대로 많아지죠.

꽤 큰 데이터 표본을 다루게 되므로 우연한 사건이나 관계가 발생할 수 있습니다. 따라서 전략에 통계학적으로 유의미한 변수만을 사용하는 게 중요하죠.

그림 10. 유의미한 매개 변수만을 포함하는 방정식

그림 10. 유의미한 매개 변수만을 포함하는 방정식

매개 변수 선택 후에 가격과 유의미한 상관 관계를 갖는 인디케이터 그룹이 형성되지 않는다면 가격에 과거 거래 가격이 얼마 포함되지 않았기 때문일 겁니다. 이 경우 기술적 분석을 기반으로 하는 거래는 중단하는 것이 좋습니다.

우리의 경우 33개 매개 변수 중 다섯 개만이 회귀 방정식을 기반으로 하는 전략 개발에 효과적으로 사용될 수 있다는 결과가 나왔네요. 회귀 분석의 질이 좋을수록 전략용 인디케이터 선택에 도움이 됩니다.


3.3. 회귀 방정식 및 분석

회귀 분석을 실행했고 '좋은' 인디케이터들도 골랐습니다. 이제 이 모두를 회귀 방정식으로 변환해 보죠. 회귀 분석 결과표의 B열에 인디케이터 별 계수가 나타나 있습니다(그림 10). 절편은 회귀 방정식의 독립적인 구성 요소이며 독립 계수가 됩니다.

그림 10의 표를 가지고 회귀 방정식을 만들어 보겠습니다.

가격=22.7+205.2*dDemarker-41686.2*dAC-139.3*DeMarker+22468.8*Bulls-14619.5*Bears

앞서 살펴본 해당 방정식을 기반으로 하는 EA의 실적 테스트 결과와 함께 MQL5 코드로 소개된 식과 동일합니다. 회귀 분석이 전략 테스터로서의 기능도 한다는 것이죠. 분석을 통해 특정 전략을 제시하고 인디케이터 목록에서 전략에 적합한 인디케이터를 골랐씁니다.

해당 식의 안정성을 분석하고자 하는 경우 다음을 확인하면 됩니다.

  • 방정식 내 극단값
  • 잔차 분포의 정규화
  • 방정식 독립 변수가 만드는 비선형 효과

잔차 분석을 통해 위의 사항을 확인할 수 있는데요. 분석을 실행하려면 결과 창에서 OK를 클릭하면 됩니다(그림 8). 분석을 하고 나면 소수의 극단값이나 약간의 편차 또는 매개 변수의 비선형성에는 분석식이 영향을 받지 않는다는 사실을 알 수 있는데요.

비선형성이 높은 경우 변수를 선형화하면 됩니다. 스타티스카는 비선형 회귀 분석 기능을 제공하죠. 통계->고급 선형/비선형 모델->비선형 회귀 분석을 클릭하면 됩니다. 그 결과 다중 회귀 분석이 분석 데이터 내 약간의 노이즈에 영향을 받지 않는다는 사실을 알 수 있습니다.


4. 회귀 분석으로 전략 최적화하기

회귀 분석을 이용하면 수천 개의 변수를 처리할 수 있기 때문에 전략 최적화에 사용할 수 있습니다. 인디케이터에 50개의 피리어드를 적용해야 하는 경우, 이를 50개의 개별 변수로 저장해 한꺼번에 회귀 분석을 실행할 수 있습니다. 스타티스티카의 표는 65536개의 변수를 포함할 수 있죠. 인디케이터 당 50개 피리어드를 처리하는 경우 약 1300가지 인디케이터가 분석됩니다!MetaTrader5의 기본 테스터로는 절대 할 수 없는 일이죠.

같은 방법으로 우리 데이터를 최적화하겠습니다. 앞서 언급했듯 최적화를 진행하려면 인디케이터 표준 기간의 두 배 기간을 갖는 인디케이터 값이 데이터에 추가되어야 합니다. 해당 변수는 이름이 '_p'로 끝납니다. 이제 표준 기간이 적용도니 인디케이터를 포함해 총 60개의 변수가 생겼네요. 분석 결과 다음과 같은 표가 생성됩니다(그림 11).

그림 11. 여러 기간이 적용된 인디케이터 분석 결과

그림 11. 여러 기간이 적용된 인디케이터 분석 결과

해당 회귀 분석식은 11개의 변수로 이루어집니다. 표준 기간 인디케이터에서 6개, 추가 기간 인디케이터에서 5개를 가져왔죠. 변수와 가격의 상관 관계가 25% 증가했습니다. 두 기간에 해당하는 MACD 인디케이터의 변수가 모두 분석식에 포함된 것 같군요.

다른 기간이 적용된 동일한 인디케이터의 값은 회귀 분석에서 서로 다른 변수로 처리되므로 분석식은 다양한 기간을 갖는 인디케이터 값을 포함할 수 있습니다. 예를 들어, 분석을 통해 RSI(7) 값은 가격 상승과, RSI(14) 값은 가격 하락과 관련이 있음을 알 수 있죠. 기본 테스터로는 이렇게 자세한 분석은 불가능합니다.

추가 분석을 통해 생성된 회귀 분석식은 다음과 같습니다(그림 11).

가격=297+173*dDemarker-65103*dAC-177*DeMarker+28553*Bulls_p-24808*AO-1057032*dMACDms_p+2.41*WPR_p-2.44*Stoch_m_p+125536*MACDms+18.65*dRSI_p-0.768*dCCI

해당 분석식이 EA에 어떻게 적용되는지 보겠습니다.? 그림 12는 회귀 분석에 적용된 2011년 7월1일부터 2011년 9월 1일까지의 데이터를 이용해 EA를 테스트한 결과입니다. 차트가 좀 더 매끈해졌고 EA는 더 많은 수익을 낳았네요.

그림 12. 트레이닝 데이터를 적용한 EA 실행 결과

그림 12. 트레이닝 데이터를 적용한 EA 실행 결과

2011년 9월 1일부터 2011년 11월 1일까지의 데이터를 가지고 EA를 테스트하겠습니다. 표준 기간 인디케이터만을 적용한 EA보다 수익 차트가 나쁘네요. 이렇게 생성된 분석식의 경우 정상성과 내부 인디케이터의 비선형성을 확인해 볼 필요가 있습니다.

표준 기간 인디케이터에서 비선형성이 관찰되었으므로 추가 기간 인디케이터에서는 더 강하게 나타날 겁니다. 이 경우 분석식의 변수를 선형화하면 문제를 개선할 수 있죠. 어쨌거나 EA가 크게 망한 건 아니고 그냥 수익이 없는 정도네요. 따라서 해당 전략은 꽤 안정적이라고 할 수 있습니다.

그림 13. 테스트 데이터를 적용한 EA 실행 결과

그림 13. 테스트 데이터를 적용한 EA 실행 결과

MQL5의 경우 파일의 한 줄에 64개의 변수 아웃풋만을 지원합니다. 스케일이 큰 인디케이터 분석의 경우 스타티스카 또는 엑셀을 이용해 데이터 표를 병합해야 합니다.


결론

회귀 분석을 이용하면 가격 예측에 가장 유의미한 인디케이터를 선택할 수 있습니다. 주어진 데이터 내에서 어떤 기간을 적용하면 인디케이터가 최상의 결과를 낳는지도 알 수 있죠.

회귀 분석식은 쉽게 MQL5 언어로 변환할 수 있으며 프로그래밍 경험이 많지 않아도 사용할 수 있습니다. 따라서 다중 회귀 분석을 매매 전략 개발 과정에서 이용하는 게 좋겠죠. 회귀 분석식이 매매 전략의 기초를 다져 줄 수 있으니까요.


MetaQuotes 소프트웨어 사를 통해 러시아어가 번역됨.
원본 기고글: https://www.mql5.com/ru/articles/349

파일 첨부됨 |
masterdatar.zip (5271.46 KB)
r_check.mq5 (9.93 KB)
r_collection.mq5 (17.37 KB)
최초 구매 고객을 위한 팁 최초 구매 고객을 위한 팁
유명한 말이 있죠? '실패는 성공의 어머니다'라고. 반박하기 힘든 말입니다. 여러분 또는 타인의 과거의 실패를 분석해서 미래의 실패를 최소화할 수 있죠. 구인 서비스를 이용할 때 일어날 수 있는 여러 상황에 대해 알아보겠습니다.
MetaTrader 5를MetaTrader4 시그널 프로바이더로 활용하기 MetaTrader 5를MetaTrader4 시그널 프로바이더로 활용하기
MetaTrader 5의 거래 분석을MetaTrader4에서 실행하는 방법, 그 예제 및 분석MetaTrader5로 시그널 프로바이더를 만들어 클라이언트에 연결하고,MetaTrader4에서 실행하는 방법을 알아보겠습니다.MetaTrader4의 실제 거래 계좌로 자동 매매 챔피언십 참가자들을 따르는 방법도 배우실 겁니다.
박스-칵스(Box-Cox) 변환 박스-칵스(Box-Cox) 변환
이 글은 박스-칵스 변환에 대한 설명입니다. 박스-칵스 변환 사용 관련 문제를 다루며 임의의 시퀀스와 실제 시세를 적용한 변환 효율성 평가 예제가 포함되어 있습니다.
MQL5-RPC. MQL5에서의 원격 프로시져 호출(Remote Procedure Call): 재미와 돈을 위한 웹 서비스 접속과 XML-RPC ATC 분석기 MQL5-RPC. MQL5에서의 원격 프로시져 호출(Remote Procedure Call): 재미와 돈을 위한 웹 서비스 접속과 XML-RPC ATC 분석기
본 문서에서는 MQL5에서 원격 프로시져 호출(Remote Procedure Call)을 활성화시켜주는 MQL5-RPC 프레임워크에 대해 알아볼 것입니다. 우선 XML-RPC 기초로 시작하여, MQL5 구현을 짚고, 그 뒤엔 실용 예제 두개를 다뤄볼 것입니다. 첫 예제는 간단한 외부 웹 서비스를 이용하는 것이고 두번째 예제는 간단한 XML-RPC ATC 2011 분석기 서비스 클라이언트입니다. 만약 리얼타임으로 ATC 2011의 각기 다른 통계 자료를 구현하고 분석하는지 보고싶으시다면 이 문서는 바로 당신을 위한 것입니다.