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

 
막심 드미트리예프스키 :

위에 썼습니다. 조각의 절반은 메인 모델이고 다른 절반은 두 번째 수정 사항입니다.

그런 다음 5-10 폴드로 충분합니다. 아마도 더 많을 것입니다.

위에 쓴 내용은 이해가 됩니다.

나는 "5-10 폴드"가 무엇을 의미하는지 이해하지 못합니다.

 
알렉세이 비아즈미킨 :

위에 쓴 내용은 이해가 됩니다.

나는 "5-10 폴드"가 무엇을 의미하는지 이해하지 못합니다.

데이터 세트를 동일한 섹션으로 분할합니다. 예를 들어 5개 조각이라고 가정해 보겠습니다.

1,3,4를 결합하고 기본 모델을 학습시킵니다.

결합 2.5. 첫 번째 모델을 실행하고 결과를 얻으십시오.

이 2.5에서 두 번째 모델을 첫 번째 결과에 대해 훈련하고 손실 거래를 수정합니다.

전체 데이터 세트와 새 데이터에 대해 두 모델을 모두 실행하고 결과를 확인합니다.

 
알렉세이 비아즈미킨 :

정확히 무엇을 계산합니까?

포트폴리오에서 평소와 같이 - 가중치(자산, 시스템). 귀하의 경우 예를 들어 0 - 리프 신호의 가상 거래, 1 - 실제 거래가 될 수 있으며 -1 - 신호 반전을 추가할 수 있습니다. 각 포트폴리오는 0, 1 또는 -1의 잎 길이 벡터에 해당합니다. 예를 들어 최적화는 손실 및 포트폴리오 볼륨에 대한 패널티와 함께 이익에 대해 매월 수행됩니다.

 
막심 드미트리예프스키 :

데이터 세트를 동일한 섹션으로 분할합니다. 예를 들어 5개 조각이라고 가정해 보겠습니다.

1,3,4를 결합하고 기본 모델을 학습시킵니다.

결합 2.5. 첫 번째 모델을 실행하고 결과를 얻으십시오.

이 2.5에서 두 번째 모델을 첫 번째 결과에 대해 훈련하고 손실 거래를 수정합니다.

전체 데이터 세트와 새 데이터에 대해 두 모델을 모두 실행하고 결과를 확인합니다.

그리고, 이제 명확해졌습니다. 샘플이 일종의 혼합되어 두 번째 모델에 대한 교육이 없는 두 번째 모델, 즉 교육을 완료하는 방법을 교육했다는 의미입니다. 우리는 이것을 어떻게 구현할 수 있을지 생각해야 하지만 아마도 이 프로젝트 에서는 2019년에 두 번째 모델을 훈련시키는 것 외에는 더 이상 방법이 없지만 훈련 외에는 결과를 확인할 곳이 없을 것입니다.

 
알렉세이 니콜라예프 :

포트폴리오에서 평소와 같이 - 가중치(자산, 시스템). 귀하의 경우 예를 들어 0 - 리프 신호의 가상 거래, 1 - 실제 거래가 될 수 있으며 -1 - 신호 반전을 추가할 수 있습니다. 각 포트폴리오는 0, 1 또는 -1의 잎 길이 벡터에 해당합니다. 예를 들어 최적화는 손실 및 포트폴리오 볼륨에 대한 패널티와 함께 이익에 대해 매월 수행됩니다.

여기서 문제는 계수를 다시 롤링하는 빈도입니다. 드물게 발생하는 경우 추세에 뒤처지고, 자주 발생하는 경우 적합성이 끔찍할 것입니다. 왜냐하면 전략 자체가 하락을 허용하고 목록이 이 접근 방식을 복잡하게 만드는 분기입니다.

 
막심 드미트리예프스키 :

테스터가 수리 된 것 같으며 아무데도 엿보지 않으며 결과는 다음과 같습니다.

EURUSD 기차+유효, 10k 바


EURUSD 테스트 50k 바

EURUSD에서 훈련된 동일한 모델이지만 GBPUSD, 50,000 막대에서 테스트됨

USDCHF의 동일한 패턴

글쎄, 그것은 의미가있는 것 같습니다. 말하자면, 상승 추세가 있습니다)

뭔가 고려하지 않았을 수도 있지만 이동 중에 aglib 숲보다 분명히 낫습니다 (개선을 위해 더 많이 추가했지만)

발빠르게 달리고 시그널도 많고 포트폴리오를 만들어 볼 수도 있다. 그리고 샘플의 시간 범위는 무엇입니까?

 
알렉세이 비아즈미킨 :

발빠르게 달리고 시그널도 많고 포트폴리오를 만들어 볼 수도 있다. 그리고 샘플의 시간 범위는 무엇입니까?

약 15분에 1년 반

음, 이것은 프로브입니다. 감소와 다른 모든 것을 제거해야합니다.

 
막심 드미트리예프스키 :

약 15분에 1년 반

음, 이것은 프로브입니다. 감소와 다른 모든 것을 제거해야합니다.

스프레드가 모든 것을 집어삼키더라도 거래가 많은 것 같습니다... 어쨌든 가능성은 있습니다. 행운을 빕니다!

 

나는 분할 중 모델의 메트릭 지표의 변화 역학을 조금 살펴보기로 결정했으며 1, 20 및 48 단계 (마지막 처리)를 취했으며 이러한 요약 표가 나타났습니다.

훈련이 수행된 샘플의 지표입니다.

결과는 나에게 흥미롭게 보입니다. 우선 정확도가 52% -53%에 불과한 트리로 작업하고 있다는 사실에 주목할 가치가 있습니다. 이는 모델 전체에서 매우 작은 것으로 보입니다. 거래의 경우 진입을 건너뛰는 것보다 올바른 방향으로 진입하는 것이 더 중요하기 때문에 전체 모델은 우리에게 거의 관심이 없습니다. 특정 순간에 클래스 "-1" 및 "1"의 정확도는 원래 버전보다 4% 및 3% 증가한 값에 도달했으며 클래스 "0"은 정확도를 1-2%만 잃어버렸지만, 동시에 "-1", "1" 클래스의 완성도는 낮아지지만, 이에 따라 "0" 클래스의 완성도도 높아진다.

이 단계에서 루트 예측 변수의 약 10%가 샘플에서 제거되었습니다. 각 단계마다 하나씩이지만 모델은 무너지지 않았고 우리에게 중요한 개별 지표도 더 좋아졌습니다.

물론 48개 분할을 모두 처리하여 역학에 대한 자세한 정보를 얻을 수 있습니다. 지표에 간격이 있거나 그 반대의 경우 모든 지표가 선택한 벡터에서 움직이고 있을 수 있습니다. 그러나 내가 생각하는 가장 중요한 것은 거래에는 모델을 만드는 자체 방법이 필요하다는 것입니다. 그 원칙은 전체 구조를 설명하려고 하는 것이 아니라 구조의 일부를 나머지 부분보다 더 잘 이해하는 것이며 이제 좋은 모델, 나에게 알려진 모든 방법에서 모델은 엔트로피 또는 로그 손실, 즉 훈련을 위해 전체 모델이 평가됩니다. 원하는 경우 0과 1에 대한 지식이 필요하지만 1에 대해 더 알아야 합니다.

글쎄, 내가 앞에서 보여줬듯이, 나뭇잎에 의한 트리와 나뭇잎에 의한 선택 방법은 기존 모델에 비해 훈련 샘플의 분류 정확도를 20% -25% 증가시킵니다.

문제는 어떻게 프로세스 속도를 높일 수 있느냐는 것입니다. 저는 지금 트리를 생성하는 R 스크립트의 작업을 다시 생각하고 기술을 개선하고 속도를 높이는 것에 대해 생각할 수 있는 관심 있는 사람들을 찾고 있습니다.

 
알렉세이 비아즈미킨 :

나는 분할 중 모델의 메트릭 지표의 변화 역학을 조금 살펴보기로 결정했으며 1, 20 및 48 단계 (마지막 처리)를 취했으며 이러한 요약 표가 나타났습니다.

훈련이 수행된 샘플의 지표입니다.

결과는 나에게 흥미롭게 보입니다. 우선 정확도가 52% -53%에 불과한 트리로 작업하고 있다는 사실에 주목할 가치가 있습니다. 이는 모델 전체에서 매우 작은 것으로 보입니다. 거래의 경우 진입을 건너뛰는 것보다 올바른 방향으로 진입하는 것이 더 중요하기 때문에 전체 모델은 우리에게 거의 관심이 없습니다. 특정 순간에 클래스 "-1" 및 "1"의 정확도는 원래 버전보다 4% 및 3% 증가한 값에 도달했으며 클래스 "0"은 정확도를 1-2%만 잃어버렸지만, 동시에 "-1", "1" 클래스의 완성도는 낮아지지만, 이에 따라 "0" 클래스의 완성도도 높아진다.

이 단계에서 루트 예측 변수의 약 10%가 샘플에서 제거되었습니다. 각 단계마다 하나씩이지만 모델은 무너지지 않았고 우리에게 중요한 개별 지표도 더 좋아졌습니다.

물론 48개 분할을 모두 처리하여 역학에 대한 자세한 정보를 얻을 수 있습니다. 지표에 간격이 있거나 그 반대의 경우 모든 지표가 선택한 벡터에서 움직이고 있을 수 있습니다. 그러나 내가 생각하는 가장 중요한 것은 거래에는 모델을 만드는 자체 방법이 필요하다는 것입니다. 그 원칙은 전체 구조를 설명하려고 하는 것이 아니라 구조의 일부를 나머지 부분보다 더 잘 이해하는 것이며 이제 좋은 모델, 나에게 알려진 모든 방법에서 모델은 엔트로피 또는 로그 손실, 즉 훈련을 위해 전체 모델이 평가됩니다. 원하는 경우 0과 1에 대한 지식이 필요하지만 1에 대해 더 알아야 합니다.

글쎄요, 앞서 보여드린 것처럼, tree by leaves와 나의 선택 방법은 training sample의 분류 정확도를 일반적인 모델과 비교하여 20% -25% 증가시킵니다.

문제는 어떻게 프로세스 속도를 높일 수 있느냐는 것입니다. 저는 지금 트리를 생성하는 R 스크립트의 작업을 다시 생각하고 기술을 개선하고 속도를 높이는 것에 대해 생각할 수 있는 관심 있는 사람들을 찾고 있습니다.

그래서 당신은 logloss ~1, 즉 모델은 일반적으로 일어나고 있는 일로부터 공중에 떠 있습니다.

별도의 출입구를 위한 별도의 로고로스를 찾고 싶으신가요? 제대로 이해? 저것들. 시트 값과 대상 간의 정보를 kol-in?

'아무것도 하지 않는' 클래스는 위에서 언급한 다른 클래스에 비해 분명히 언밸런스한 편인데, 3-클래스 모델로 인해 이러한 문제가 있을 수 있습니다. 나머지 수치는 실망스럽습니다.