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

 

고마워, 나는 원칙적으로 열을 보았고 델타, 최소, 최대, 시간 등도 이미 수행했습니다.

Forex의 거래 모델을 만드는 방법은 나에게 더 복잡해지며 간단한 방법은 안정적인 결과를 제공하지 않습니다. 이제 다음과 같이 보입니다.

1) MT5에서 데이터 업로드: ohlc, 시간, 표시기. 이 단계에서는 델타를 추가하지 않습니다.

2) 데이터를 R에 로드하고 원본 열의 최소값, 최대값 등을 더하거나 빼서 엄청난 수의 새 열을 추가합니다. R에서는 mt5보다 더 쉽습니다.

3) 어떻게든 입력 데이터의 하위 집합을 선택합니다(열 기준). GenSA를 사용하는 Alexei의 예를 따르거나 GA 패키지로 유전자 최적화만 따를 수 있습니다. 각 입력(켜기/끄기)에 대해 이진 결과가 필요하기 때문에 제 생각에는 GA에는 이진 작동 모드가 있다는 이점이 있습니다. 그러나 두 패키지를 모두 시도하고 비교해야 합니다.

4) 입력의 하위 집합 분석. 이것은 Alexey의 예에도 있습니다. 그러나 입력의 하위 샘플에 대해 모델을 즉시 훈련하고 결과적으로 유효성 검사 데이터의 오류를 사용하려고 합니다. 모델의 훈련 시간이 몇 초를 넘지 않았다면.

5) 2단계로 돌아가서 새로 계산된 입력을 추가하고 나머지 단계를 수행하고 결과가 개선되지 않을 때까지 이러한 주기를 거칩니다.

나는 주성분 방법에 대한 기사에서 조금 더 실험을 했다. 기사의 예에서는 입력 데이터에서 결과를 정확하게 계산할 수 있다는 뉘앙스가 있습니다. 제 경우에는 입력 데이터가 확실히 충분하지 않을 때 이 방법은 훈련에 노이즈를 사용하기 시작합니다. 이 방법이 몇 가지 구성 요소로 0.95의 결과(r-제곱)를 얻을 수 있다면 모델에 사용된 예측 변수가 가장 정확할 가능성이 큽니다. 모든 구성 요소를 사용하더라도 r-제곱이 여전히 0.95보다 작으면 모델의 계산에 노이즈가 포함됩니다. 그러나 추가 노이즈 예측 변수가 추가됨에 따라 r-제곱이 점차적으로 감소한다는 점은 주목할 만합니다. 이런 식으로 예측 변수의 하위 집합을 서로 비교할 수 있다고 생각합니다. r-제곱이 더 크면 하위 집합이 더 좋습니다.

 
트레이더 박사 :


나는 주성분 방법에 대한 기사에서 조금 더 실험을 했다. 기사의 예에서는 입력 데이터에서 결과를 정확하게 계산할 수 있다는 뉘앙스가 있습니다. 제 경우에는 입력 데이터가 확실히 충분하지 않을 때 이 방법은 훈련에 노이즈를 사용하기 시작합니다. 이 방법이 몇 가지 구성 요소로 0.95의 결과(r-제곱)를 얻을 수 있다면 모델에 사용된 예측 변수가 가장 정확할 가능성이 큽니다. 모든 구성 요소를 사용하더라도 r-제곱이 여전히 0.95보다 작으면 모델의 계산에 노이즈가 포함됩니다. 그러나 추가 노이즈 예측 변수가 추가됨에 따라 r-제곱이 점차적으로 감소한다는 점은 주목할 만합니다. 이런 식으로 예측 변수의 하위 집합을 서로 비교할 수 있다고 생각합니다. r-제곱이 더 크면 하위 집합이 더 좋습니다.

현재 목표 변수와 "관련된" 예측 변수의 예비 선택에 대해 우리는 무엇을 가지고 있는 것 같습니까? Alexey는 특정 트릭 세트를 가지고 있고 저는 가지고 있습니다. 하나 더 있으면 나쁠 것 없습니다. PCA는 널리 알려져 있기 때문에 매우 매력적이며 많은 문헌이 있습니다 .... 예측자의 "중요도"를 계산하는 알고리즘이 많이 있지만 유의해야합니다. 그들을. 그러나 내 알고리즘과 함께 이러한 표준 알고리즘 중 거의 모든 것이 좋은 결과를 제공합니다. 오류는 5-7% 감소합니다.

그리고 초기 예측 변수의 수는 수천 개의 관찰 수와 함께 수십으로 취해야 한다고 생각합니다. 통계에서 뭔가 부족하면 통계가 없습니다.

 
트레이더 박사 :

