Forex 무역 기계 학습


기계적인 Forex.
기계 거래 전략을 사용하여 외환 시장에서 거래합니다.
Forex 무역에서 배우는 기계 : 왜 많은 학자들이 그것을 잘못하고 있는지.
실제 시장 상황에서 알맞은 결과를 얻을 수있는 기계 학습 전략 수립은 알고리즘 트레이딩에서 항상 중요한 도전 과제였습니다. 상당한 관심과 놀라운 잠재적 보상에도 불구하고 좋은 기계 학습을 보여줄 수있는 학술지는 아직 없습니다 실제 시장에서 거래 문제를 성공적으로 해결할 수있는 모델 (내가 아는 한 가장 좋은 것은 의견이있을 경우 의견을 게시하고 읽을 수 있다면 기꺼이 할 것입니다.) 출판 된 많은 논문이 유망한 결과를 보여 주지만, 종종 이러한 논문이 다양한 기계적 학습 전략의 실제 시장 성공을 거의 불가능하게 만드는 다양한 통계 편차 문제에 빠지는 경우가 있습니다. 오늘 저는 Forex에서 기계 학습과 관련된 학술 연구에서 볼 수있는 문제점에 대해 이야기하고, 이 연구가 학계 및 거래 커뮤니티 모두에 대해 훨씬 더 유용한 정보를 제공하도록 개선 될 수 있다고 생각합니다.
Forex 거래를 할 때 기계 학습 전략 설계의 함정은 결정 론적 학습 문제의 세계에서 필연적으로 이어집니다. 얼굴 인식이나 문자 인식과 같은 것에 대한 기계 학습 알고리즘을 만들 때 변경되지 않는 잘 정의 된 문제가 있습니다. 일반적으로 데이터의 하위 집합 (훈련 집합)에 기계 학습 모델을 구축 한 다음 if 이 모델은 데이터의 미리 알림 (테스트 세트)을 사용하여 문제를 올바르게 해결할 수있었습니다. 이것이 새로 개발 된 기계 학습 기술의 품질을 확립하는 데 사용할 수있는 유명하고 잘 정립 된 데이터 세트를 보유한 이유입니다. 그러나 여기에서 중요한 점은 초기에 기계 학습에 의해 해결 된 문제는 대부분 결정론적이고 시간에 독립적이라는 점입니다.
거래로 이동할 때, 이 같은 철학을 적용하면 시장의 부분적으로 비 결정 론적 성격과 시간 의존성과 관련된 많은 문제점이 발생합니다. 교육 및 테스트 세트를 선택하려는 단순한 행위는 문제를 야기하는 상당량의 바이어스 (데이터 선택 편향)를 초래합니다. 테스트 세트의 결과를 향상시키기 위해 선택을 반복하면 & # 8211; 적어도 몇 가지 경우에 가정해야합니다. & # 8211; 문제는 또한 많은 양의 데이터 마이닝 편차를 추가합니다. 단일 트레이닝 / 검증 작업을 수행하는 전체 문제는 실시간 거래시이 알고리즘을 적용하는 방법과 관련된 문제도 발생시킵니다. 정의에 따라 실시간 거래는 교육 / 테스트 세트 선택이 다른 데이터에 다시 적용되어야하기 때문에 다릅니다 (이제 테스트 세트는 실제로 알 수없는 데이터 임). 초기 샘플 내 / 샘플 밖 기간 선택에 고유 한 편차와 알 수없는 데이터로 거래하기위한 테스트 된 규칙이 없으면 그러한 기법이 실시간 거래에서 일반적으로 실패하게됩니다. 알고리즘이 2000-2012 년 데이터로 훈련되고 2012-2015 년 데이터로 교차 검증 된 경우 2003-2015 년 데이터에서 교육을 받고 2015 년에서 2017 년까지 트레이드되면 동일한 성공이 일어날 것이라고 믿을만한 이유가 없습니다. 데이터 세트 성격 상 매우 다르다.
측정 알고리즘 성공은 또한 여기에서 매우 관련된 문제입니다. 거래에 사용되는 기계 학습 알고리즘은 필연적으로 긍정적 인 수익을 창출하는 능력으로 측정되어야하지만 일부 문헌은 정확한 예측을 얻을 수있는 능력을 벤치마킹하여 새로운 알고리즘 기법의 장점을 측정합니다. 바이너리 분류자를 만들 때 쉽게 볼 수있는 바와 같이 올바른 예측이 반드시 수익성있는 거래와 같지는 않습니다. 다음 촛불의 방향을 예측하려고하면 작은 양초에 대부분 맞고 큰 양초에 잘못 맞으면 여전히 손실을 입을 수 있습니다. 실제로 이런 종류의 분류 자의 대부분은 & # 8211; 대부분의 사람들은 일을하지 않습니다. & # 8211; 결국 50 % 이상의 정확도로 방향성을 예측하게되지만 수익성있는 바이너리 옵션 거래를 허용하는 커미션을 능가하는 수준을 초과하지는 않습니다.
위의 문제를 대부분 제거한 전략을 수립하기 위해 필자는 항상 기계 학습 알고리즘이 교육 결정을 내리기 전에 재교육되는 방법론을지지했습니다. 트레이닝을 위해 움직이는 창을 사용하고 전체 알고리즘을 재교육하지 않고 하나 이상의 결정을 내리지 않으면 단일 샘플 내 / 샘플 외 세트를 선택할 때 내재 된 선택 바이어스를 제거 할 수 있습니다. 이러한 방식으로 전체 테스트가 일련의 교육 / 검증 연습으로 끝나면 기계 학습 알고리즘이 엄청나게 다른 교육 데이터 세트에서도 작동합니다. 또한 알고리즘을 측정하는 실제 backtesting 성능을 옹호하고 알고리즘의 장점을 배우고 실제로 샘플 밖 조건에서 입증되지 않은 한 그 알고리즘의 가치가있는 알고리즘은 없다고 말할 것입니다 . 이런 방식으로 알고리즘을 개발하는 것이 훨씬 더 어려워서 이런 유형의 접근법을 따르는 하나의 학술지를 찾지 못했습니다. (내가 코멘트를 포함 할 수 있도록 링크를 게시하는 것을 자유롭게 생각한다면!).
이것은이 방법론이 완전히 문제가 없다는 것을 의미하지는 않지만, 커브 피팅 바이어스 및 데이터 마이닝 바이어스를 포함하여 모든 전략 구축 연습과 관련된 고전적인 문제에 여전히 노출되어 있습니다. 따라서 많은 양의 데이터를 사용하는 것이 중요합니다 (시스템을 테스트하고 각 기계가 파생 된 결정을 학습 한 후에 항상 재교육하며 25 년 이상 사용). 적절한 데이터 마이닝 바이어스 평가 테스트를 수행하여 그 결과가 무작위 적으로 발생하지 않는다고 말할 수 있습니다. 내 친구 AlgoTraderJo & # 8211; 누가 또한 내 거래 공동체의 회원이되어. & # 8211; 우리는 무역 커뮤니티를위한 새로운 기계 학습 알고리즘을 개발할 때 기계 학습 개발을위한 이와 같은 유형의 철학을 따르는 ForexFactory에서 현재 스레드를 늘리고 있습니다. 이 방법으로 개발 된 기계 학습 알고리즘의 몇 가지 예를 보려면 내 블로그의 스레드 또는 과거 게시물을 참조 할 수 있습니다.
기계 학습의 발전에 대해 더 알고 싶다면 F4 프레임 워크를 사용하여 자신의 기계 학습 전략을 개발할 수있는 방법을 알아보십시오. 교육 동영상, 거래 시스템, 개발 및 사운드, 정직한 웹 사이트 인 Asirikuy에 가입하십시오. 자동화 된 거래에 대한 투명한 접근.
Forex Trading에서 기계 학습에 대한 5 가지 답변 : 왜 많은 학자가이 모든 일을 잘못하고 있는지 & # 8221;
멋진 기사, 강조하는 문제는 확실히 시스템 견고성에 유효합니다!
내가 가지고있는 질문은 EA가 특정 쌍에서 상당히 잘하고 다른 모든 것들에서 끔찍한 행동을하는 것은 정상적인가요?
또는 강력한 EA는 설정을 변경하지 않고도 적어도 몇 개의 쌍으로 잘 수행되어야합니다!
고마워, 너의 위대한 생각을 위해서.
그 질문은 흥미 롭다.) 나는 한 쌍으로 만 살아남은 시스템이 거래가 진행될 때 수익을 창출 할 수 있느냐하는 질문이 더 낫다고 믿습니다. & # 8221; 대답은 '예'입니다 (이론적으로나 내 자신의 경험에서). 한 쌍으로 만 수익을 얻는다 고해서 시스템이 '불량'하다는 것을 의미하지는 않습니다. 그것은 단순히 하나의 도구에만 존재하는 역사적인 비효율을 악용한다는 것을 의미합니다. 바이어스 소스 (데이터 마이닝 바이어스 및 커브 피팅 바이어스와 같은)를 처리한다면 이것이 작동하지 않을 이유가 없습니다.
이제 여러 기호에서 작동하는 시스템을 사용하는 경우 하나의 기호에서만 작동하는 동일한 시스템에서 데이터 마이닝 편차가 기하 급수적으로 낮아지고 더 많은 데이터를 사용하기 때문에 곡선 피팅 바이어스도 낮아집니다. 그래서 저는 그것이 더 좋다고 말했지만, 꼭 필요하지는 않습니다.
하지만 통계적 편견을 기억하십시오!
나는 당신이 모든 쌍을 가로 질러 이익을 낼 필요가 없다고 말했기 때문에 너무 기쁩니다! 커브 피팅 (curve fitting)은 그것이 적합하기 전에 허용 된 조정의 한계를 어떻게 알 수 있습니까?
마지막으로, MT4에서 가장 일반적인 EA를 사용하여 매우 간단한 테스트를 수행하여 어떤 쌍이 MA에 가장 광범위하게 반응하는지 확인했습니다. 나는 축소와 상관없이 얼마나 많은 '이동 기간'이 (1-20) 사이에 이익을 낼지보기 위해 52 쌍을 역행했다. 나는 당신이 결과를 어떻게 만들지 궁금해했다!
* 5 년 테스트 기간.
* 인출은 측정되지 않습니다.
* 52 개의 쌍이 테스트되었습니다.
* 테스트 된 설정 (기간 1-20).
1 23 쌍, 모든 술집 설정 1-20에서 이익을 내지 않았다.
2 6 쌍, 1 설정에서만 이익을 낼 수 있습니다.
3 14 쌍만, 5 또는 더 많은 다른 설정에서 수익을 반환했습니다.
4 5 쌍만, 10 또는 더 많은 다른 설정에서 수익을 반환했습니다.
1 BTCUSD 19 20 세 사이의 설정이 이익을 창출했습니다.
커브 피팅 바이어스와 데이터 마이닝 바이어스 (또는이 두 가지 유형의 바이어스를 구분할 필요가 있지만이를 호출 할 수도 있음)를 구분해야합니다. 커브 피팅 바이어스는 일련의 데이터에서 비효율적 인 부분을 발견함으로써 만들어지는 바이어스입니다. 즉, 시스템에서 일반적인 데이터를 찾거나 사용중인 데이터에 특정한 데이터를 찾는 것입니다. 데이터 마이닝 바이어스는 질문에 답합니다. 즉, 내 시스템이 실제 역사적 비효율을 찾았습니까? 아니면 마이닝 프로세스 (임의의 기회에서 비롯됨) 때문입니까?
매개 변수 공간과 자유도를 늘리면 데이터 마이닝 편차가 증가합니다 (실제로 역사적으로 비효율적 인 시스템이 아닌 우연히 시스템을 찾을 가능성이 높습니다). White의 현실성 검사와 같은 테스트를 사용하여 데이터 마이닝 편향을 측정 할 수 있습니다. 이러한 유형의 테스트를 수행하는 것이 안정적인 전략 설계의 기본입니다.
편향의 차이점에 대한 자세한 내용은 여기를 참조하십시오.
또한 주제에 대한이 신문을 읽으십시오.
트레이딩 시스템 디자인의 복잡성과 트레이딩을위한 전략을 찾기에 앞서 나는 통계학에서 견고한 형성을 얻으 려합니다. (coursera 통계 코스는 훌륭한 무료 시작입니다.) 통계를 통해 자신의 결과를 분석하고 이러한 질문을 체계적으로 처리 할 수있는 능력을 제공합니다 o)
Forex Trading에서 기계 학습 : 왜 많은 학자들이 모든 것을 잘못하고 있습니까 [Mechanical Forex] 실시간 시장 상황에서 적절한 결과를 얻을 수있는 빌딩 기계 학습 전략은 항상 알고리즘 거래에서 중요한 과제였습니다. 엄청난 관심과 엄청난 잠재적 인 보상에도 불구하고 실제 교역 문제를 성공적으로 해결할 수있는 훌륭한 기계 학습 모델을 보여줄 수있는 학술지는 아직 없습니다.

Jon V.
빅 데이터. 시작. 거래.
빅 데이터. 시작. 거래.
Machine Beats Human : Forex에서 기계 학습 사용.
기계 학습 및 거래는 매우 흥미로운 주제입니다. 그것은 또한 당신이 시간과 코드를 작성하는 시간을 소비 할 수있는 주제이며 마리오 카트를 재생하는 동안 아이가 당신을 이길 수 있습니다.
다음 글에서 우리는 다음과 같이 이야기 할 것입니다.
항목을 최적화하고 종료하십시오. 이것 만이 당신의 뱅크 롤에 큰 변화를 가져올 수 있습니다. 위치 크기 계산 (켈리 기준이 마음에 들지 않을 경우를 대비하여) 서로 다른 쌍 (쌍 거래) 간의 가능한 상관 관계를 찾습니다. 나는 EURUSD 대 GBPJPY 상관 관계를 좋아합니다! 지원 계산 & amp; 저항선.
그러나 기계 학습이란 무엇입니까?
기계 학습 알고리즘은 기계가 데이터의 패턴을 식별 할 수있는 알고리즘입니다. Yeap, 간단합니다. 예를 들어, 이 사진에있는 모든 동물을 찾아 주변에 상자를 그립니다. 또한 그 동물의 이름을 지어주십시오. 미쳤어. 당신이 상상할 수있는 것처럼 그것은 꽤 유사합니다 :
기계가 "배우기"위해서는 옳고 그른 것을 가르치거나 (감독 학습) 큰 데이터 세트를주고 그것이 자연스럽지 않게 (감독되지 않음) 갖춰야합니다. 객체 식별을 위해 이것은 간단하지만 거래는 어떻게됩니까?
S / R 라인을 식별 할 수 있지만 아무 소용이없는 기계 학습 프로그램이 있는지 살펴 보았습니다. 그래서 파이썬에서 지원 및 저항 라인을 식별하는 Python으로 최초의 기계 학습 프로그램을 작성하기로 결정했습니다. 또 하나! 만세!
그러나 알고리즘이 어떻게 이러한 영역을 식별 할 수 있습니까? Hoooooow? 숙녀와 신사 (그리고 로봇)는, 이미지 인식을 위해 주로 사용되는 감독되지 않는 알고리즘 인 MeanShift를 소개하고 설치 및 실행은 매우 쉽습니다 (그러나 매우 느립니다).
아이디어는이 알고리즘을 통해 내 데이터 (외환 틱)를 영역으로 분할 한 다음 지원 및 저항선으로 "가장자리"를 사용할 수 있다는 것입니다. 멋진 생각이지만 작동합니까?
우리는 2014 년에 EURUSD의 데이터 포인트를 약 1,200 만 개 분석하고 2015 년에 2 개월을 분석합니다. 저항선은 기계 학습 알고리즘에 의해 자동으로 배치됩니다.
정말 멋지다는 것은 그 알고리즘이 꽤 많이 손톱을 맞는다는 것입니다. 손질이 힘들어. 마이크로 구조를 식별하고 스캘핑을 시작하기 위해 알고리즘을 사용할 때 정말 짜증이납니다.
이 시스템은 모든 종류의 timeseries 데이터 (주식, 외환, 금 등)를 처리 할 수 ​​있으며 데이터 및 기계 생성 S / L로 html 대화식 차트 (위의 차트와 같음)를 렌더링합니다. 코드가 너무 미쳤습니다.
이제 코드를 살펴 보겠습니다. 데이터 세트를 읽은 후에 데이터를 읽고 정리해야합니다. 팬더 마술을 준비하십시오.
빈 값 (주말)을 버린 다음 데이터를 24 시간 촛대 (ohcl)로 리샘플링합니다. 이렇게하면 훨씬 쉽게 그릴 수 있습니다. grouped_data는 ml 알고리즘에 제공 할 데이터입니다.
그런 다음 우리는 알 고에서 사용할 데이터를 준비합니다.
다음 글에서는이 작업을 더 잘 만들고, 매우 흥미로운 결과 (알고리즘이 미래에 대해 실제로 예측할 수 있는가?)에 대해 토론하고, 자신의 거래에서이를 사용하는 방법에 대해 논의 할 것입니다. 다음 기사를 확인하고 알고리즘을 사용하여 거래 및 투자에 대해 자세히 알아 보려면 뉴스 레터에 가입하십시오.
다음에 오르다 : 기계 학습이 지나간다 - 코드를 사용하여!
더 많은 의견이 있으면 jonromero에서 ping을하거나 뉴스 레터에 가입하십시오.
법적 근거. 이것은 실험 및 재미를위한 알트 레이팅 플랫폼을 구축하는 방법에 대한 엔지니어링 자습서입니다. 여기에있는 모든 제안은 재정 조언이 아닙니다. 거래 조언을 따랐거나이 시스템을 프로덕션 환경에 배치했기 때문에 돈을 잃어버린다면이 임의의 블로그 (및 / 또는 저)를 비난 할 수 없습니다. 자신의 책임하에 즐기십시오.

외환 거래 시스템
예측. 이것은 우리 전략의 이익 요인 (총 이익을 총 손실로 나눈 값)을 크게 개선했습니다. 우리는 레버리지를 사용하여 위험과 예상 수익을 증가 또는 감소시킵니다.
자동 거래 전략의 단점.
우리는 시장을 모니터하고 전략이 최대 연쇄 축소와 같이 따라야하는 통계와 볼륨 모니터링을 사용하여 더 이상 작동하지 않는 그 순간을 기다릴 수 있습니다. 둘째, 우리는 전략이 새로운 데이터에 대해 지속적으로 최적화되는 온라인 학습이라고 불리는 것을 할 수 있습니다. 이 두번째 선택권은 좋은 연습이다 그러나 forex에서 전형적 인 급격한 변화에 대하여 지키지 않는다. 가장 좋은 해결책은 정기적으로 전략을 최적화하여 두 가지 방법 모두를 구현하는 것입니다. 동시에 전략에서보다 심오한 변화가 궁극적으로 필요하다는 것을 알고 있습니다.
다른 비판은 블랙 박스 모델이하는 일을 절대로 이해하지 못한다는 것입니다. 그것은 우리 모델이 실제로 아주 단순하기 때문에 우리에게는 그럴리가 못하지만, 그 전략이 더 이상 이익이되지 않을 때까지 우리는 그 비밀을 무덤에 가져갈 것입니다.

외환 거래 시스템
기계 학습은 컴퓨터 프로그램이 스크립트를 맹목적으로 따르는 대신 학습하는 인공 지능 분야입니다. 충분한 교육 데이터를 사용하면 자동차 운전, 헬리콥터 조종 또는 세계 최고의 검색 엔진 구축을 위해 이러한 알고리즘을 교육 할 수 있습니다. 다음은 Forex 거래에 기계 학습을 적용 할 때 초기 접근법으로 얻은 결과입니다.
8 가지 일일 바에서부터 과거에 이르기까지 데이터가있는 계측기의 진화를 시도하고 예측하기 위해 다양한 알고리즘이 적용되었습니다. 매일 매일 4 개의 값이 기록되고, 처음 세 개는 전날의 운동에 대한 정보를 최고, 최저 및 마감에 가까운 날짜에 기록하며, 네 번째 레코드는 해당 날짜의 볼륨을 기록합니다. 이것은 총 32 개의 독립 변수를 만듭니다.
이 데이터는 dukascopy 데이터베이스 인 EURUSD, AUDJPY 및 GBPCHF에서 세 가지 도구로 얻습니다. 2011 년 1 월 1 일부터 2011 년 12 월 31 일까지 주말에 다음 주 월요일을 혼합하여 바를 묻습니다. 테스트 한 각 알고리즘에 대해 처음 2 년 동안 모델을 훈련하는 데 사용했지만 2012 년에는 테스트를 수행했습니다.
사용 된 기계 학습 알고리즘에 대한 열린 Java 라이브러리는 Java의 WEKA : Data Mining Software [i]에서 제공됩니다. 라이브러리 또는 사용자에게 친숙한 프로그램은 cs. waikato. ac. nz/ml/weka/에서 무료로 다운로드 할 수 있습니다.
시장의 방향 예측.
이 테스트는 다양한 기계 학습 알고리즘을 사용하여 8 일 전날의 데이터를 토대로 내일의 전체 운동을 예측할 수 있는지 여부를 평가합니다.
상관 관계가 높다는 것은 모델이 다음날과 전반적인 움직임을 잘 예측한다는 것을 의미합니다. 이 경우 상관 관계는 매우 가깝기 때문에 모델은 시장의 전체적인 움직임을 예측하지 못합니다.
시장의 범위를 예측합니다.
forex의 경우, 이 범위는 일간 최고점과 낮 최고점의 차이로 정의됩니다 (다른 계기가 비교 가능하기 위해 이전 종가 대비 백분율로 표시).
가장 단순하고 최상의 방법 중 하나 인 가장 가까운 이웃이이 작업에서 가장 잘 수행됩니다. 이 방법은 각각의 경우에 대해 가장 유사한 트레이닝 세트의 n 개의 사례를보고 해당 범위의 가중치 평균을 예측합니다.
악기의 절대적인 움직임을 예측합니다.
악기의 절대적인 움직임은 하루 동안 전반적인 움직임이지만 항상 긍정적입니다. 이것은 범위와 다소 비슷합니다.
최소한이 알고리즘을 사용하여 이전의 8 개의 막대와 볼륨에만 기반한 다음날의 시장 방향을 예측하는 것은 불가능합니다. 그러나이 접근법의 첫 번째 결함은 매일 매일을 예측하려고 시도하는 것일 수 있습니다. 아마도 일부 제거 프로세스로 인해 예측할 수없는 대량의 데이터가 제거 될 수 있습니다. 다른 한편으로는 현재의 작업에 더 적합한 재귀 신경 네트워크와 같은 다른 알고리즘이 있습니다.
어느 정도까지는 다음날의 범위를 예측할 수 있기 때문에 논리적으로 절대적인 움직임을 (가까이에서 가까운 곳으로) 예측할 수 있습니다. 이러한 유형의 정보는 추세를 따르는 거래자와 관련이 없지만 통화 쌍의 범위를 예측해야하는 스 칼파와 관련 될 수 있습니다.
나는 이러한 알고리즘이 ATR과 같은 범위 지시자를 능가한다는 것을 의미한다.
[1] Mark Hall, Eibe Frank, Geoffrey Holmes, Bernhard Pfahringer, Peter Reutemann, Ian H. Witten (2009); WEKA 데이터 마이닝 소프트웨어 : 업데이트; SIGKDD Explorations, Volume 11, Issue 1을 참조하십시오.

Comments

Popular posts from this blog

올림픽 대 iq 옵션

외환 거래를위한 무료 로봇 소프트웨어

뉴욕 시장 시간 외환