VolGuard Volatility Risk Manager
- 유틸리티
- 버전: 1.0
- 활성화: 20
MetaTrader용으로 팔리는 것들은 거의 전부 방향을 예측합니다. 그게 가능한 일인지를 EURUSD와 금의 13년치 데이터로 검증했습니다. 워크포워드 검증을 하고, 라벨을 무작위로 섞은 대조 실험도 함께 돌렸습니다.
방향은 48에서 51퍼센트 사이로 나왔습니다. 금에서는 같은 모델들이 섞은 라벨에 대해 53.4퍼센트를 냈습니다. 진짜 데이터보다 높습니다. 과적합된 시스템을 안에서 보면 바로 이런 모습이고, 백테스트 곡선이 증거가 되지 못하는 이유도 그것입니다.
내일 얼마나 움직이느냐는 다른 질문이고, 그 질문에는 답이 있습니다. VolGuard는 그 답 위에, 오직 그 위에만 세워져 있습니다.
무엇을 하는가
매일 일봉이 마감될 때 VolGuard는 시장이 내일 얼마나 움직일지 예측하고, 그 예측을 하나의 숫자로 바꿉니다. 포지션 크기에 곱해야 할 계수입니다.
평소의 두 배로 움직일 것으로 예측된 날은 절반 크기를 받습니다. 그래야 위험에 놓인 돈이 당신이 둔 자리에 그대로 있고, 조용히 두 배가 되지 않습니다. 조용한 날은 조금 더 받습니다. 당신이 정한 상한을 넘으면 아예 거래하지 말라고 말합니다. 격렬한 장에서의 작은 포지션도 여전히 격렬한 장에서의 포지션이기 때문입니다.
계수는 양쪽 끝에서 의도적으로 제한됩니다. 제한하지 않으면 아주 조용한 예측이 다섯 배 레버리지를 나눠주게 되고, 조용한 예측이 틀리는 날이야말로 중요한 날입니다.
패널
상태는 한 단어로 표시됩니다. NORMAL, REDUCED, BLOCKED 또는 WARMUP. 그다음 내일의 예측 변동폭을 해당 종목의 가격 단위로, 비교 기준이 되는 일반적인 변동폭, 둘 사이의 비율, 그리고 랏 계수를 보여줍니다.
방 건너편에서도 읽을 수 있을 만큼 크게 그려지며, 크기 조절이 됩니다.
당신의 EA가 읽는 방법
결정은 터미널 전역 변수로 게시되므로, 플랫폼에서 도는 어떤 프로그램이든 VolGuard를 알도록 고쳐 쓰지 않고도 사용할 수 있습니다.
double VolGuardMultiplier(const string symbol)
{
const string name = "VolGuard_" + symbol + "_mult";
if(!GlobalVariableCheck(name))
return(1.0);
return(GlobalVariableGet(name));
}
lots = lots * VolGuardMultiplier(_Symbol);
if(lots <= 0.0) return;
VolGuard가 돌고 있지 않으면 함수는 1.0을 반환하고 당신의 크기 계산은 건드려지지 않습니다. 0은 BLOCKED를 뜻합니다. 함께 VolGuard_<symbol>_state와 VolGuard_<symbol>_ratio도 게시됩니다.
수동으로 거래한다면 패널에서 랏 계수를 읽어 곱하면 됩니다.
무엇을 측정했는가
표본 외, 2022년 9월부터 2026년 8월까지. 무엇을 만드는 데도 쓰지 않은 데이터입니다. 모델은 21일마다 다시 학습되고, 각 날짜는 그 날을 본 적 없는 모델이 채점합니다. 이것이 제품이 실제로 하는 일이며, 백테스트에게 시킬 수 있는 말이 아닙니다.
금, 1031일: 예측과 결과의 순위 상관 +0.599. 뻔한 비교 대상, 즉 오늘의 변동폭을 내일의 예측으로 쓰는 방식은 +0.450. 로그 변동폭에 대한 결정계수는 +0.411.
EURUSD, 1039일: +0.511, 같은 비교 대상은 +0.403.
실전에서 중요한 숫자는 이것입니다. 금에서 모델이 격렬하다고 분류한 상위 3분의 1의 날들은, 조용하다고 분류한 하위 3분의 1보다 실제로 2.07배 움직였습니다. EURUSD에서는 1.75배입니다.
위의 모든 수치는 상대 변동폭, 즉 변동폭을 가격으로 나눈 값입니다. 금은 그 기간에 1700에서 4300까지 올랐으므로 절대 변동폭은 가격 수준만으로도 올라갑니다. 절대 단위로 같은 검증을 하면 4.35배가 나오는데, 그것은 부풀려진 값입니다. 정직한 숫자는 여기 인쇄된 쪽입니다.
안에 무엇이 있는가
릿지 회귀입니다. 열두 개의 특징, 열세 개의 계수, 닫힌 형태로 풉니다.
그래디언트 부스팅과 신경망도 모두 시도했고 두 종목 모두에서 둘 다 졌습니다. 금에서 선형 모델이 +0.683, 다른 둘은 +0.639와 +0.653입니다. 로그 공간에서의 변동성은 거의 선형이고, 복잡한 모델은 그 용량을 잡음에 맞추는 데 씁니다.
그래서 ONNX 파일도, 바이너리 리소스도, 내려받는 가중치도 없습니다. 로딩에 실패할 것이 없고, 선반 위에서 낡을 것도 없습니다.
당신의 종목과 당신의 브로커를 학습합니다
이 제품 안에는 계수가 하나도 들어 있지 않습니다. 시작할 때 VolGuard는 자신이 붙은 차트의 일봉 히스토리를 당신 브로커의 피드에서 가져와 모델을 학습하고, 도는 동안 21일마다 다시 학습합니다.
그 주기는 장식이 아닙니다. 한 번 학습하고 그대로 둔 모델은 +0.325였고, 같은 모델을 앞으로 나아가며 다시 학습하면 +0.683이었습니다. 변동성 국면은 이동하며, 얼어붙은 모델은 아무 예고 없이 작동을 멈춥니다.
하지 않는 것
시장이 어디로 갈지는 알려주지 않습니다. 그것은 측정했고, 불가능하기 때문입니다. 그리드도, 마틴게일도, 물타기도, 수익 약속도 없습니다.
포지션을 열지 않습니다. 기본값으로는 닫지도 않습니다. 차단은 계수를 0으로 만들고 그 사실을 알려줄 뿐입니다. 차단 시 열린 거래를 닫는 것은 당신이 의도적으로 켜는 설정입니다. 어떤 도구도 요청받지 않고 남의 포지션을 닫아서는 안 되기 때문입니다.
해당 종목에 일봉이 최소 300개 필요하고, 1500개 이상이면 더 좋습니다.
설정
학습에 쓰는 일봉 개수, 릿지 정규화, 재학습 주기. 최소 및 최대 랏 계수, 거래를 차단하는 비율, 그리고 차단을 아예 쓸지 여부. 차단된 날에 열린 포지션을 닫을지, 그것을 특정 매직 넘버로 제한할지. 패널 위치와 배율.
기본값은 검증을 통과한 바로 그 구성입니다.
함께 쓸 수 있는 것
일봉 히스토리가 있는 모든 종목, 모든 차트 주기, 헤징 및 네팅 계좌, 그리고 한 줄을 더할 수 있는 모든 EA.