고마워, 나는 원칙적으로 열을 보았고 델타, 최소, 최대, 시간 등도 이미 수행했습니다.



물론이죠. 내 세트에서 연습할 수도 있습니다. 실험의 질적 설계가 있습니다. 데이터가 좋습니다. 그리고 검증에서 긍정적인 결과를 얻는 것은 쉽지 않습니다.

1) MT5에서 데이터 업로드: ohlc, 시간, 표시기. 이 단계에서는 델타를 추가하지 않습니다.

2) 데이터를 R에 로드하고 원본 열의 최소값, 최대값 등을 더하거나 빼서 엄청난 수의 새 열을 추가합니다. R에서는 mt5보다 더 쉽습니다.

3) 어떻게든 입력 데이터의 하위 집합을 선택합니다(열 기준). GenSA를 사용하는 Alexei의 예를 따르거나 GA 패키지로 유전자 최적화만 따를 수 있습니다. 각 입력(켜기/끄기)에 대해 이진 결과가 필요하기 때문에 제 생각에는 GA에는 이진 작동 모드가 있다는 이점이 있습니다. 그러나 두 패키지를 모두 시도하고 비교해야 합니다.

여기에서 두 가지 점을 관찰하는 것이 좋습니다. 첫 번째 - 입력은 평균에 대해 모두 고정되어 있어야 합니다. 두 번째는 열 열거 메커니즘에 관한 것입니다. 예, GA에는 바이너리 모드가 있습니다. GenSA는 그렇지 않지만 이진 선택을 시뮬레이션했습니다.

4) 입력의 하위 집합 분석. 이것은 Alexey의 예에도 있습니다. 그러나 입력의 하위 샘플에 대해 모델을 즉시 훈련하고 결과적으로 유효성 검사 데이터의 오류를 사용하려고 합니다. 모델의 훈련 시간이 몇 초를 넘지 않았다면.

아이디어가 좋다! 그러나 일반적으로 수천 번의 반복이 필요하기 때문에 전체 프로세스에는 여전히 오랜 시간이 걸릴 수 있습니다. 이 피트니스 함수는 전체 모델이 계산되기 때문에 가장 복잡합니다. 저는 그런 학습이 없을 때 소위 필터링 피트니스 기능을 사용하지만 더 넓은 의미에서 입력이 출력에 얼마나 영향을 미치는지 결정하는 휴리스틱이 있습니다. 계산은 2초보다 빠를 수 있습니다. 그러나 순서대로는 아닙니다.

Forex의 거래 모델을 만드는 방법은 나에게 더 복잡해지며 간단한 방법은 안정적인 결과를 제공하지 않습니다. 이제 다음과 같이 보입니다.

지금까지 저는 새로운 예측 변수를 추가하고 실험 설계에서 모든 종류의 작은 개선에 대해 점수를 매겼습니다.

아직 구현하지 않은 아이디어가 있습니다. 사실 우리, 귀하 및 일반적으로 모든 사람은 일반적으로 거래를 마감하기 위한 특정 조건을 예측합니다(예: 3시간 앞서 또는 가격이 테이크 또는 스톱 수준에 도달할 때).

그리고 결과는 가짜입니다. 그리고 OR 연산자를 통해 처리되는 거래를 성사시키기 위해 MT4 에 여러 개의 동시 조건을 입력할 때 선택 항목에서도 긍정적인 OM을 얻습니다.

따라서 R에서 여러 조건을 기반으로 한 트랜잭션 결과 예측을 한 번에 시뮬레이션하는 방법을 생각했습니다. 예를 들어, 가격이 3시간 이내에 TP에 도달하면 닫습니다. 그러나 동시에 3시간이라는 매개변수도 최적으로 선택해야 하므로 엄격하게 고정되어서는 안 됩니다. 그리고 가격이 3시간 이내에 상승했지만 TP에 도달하지 않은 경우 STOP을 당겨서 손익분기점에 도달해야 하는 조건을 추가하면.

이 경우 위치로의 진입도 기계에 의해 예측됩니다.

여기에서 염두에 둔 작업이 있습니다.

 
알렉세이 버나코프 :

따라서 R에서 여러 조건을 기반으로 한 트랜잭션 결과 예측을 한 번에 시뮬레이션하는 방법을 생각했습니다. 예를 들어 가격이 3시간 이내에 TP에 도달하면 닫습니다. 그러나 동시에 3시간이라는 매개변수도 최적으로 선택해야 하므로 엄격하게 고정되어서는 안 됩니다. 그리고 가격이 3시간 이내에 상승했지만 TP에 도달하지 않은 경우 STOP을 당겨서 손익분기점에 도달해야 하는 조건을 추가하면.

전문가와 거래한 경험상 TP와 SL은 좋아하지 않습니다. 거래 시스템이 올바르게 구축되면 거래에서 자체적인 출구가 TP 및 SL의 출구보다 더 효과적입니다.

SL과 TP의 최적 값은 시간이 지남에 따라 변하며 안정적인 상수 값은 없습니다. 특정 영역에서 거래 시스템의 효율성을 향상시키는 일부 TP 및 SL을 찾을 수 있지만 이 경우 이 영역을 벗어나면 전략의 효율성이 떨어집니다. SL을 이동하지 않고 "뭔가 잘못되었습니다"라는 거리를 유지하고 일반적으로 가격이 sl에 도달하면 거래를 중지하여 오류를 분석하고 거래 전략을 최적화하는 것이 좋습니다.

그러나 여전히 TP를 사용하는 까다로운 자가 최적화 Expert Advisors가 있습니다. 내가 알기로는 훈련 샘플 자체에 일정한 TP를 넣어야 합니다. 예를 들어, 제 경우에는 모델을 훈련시킨 결과가 0/1입니다. 가격은 다음 막대에 대해 하락/상승했습니다. 그러나 가격이 먼저 상승하여 TP 수준에 도달한 다음 막대가 끝날 때까지 초기 가격 아래로 떨어졌다면 훈련 샘플에 "0"이 아닌 "1" 결과를 입력해야 합니다(거래가 TP에서 이익으로 마감하고 바가 끝날 때까지 더 이상 거래가 없습니다). TP는 일반적으로 50핍( 4자리 에 5핍) 미만으로 작습니다. SL - "모든 것이 잘못되었을 때"에만 10배 더. 프론트테스트나 트레이딩을 위한 TP는 최적화가 불가능하며, 트레이닝 샘플 생성 시 사용한 TP만 사용 가능합니다. 나는 그런 성공적인 전략을 실제로 보았고, 나는 당신이 이 방향으로 파고들 수 있다고 생각합니다.

 
트레이더 박사 :

전문가와 거래한 경험상 TP와 SL은 좋아하지 않습니다. 거래 시스템이 올바르게 구축되면 거래에서 자체적인 출구가 TP 및 SL의 출구보다 더 효과적입니다.


그리고 그녀의 산출물은 어떻게 공식화됩니까? 시간만?

한 시간 안에 닫으라고 했는데 시간 안에 TP가 깨졌다면 이것은 결과 1이 될 것이고 닫는 복잡한 조건이 이미 사용된 것입니다.

약 TP 5 포인트 및 SL 10 배 - 옵션이지만 그러한 TP는 이익을 먹습니다.

 

이번 주에 함께 하고 지난 주는 시간대 별로 구분되어 있어 실시간 대화가 없습니다. 일을 위해 캘리포니아에서..

일반적으로 나는 (아마도 당신이) 이미 실험을 잘 설계하고 결과를 훈련하고 검증할 수 있다고 생각합니다. 초과 예측자를 수집할 수도 있습니다.

1시간 안에 마감하는 것과 같이 고정된 목표를 기반으로 거래를 예측하는 것은 최선의 선택이 아니며 결과가 약하다는 것이 캐치라고 생각합니다.

MT 테스터에서는 균형과 회복 계수를 기반으로 최적화합니다. R에서는 방향을 추측하거나 가격 차이를 예측하는 정확도를 최적화합니다. 이것은 서로 다른 것입니다.

예를 들어 이익이 최대화되는 학습 방법을 위해 R에 자신만의 손실 함수를 작성해 보십시오. 이 기능은 일부 교수법으로 대체될 수 있습니다.

 
알렉세이 버나코프 :

이번 주와 저번 주에는 시간대가 구분되어 있어 실시간 대화가 없습니다. 일을 위해 캘리포니아에서..

일반적으로 나는 (아마도 당신이) 이미 실험을 잘 설계하고 결과를 훈련하고 검증할 수 있다고 생각합니다. 초과 예측자를 수집할 수도 있습니다.

1시간 안에 마감하는 것과 같이 고정된 목표를 기반으로 거래를 예측하는 것은 최선의 선택이 아니며 결과가 약하다는 것이 캐치라고 생각합니다.

MT 테스터에서는 균형과 회복 계수를 기반으로 최적화합니다. R에서는 방향을 추측하거나 가격 차이를 예측하는 정확도를 최적화합니다. 이것은 서로 다른 것입니다.

예를 들어 이익이 최대화되는 학습 방법을 위해 R에 자신만의 손실 함수를 작성해 보십시오. 이 기능은 일부 교수법으로 대체될 수 있습니다.

