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

 
СанСаныч Фоменко #:

사 분위수는 확률입니다. 따라서 1% 미만/99% 이상 또는 기타 수량 범위에 속할 확률이 있는 데이터를 제거/대체합니다. 수량을 잘라낼 수는 없습니다. 왜곡된 분포와 꼬리가 있는 분포가 있기 때문입니다.

그들은 대체값을 환경부가 해당 수량을 예측한 것으로 간주하는 것이 가장 좋다고 씁니다. 그러나 그것은 제게는 약간 과한 것 같습니다.

요점은 오토마톤에서 분포를 결정하기 어려운 경우가 많다는 것입니다.

종종 로그 정규 분포로 추정되지만 이는 이상값 때문일 뿐, 그렇게 해야 한다는 논리는 없습니다.

그리고 사분위수를 취하면 전체 범위를 잘라내는 것이므로 이상값을 제거하기에 충분하지 않습니다.


두 번째 샘플에서는 매우 이상한 결과를 얻었습니다. 조작 없이 빠르게 학습했지만 이상값이 있는 행을 제거한 후 학습 효과가 거의 0과 같아졌습니다.

이제 나는 느린 학습 속도를 켜고 밤새도록 켜서 무엇이든 줄지 볼 것입니다.

그렇지 않으면 전체 학습 과정이 적어도 실험에서 사용하는 공개 예측자를 사용하여 이상값을 암기하는 데 기반한다는 것이 밝혀졌습니다.

 
Aleksey Vyazmikin #:

정확히 요점은 자동 배포를 결정하기 어려운 경우가 많다는 것입니다.

종종 로그 정상이지만 이는 배출량 때문일 뿐, 그렇게 해야 한다는 논리는 없습니다.

그리고 사분위수를 취하면 전체 범위를 잘라내는 것이므로 이상값을 제거하기에 불충분합니다.


두 번째 샘플에서는 매우 이상한 결과를 얻었습니다. 조작 없이 빠르게 학습했지만 이상값이있는 행을 제거한 후 학습 효과는 거의 0과 같았습니다.

이제 나는 느린 학습 속도를 켜고 밤새도록 켜고 무엇이든 줄지 볼 것입니다.

그렇지 않으면 전체 학습 프로세스가 적어도 실험에서 사용하는 공개 예측자를 사용하여 이상값을 암기하는 데 기반한다는 것이 밝혀졌습니다.

겨울에 EA까지 모델을 실행했습니다 (이 스레드에 결과를 게시했습니다). 분류 오류는 20 % 미만이었고 이상값에 의해 포착 된 반대 결과를 얻었습니다. 결과적으로 정확한 예측의 80%가 이러한 오류로 인해 무효화되었습니다.

한 가지 분명한 것은 이상값을 제거해야 한다는 것입니다. 그리고 모델의 실제 결과는 이상값이 없는 것입니다.

 
СанСаныч Фоменко #:

겨울에 모델을 EA에 따라잡았습니다(이 스레드에 결과를 게시했습니다). 분류 오류는 20% 미만이었고, 이상값에 의해 발견되었습니다. 결과적으로 정확한 예측의 80%가 이러한 오류로 인해 무효화되었습니다.

한 가지 분명한 것은 이상값을 제거해야 한다는 것입니다. 그리고 모델의 실제 결과는 이상값이 없는 것입니다.

가장자리에는 분명히 일부 클래스로의 확률 이동이 있으며 이는 그 자체로 나쁘지 않으며 이러한 관찰이 통계적으로 유의미한 결론을 내리기에는 충분하지 않다는 것이 나쁩니다.

따라서 이상값에 0이 더 많은 것은 정상이고 0이 더 많은 것은 예측자 집합에 따라 다릅니다.

또한 이상값이 양쪽에서 관찰되는 경우 한쪽은 0에 가깝고 다른 쪽은 1에 가까운 경우도 발생합니다.

 
Aleksey Vyazmikin #:

최종 코드는 어디에서 볼 수 있나요?

이 스레드에 모든 것을 게시했습니다.

 
Rorschach #:

소스가 열려 있으므로 살펴볼 수 있습니다. 상관 관계를 계산하는 기능, 오른쪽에 [소스]라는 문구가 있으며 클릭하면 코드로 이동합니다. 우리는 2885-2907 줄에 관심이 있습니다. 2889 줄에서는 공분산을 사용하며, cov를 클릭하면 코드에서 cov에 대한 모든 언급이 오른쪽에 나타나고, def cov...가 있는 줄을 클릭하면 공분산 함수로 이동합니다. 를 클릭하면 공분산 함수로 이동하는 등의 방식으로 표시됩니다. MQL C 유사 언어, 모든 C 유사 언어는 ~ 90 % 유사하며 C #, Java, Python, JavaScript를 큰 문제없이 이해할 수 있습니다.

고마워요. 알고리즘화에 대한 열정이 조금 식었으니 다시 열정이 돌아오면 다시 살펴보겠습니다.

 
fxsaber #:

이 스레드에 모든 내용을 게시한 것 같습니다.

물론 읽었지만 연대기에 따르면 포레스터가 오류를 발견하고 이에 동의 한 다음 코드의 일부가 수정되었습니다.

그리고 결국 저는 여기에서 최종 코드의 전체 버전을 보지 못했습니다. 코드를 게시 할 의무가 있다는 뜻이 아니라 그냥 물어 보았습니다 ...

 
Aleksey Vyazmikin #:

물론 저도 읽었지만 연대기에서 포레스터가 오류를 발견하고 이에 동의한 후 코드의 일부가 수정되었습니다.

그리고 결국 최종 코드의 전체 버전은 여기에서 볼 수 없었습니다. 코드를 게시 할 의무가 있다는 뜻이 아니라 그냥 물어 보았습니다.

빠르고 한 줄씩 (수정 됨).

트레이딩, 자동매매 시스템 및 트레이딩 전략 테스트에 관한 포럼.

트레이딩의 기계 학습 : 이론, 모델, 실습 및 알고리즘 트레이딩

fxsaber, 2023.10.01 09:38

#include <Math\Alglib\statistics.mqh> // https://www.mql5.com/ru/code/11077

const matrix<double> CorrMatrix( const matrix<double> &Matrix )
{
  matrix<double> Res = {};
  
  const CMatrixDouble MatrixIn(Matrix);
  CMatrixDouble MatrixOut;  

  if (CBaseStat::PearsonCorrM(MatrixIn, MatrixIn.Rows(), MatrixIn.Cols(), MatrixOut)) // https://www.mql5.com/ru/code/11077
    Res = MatrixOut.ToMatrix();
  
  return(Res);
}

const matrix<double> CorrMatrix2( const matrix<double> &Matrix )
{
  matrix<double> Res = {};
  Res.Init(Matrix.Cols(), Matrix.Cols());
  
  const CMatrixDouble MatrixIn(Matrix);
  CMatrixDouble Vector(Matrix);
  CMatrixDouble Corr;

  for (int i = 0; i < (int)Matrix.Cols(); i++)
  {
    if (i)
      Vector.SwapCols(0, i);
    
    CBaseStat::PearsonCorrM2(Vector, MatrixIn, MatrixIn.Rows(), 1, MatrixIn.Cols(), Corr);
      
    Res.Col(Corr.Row(0), i);
  }
  
  return(Res);
}
 
fxsaber #:

빠르고 줄 단위로 (수정됨).

감사합니다!

 
Maxim Dmitrievsky #:

지금은 제쳐두었지만 결과는 MO보다 나쁘지 않지만 MO는 균형의 부드러움 측면에서도 절름발이입니다.

5분, 하프 트레이닝


은 짧은 정지가있는 4 로쉬 성배의 비유에 지나지 않습니다.

 
Renat Akhtyamov #:

는 짧은 정거장이 있는 4로쉬 성배의 비유에 지나지 않습니다.

마이너스 잔고를 가진 헤지펀드에 비유할 수 있습니다.

사유: