기고글 토론 "측정 지표 정보"

 

새로운 기고글 측정 지표 정보 가 게재되었습니다:

머신러닝은 전략 개발을 위한 인기 있는 방법이 되었습니다. 수익성과 예측 정확도를 극대화하는 데는 더 많은 관심이 집중되었지만 예측 모델을 구축하는 데 사용되는 데이터 처리의 중요성은 그다지 주목을 받지 못했습니다. 이 글에서는 티모시 마스터스의 책 '시장 트레이딩 시스템 테스트 및 조정'에 설명된 대로 엔트로피 개념을 사용해 예측 모델 구축에 사용할 지표의 적절성을 평가하는 방법을 살펴봅니다.

예를 들어 위에서 분석한 두 지표의 통계적 속성을 살펴봅니다.

윌리엄스 퍼센트 범위

윌리엄스 퍼센트 범위의 분포를 보면 거의 모든 값이 전체 범위에 걸쳐 분포되어 있으며 다중 모달을 제외하고는 상당히 균일하게 분포되어 있음을 알 수 있습니다. 이러한 분포는 이상적이며 엔트로피 값에 반영됩니다.

시장 촉진 지수

이는 긴 꼬리를 가진 시장 촉진 지수 분포와 대조적입니다. 이러한 지표는 대부분의 학습 알고리즘에서 문제가 될 수 있으며 값을 변환하는 작업이 필요합니다. 값을 변환하면 지표의 상대 엔트로피가 개선될 것입니다.


작성자: Francis Dube

 
MetaQuotes:

지표의 정보성을 측정하는 문서가 게시되었습니다:

저자: Francis Dube

그렇다면 왜 이렇게 많은 글자가 있을까요? 그렇다면 저자는 가치 있는 지표를 찾아냈을까요? 내 말은, 그는 반죽을 위한 무언가를 찾았나요? 요점은 간단합니다. 수익 확률이 높은 돈을위한 도구가 있습니까? 아니면 룰렛처럼 모두 똑같습니까, 그럴 수도 있고 그렇지 않을 수도 있습니다.
수백만 명의 사용자, 수백만 명의 전략가, 수년간의 거래, 그리고 시장은 아직 새로운 클론 다이커로 인해 붕괴되지 않았습니다. 그들이 가치있는 옵션을 가져 오지 않았기 때문에 스스로 선택하지 않습니다. 저자가 성배를 발굴 했습니까, 아니면 학문적 과학이며 저자는 데포 성장을 보증하지 않습니까? Heh
 
이 기사는 훌륭합니다! 이런 종류의 장르가 바로 MQl5에서 누락된 부분입니다. Thanks
 

이 주제를 제기해 주셔서 감사합니다.

기사의 두 부분을 인용하여 다소 모순되는 정보에 대해 의견을 제시해 주세요:

"

엔트로피 방정식을 연속형 변수에 적용하려면 지표 값을 이산화해야 합니다. 이는 값의 범위를 동일한 크기의 간격으로 나눈 다음 각 간격에 속하는 값의 수를 세는 방식으로 수행됩니다. 이 방법을 사용하면 모든 지표 값의 최대 범위를 열거하는 원래 집합이 각각 선택한 간격을 나타내는 하위 집합으로 대체됩니다.

...

간격 - 샘플링할 간격의 수입니다. TTMTS의 작성자는 수천 개의 샘플 크기에 대해 20개의 인터벌을 지정하고 있으며, 2가 최소값입니다. 저는 샘플 크기에 따라 간격 수를 변경하는 기능을 구현하여 적절한 값에 대한 저만의 접근 방식을 추가했습니다(예: 샘플 1000개당 51개). 이 옵션은 사용자가 2보다 작은 값을 입력하면 사용할 수 있습니다. 따라서 간격을 2보다 작은 값으로 설정하면 분석 중인 막대 수에 따라 사용되는 간격의 수가 달라집니다.

"

질문, 이것도 같은 의미인가요? 그렇다면 지표 값 범위의 구분 기호 수가 막대 수에 따라 달라지는 이유는 무엇인가요? 여기에는 어떤 논리가 있을까요? 지금까지는 누적 구성 요소가있는 지표에만 유용하다고 가정 할 수 있습니다.

그렇지 않다면 범위 분할기의 수는 얼마입니까?


이 문서에는 지표 값 변환의 이점을 명확하게 보여줄 수 있는 표가 없습니다.

 
MetaQuotes:

새 문서 지표 정보 측정이 게시되었습니다:

작성자: Francis Dube

안녕하세요 프란시스

엔트로피 분석에 대한 사용자 지정 지표를 테스트하는 방법을 자세히 설명해 주시겠습니까?

아래와 같이 사용하려고 합니다:

입력 ENUM_TIMEFRAMES Timeframe=PERIOD_H1;

입력 ENUM_INDICATOR 인디케이터 유형=IND_CUSTOM;

입력 문자열 CustomIndicatorName="Indicators\\NKGold\\Regression\\iNonLinRegress.ex5";

입력 bool UseDefaults=true;

입력 문자열 IndicatorParameterTypes="int,CENUM_APPLIED_PRICE";

입력 문자열 IndicatorParameterValues="34,priceHA_WEIGHTED";

아래와 같이 에러가 발생합니다.

2025.03.26 19:53:11.282 엔트로피지표분석 (XAUUSD,H1) 사용자 지정 지표 'Indicators\NKGold\Regression\iNonLinRegress.ex5'를 로드할 수 없음 [4802]

2025.03.26 19:53:11.282 엔트로피지표분석 (XAUUSD,H1) 잘못된 지표 핸들, 오류 코드: 4802


 
Ivbmw #:
왜 이렇게 많은 편지가 있나요? 작성자가 유효한 지표를 확인했나요? 다시 말해, 그는 돈을 위해 무언가를 찾았습니까? 질문은 간단합니다: 높은 확률로 돈을 벌 수 있는 도구가 있나요? 아니면 룰렛처럼 모두 똑같습니까? 작동하거나 작동하지 않습니다.
수백만 명의 사용자, 수백만 명의 전략가, 수년간의 거래, 그리고 새로운 클론디커로 인해 시장은 여전히 붕괴되지 않았습니다. 유효한 옵션이 없었기 때문에 그들 역시 자신과 마찬가지로 셀프 픽을 하지 않습니다. 저자가 성배를 발굴 한 것입니까 아니면 이것이 학문적 과학이며 저자는 데포 성장을 보증하지 않습니까? Heh

이 기사는 지폐를 확실히 인쇄할 수 있는 성배를 발견했다고 주장하지 않습니다. 이 글의 목표는 지표가 학습 모델에 제공하는 풍부한 정보를 측정하는 방법을 보여주는 것입니다.

  • 엔트로피 점수가 높다는 것은 해당 변수가 사소하지 않다는 의미일 뿐입니다(알고리즘이 학습할 수 있을 만큼 충분히 변합니다). 방향성, 타이밍 또는 성공적인 자금 관리를 보장하지는 않습니다.

  • 선택한 기간 동안 시장이 이미 효율적이거나 거래 비용이 신호를 흡수하거나 모델이 잘못 설계된 경우 매우 유용한 지표라도 예측력이 떨어지는 것으로 판명될 수 있습니다.

  • 실제로는 엔트로피가 좋은 지표 선택, 엄격한 표본 외 테스트, 리스크 관리, 강력한 실행, 실시간 모니터링 등 여러 가지 구성 요소가 쌓여 있습니다. 이 모든 단계를 결합해야만 작은 우위를 점할 수 있으며, 시장이 적응함에 따라 지속적으로 재점검해야 합니다.

  • 저자는 학술적인 진단 도구를 제공합니다. 성공을 보장하지는 않습니다. 이 도구를 사용하여 기능을 개선하거나, 반대로 선호하는 지표가 새로운 것을 추가하지 않는다는 것을 깨닫는 데 자유롭게 사용할 수 있습니다.

요컨대, 엔트로피는 온도계이지 만병통치약이 아닙니다. 엔트로피는 죽은 변수나 활용도가 낮은 변수를 빠르게 발견하는 데 도움이 됩니다. 엔트로피는 전략이나 리스크 관리를 대신할 수 없습니다.

 
Aleksey Vyazmikin 값의 범위를 동일한 크기의 간격으로 나눈 다음 각 간격의 값 수를 계산합니다. 이 방법을 사용하면 모든 지표 값의 최대 범위를 나열하는 초기 집합이 선택한 각 간격을 나타내는 하위 집합으로 대체됩니다.

...

간격 - 샘플링할 간격의 수입니다. TTMTS의 작성자는 수천 명의 샘플에 대해 20개의 간격을 지정하며, 2는 절대 최소값입니다. 저는 샘플 크기와 관련하여 간격 수를 변경하는 기능을 구현하여 적절한 값에 대한 저만의 접근 방식을 추가했습니다(예: 1000개의 샘플에 대해 51개). 이 옵션은 사용자가 2보다 작은 값을 입력하는 경우에 사용할 수 있습니다. 따라서 간격을 2보다 작은 값으로 설정하면 분석되는 막대 수에 따라 사용되는 간격의 수가 달라집니다.

"

질문: 이것도 같은 의미인가요? 그렇다면 지표 값 범위의 구분 기호 수가 막대 수에 따라 달라지는 이유는 무엇인가요? 그 이면의 논리는 무엇인가요? 지금까지는 누적 구성 요소가있는 지표에만 유용하다고 가정 할 수 있습니다.

그렇지 않은 경우 범위의 구분자 수는 무엇에 해당하나요?


이 문서에는 지표 값 변환의 이점을 명확하게 보여줄 수 있는 표가 없습니다.

연속형 변수의 엔트로피를 추정하기 위해 값의 범위를 동일한 간격으로 나누고 각 간격의 관측값을 계산합니다. 스크립트에서간격 수를 선택할 수 있습니다. 2 미만을 입력하거나 기본값을 그대로 두면 스크립트에서 자체 휴리스틱, 즉 표본 크기에 비례하는 숫자, 즉 1,000개 관찰당 51개의 간격이 트리거됩니다. 2를 초과하는 값을 입력하면 그대로 사용하므로 이 두 가지 방법은 경쟁하는 두 가지 방법이 아닙니다. 하나는 개념을 설명하고, 다른 하나는 사용자가 직접 설정하지 않을 때 코드가 매개변수를 선택하는 방법을 설명합니다.


간격이 너무 적으면 값을 인위적으로 서로 붙이게 됩니다. 엔트로피가 과소평가됩니다 (바이어스). 작은 샘플에 비해 간격이 너무 많으면 빈 빈이나 관측값이 1개인 빈이 많이 생깁니다. 엔트로피가 매우 잡음이 많은 경우(분산). 히스토그램에는 여러 가지 자동 규칙이 존재합니다(스터지스, 제곱근, 프리드먼-디아코니스, 스콧 등). 모두 동일한 아이디어를 가지고 있습니다. 더 많은 데이터가 있을 때 해상도를 높이면 분산이 커지지 않고 더 정밀한 확률을 추정할 수 있기 때문입니다.


1,000개의 막대의 경우, 분포가 균일하다면 51개 간격 = 구간당 20개 포인트입니다. 이 비율(15~30개 관찰/클래스 사이)은 저자가 문헌에서 가져온 고전적인 절충안입니다. 이는 지표의 누적 여부와는 아무런 관련이 없습니다. 이 논리는 순전히 통계적인 것입니다. 그리드의 정교함은 사용 가능한 정보의 양에 맞게 조정됩니다.


히스토그램의 세로 막대 수가 많을수록 :
  • 표시기의 미세한 분포를 더 잘 볼 수 있습니다,

  • 엔트로피 계산이 더 많은 세부 사항(최고점과 최저점)을 포착할 수 있습니다,

  • 하지만 이러한 주파수가 안정적으로 유지되려면 더 많은 데이터가 필요합니다.


예를 들어 동일한 지표의 변환 전과 후의 엔트로피를 보여 주었더라면 이 글에 더 많은 도움이 되었을 것입니다. 하지만 이 데모는 직접 쉽게 할 수 있습니다. 스크립트에서 ApplyTransform=true를 체크하고 이전과 이후의 이중 출력을 읽기만 하면 됩니다. 이 코드는 모든 사람이 자신의 자산과 지평을 테스트할 수 있도록 의도적으로 이 부분을 대화형으로 남겨두었습니다.

 
niouininon #:
히스토그램에 세로 막대가 많을수록:
  • 지수 분포의 미묘함이 더 눈에 띕니다,

  • 엔트로피 계산이 더 많은 세부 사항(최고점과 최저점)을 포착할 수 있습니다,

  • 하지만 이러한 주파수를 안정적으로 만들려면 더 많은 데이터가 필요합니다.

제가 알기로는 히스토그램을 통해 샘플의 지표 점수를 시각화하는 것은 저자의 데이터 변환 방법과는 아무런 관련이 없는 것으로 알고 있습니다. 제 말이 맞나요?

저는 이러한 변환의 훈련 효과에 대한 질문에 더 관심이 있습니다. 신경망에 대해서는 가정할 수 있지만 트리 메서드에 대해서는 가정할 수 없습니다.

 
Aleksey Vyazmikin #:

제가 올바르게 이해했다면 히스토그램을 사용하여 샘플의 지표 점수를 시각화하는 것은 작성자의 데이터 변환 방법과는 아무런 관련이 없습니다. 제 말이 맞나요?

저는 이러한 변환의 노크 효과에 대한 질문에 더 관심이 있습니다. 신경망에 대해서는 가정할 수 있지만 트리 메서드에 대해서는 가정할 수 없습니다.

스크립트가 그리는 히스토그램은 단순히 시각적 진단 도구일 뿐입니다. 이는 변환 전후에 지표의 값이 샘플에 어떻게 분포되어 있는지를 보여줍니다. sqrt, log, tanh 등의 함수가 데이터에 작용합니다. 히스토그램은 단순히 결과를 표시합니다. 따라서 두 단계는 독립적입니다. 먼저 계열을 변환(또는 변환하지 않음)한 다음 히스토그램을 그려서 엔트로피가 변경되었는지 확인합니다.

다소 단조로워진 지표(로그, sqrt)를 변환해도 점수는 변하지 않는 경우가 많습니다. 반면에 단조롭지 않은 변환(포화 상태인 탄)은 특정 점의 순서를 변경합니다. 즉, 특정 변환은 비선형 상호 작용을 만들기 위한 기반을 더 잘 준비합니다.

 
niouininon #:

스크립트로 작성된 히스토그램은 단순히 시각적 진단 도구입니다. 변환 전후에 지표 값이 샘플에 어떻게 분포되어 있는지를 보여줍니다. sqrt, log, tanh 등의 함수가 데이터에 영향을 줍니다. 히스토그램은 단순히 결과를 표시합니다. 따라서 두 단계는 독립적입니다. 먼저 계열을 변환(또는 변환하지 않음)한 다음 히스토그램을 그려 엔트로피가 변경되었는지 확인합니다.

이제 요점을 알겠습니다. 원래는 다른 것을 생각하고 있었는데요.

니우이논 #:

상당히 단조로운 지수(로그, sqrt)를 변환해도 결과는 변하지 않는 경우가 많습니다. 반면에 단조롭지 않은 변환(탄, 포화)은 특정 점의 순서를 변경합니다. 즉, 특정 변환은 비선형 상호 작용을 만들기 위한 기반을 더 잘 준비합니다.

이렇게 하면 점의 순서가 어떻게 바뀌나요? 그러한 변환의 예를 들어주시겠어요? 지금까지는 오름차순으로 고유값이 있는 ABC 점이 있고, 변환 후에는 오름차순의 순서가 BAC가 된다는 의미로 이해했습니다.

 
Aleksey Vyazmikin #:

이제 알겠습니다. 원래는 다른 것을 생각하고 있었는데요.

포인트 순서가 어떻게 바뀌나요? 그러한 변환의 예를 들어주실 수 있나요? 지금까지는 오름차순으로 고유값이 있는 점 ABC가 있고, 변환 후 오름차순이 번갈아 가며 BAC가 된다는 것을 이해했습니다.

스크립트의 함수(root, log, tanh 등)는 모두 단조롭게 증가합니다. 모두 포인트의 순서를 유지합니다. 이전 문장은 모호했습니다. 단조롭지 않은 변환을 사용하는 경우에만 ABC에서 BAC로 순서가 변경됩니다. 예를 들어, 제가 착각한 것이 아니라면 함수 f(x)=∣x-50∣은 x= 50을 중심으로 축을 접는 것이므로 단조롭지 않습니다. 따라서 순서는 BAC가 됩니다. 이 글의 저자는 서문에서"Timothy Masters의 시장 트레이딩 시스템 테스트 및 튜닝(TTMTS)"이라는 책을 소개합니다. 저도 저자와 마찬가지로 몇 가지 궁금한 점이 있어서 이 책을 읽어볼 계획입니다. 게다가 저는 학습 모델이나 신경망에 대해 잘 알지 못합니다. 온라인 판매 사이트에서 쉽게 찾을 수 있는 것 같습니다. 그 기사가 아무리 흥미롭더라도 의심 할 여지없이 불완전하거나 어쨌든 다소 합성 된 내용이기 때문에 그 내용은 우리에게 큰 도움이 될 것입니다.