최근에는 다음과 같은 계획을 실행하고 있습니다.

지표에 대한 내 오래된 추세 고문을 사용했습니다. 실생활에서 거래하는 본격적인 고문.

더 나아가.

나는 결함을 찾고 있으며 R의 도움으로 이러한 결함을 줄이려고 노력합니다.

예를 들어.

나는 시니어 바에서 일반적인 지시를받습니다. 그러나 시간을 자세히 살펴보면 특히 낮은 막대 측면에서 엄청난 지연이 있습니다. 따라서 이것이 D1이고 M5에서 거래하는 경우 방향에 대한 어제 데이터의 거의 하루 전을 취하는 것으로 나타났습니다. 30%의 오차로 D1을 한발 앞서 예측하는 것조차 Expert Advisor의 수익성을 획기적으로 향상시켰고, 무엇보다 실패하지 않을 것이라는 자신감을 키웠다.

아마도 그런 방식은 R에서 현대화하기 위해 비록 나쁘기는 하지만 기성품의 일부 요소에 대한 예측입니까?

이 아이디어가 마음에 드시나요?

 

나는 최근에 smart-lab에 대한 기사를 썼습니다. 약한 커뮤니티지만 유용한 정보를 얻었습니다.

http://smart-lab.ru/search/topics/?q=%D0%B4%D0%BB%D1%8F+%D0%BB%D1%8E%D0%B1%D0%B8%D1%82% D0%B5%D0%BB%D0%B5%D0%B9+fx

 
산산이치 포멘코 :

최근에는 다음과 같은 계획을 실행하고 있습니다.

지표에 대한 내 오래된 추세 고문을 사용했습니다. 실생활에서 거래하는 본격적인 고문.

더 나아가.

나는 결함을 찾고 있으며 R의 도움으로 이러한 결함을 줄이려고 노력합니다.

예를 들어.

나는 시니어 바에서 일반적인 지시를받습니다. 그러나 시간을 자세히 살펴보면 특히 낮은 막대 측면에서 엄청난 지연이 있습니다. 따라서 이것이 D1이고 M5에서 거래하는 경우 방향에 대한 어제 데이터의 거의 하루 전을 취하는 것으로 나타났습니다. 30%의 오차로 D1을 한발 앞서 예측하는 것조차 Expert Advisor의 수익성을 획기적으로 향상시켰고, 무엇보다 실패하지 않을 것이라는 자신감을 키웠다.

아마도 그런 방식은 R에서 현대화하기 위해 비록 나쁘기는 하지만 기성품의 일부 요소에 대한 예측입니까?

이 아이디어가 마음에 드시나요?

아이디어가 흥미롭습니다. 자문위원도 근무하고 있습니다. 업데이트 방법에 대해 생각해볼 수 있습니다. 그러나 개선해야 할 점을 이해하지 못합니다. 기계에 무엇을 가르쳐야 합니까?

EA는 포지션을 열고 닫는 것에 대한 엄격한 논리를 가지고 있습니다. 기계 학습에서 결정은 약간 다른 방식으로 이루어집니다.

즉, 정확히 무엇을 할 것인지 완전히 명확하지 않습니다.

 
알렉세이 버나코프 :

아이디어가 흥미롭습니다. 자문위원도 근무하고 있습니다. 업데이트 방법에 대해 생각해볼 수 있습니다. 그러나 개선해야 할 점을 이해하지 못합니다. 기계에 무엇을 가르쳐야 합니까?

EA는 포지션을 열고 닫는 것에 대한 엄격한 논리를 가지고 있습니다. 기계 학습에서 결정은 약간 다른 방식으로 이루어집니다.

즉, 정확히 무엇을 할 것인지 완전히 명확하지 않습니다.

해야 할 일은 분명합니다. 다른 것은 분명하지 않습니다. 무엇을 위해 필요한지. 첫째, 다른 시스템의 올바른 작동을 분석하고 매개변수를 제어하는 시스템이 있는 경우 제어되는 시스템이 불필요하게 되어 충분히 제어할 수 있습니다. 쌍으로 사용하면 전체 효율성이 동시에 감소하기 때문입니다. 별도로 사용하는 것보다 낮습니다. 예를 들어 70%의 정확한 결정을 내리는 시스템이 있고 99%의 정확도로 하나 이상의 매개변수를 제어할 수 있는 시스템이 있는 경우 최종 효율성은 다음과 같습니다.

0.7*0.99=0.693

이는 개별 시스템보다 낮습니다.

아멘. "컨트롤러" 없이 원래 시스템을 개선하는 것이 좋습니다.

사유: