거래에서 신경망 사용.

 

친애하는 상인! 최근에는 신경망 사용에 대한 열정이

금융 시장에서 예측. 청중은 시도했지만 직면 한 사람들로 나누어 졌다고 생각합니다.

질문과 함께 실망하거나(손이 더 쉬움) 일시적으로 옆으로 물러나거나 질문이 있는 사람(아마도 매우 좋은 사람)

결과 및 침착하게 작동하고 그의 시스템을 개선합니다.

성공에 대한 열망과 질문. 이미 많은 논의가 있었지만 경험 많은 신경 거래자들은

새로운 생각?

최근에 비네트웍스에 관심이 생겨 질문이 좀 쌓였습니다.. 성공하신 분들의 의견을 듣고 싶습니다..

거래에서 신경망을 사용할 때 많은 세부 사항이 중요하다는 것은 분명합니다.. 순서대로.

1. 국회에 제출해야 할 과제는? 나는 분류 작업(즉, 시장의 순간을 클래스로 나누는 작업)이라고 생각합니다.

"매수", "매도", "시장에서 벗어나다")는 거래에서 좋은 결과를 얻을 수 있다는 점에서 가장 유망합니다.

2. 이 작업을 어떻게 공식화합니까? 두 가지 방법이 있습니다.

ㅏ. 첫 번째는 네트워크가 가장 유리한 것을 독립적으로 결정하도록 가르치는 것입니다.

시장의 순간. 수익성 있는 거래를 할 가능성이 가장 높은 시점에 시장에 진입합니다.

이 경우 네트워크는 지속적으로 시장을 분석하고(예: 새로운 바가 열릴 때마다) 다음을 결정합니다.

시간인지 아닌지.. 그렇다면 훈련 샘플은 무엇이어야 할까요? 포함해야 함은 자명하다.

입력 값 샘플의 각 막대 및 각 막대에서 (가격 또는 지표 값)을 할당해야 합니다.

원하는 출력 값. 어느? 질문의 문제입니다! 따라서 STATISTICA의 Neural Networks 4 프로그램에서는

각 막대에 하나의 고정 값이 할당되어 해당 막대에 속함을 나타냅니다.

일부 클래스 .. 예를 들어 1, 0 또는 -1 ... 또는 텍스트 "판매" "시장에서 벗어남" "구매"

반면 훈련 샘플의 출력 값이 이산적이지 않아야 한다는 의견을 읽었습니다.

(예를 들어) -1 범위에서 배포됩니다. 이는 100% 판매를 의미합니다! 최대 1 - 100% 구매 후 0은

"모름" 또는 "시장에서 벗어남". 저것들. 각 막대에는 (예:) 0.8745의 입력 및 출력 값이 있어야 합니다.

이는 구매 기회가 100번 중 87번임을 의미합니다.

물론 그러한 나가는 값을 찾는 방법은 무엇입니까? 지그재그를 사용하시겠습니까? 그리고 지그재그의 봉우리 사이에서 각 막대까지

당신의 "확률"을 계산?

비. 두 번째 방법은 일부 시스템의 신호를 필터링하는 것입니다.

신호, 그리고 뉴런은 그것들을 거래하는 것을 "허용"하거나 하지 않습니다. 이 시나리오에서 이론상 훈련 샘플

시스템에서 거래 신호를 받은 바에만 구축해야 합니다. 아니면 모든 바에서 모두 동일합니까?

그리고 다시.. 출력 샘플(dizaer)은 이산적이어야 합니까 아니면 중간 값을 가져야 합니까?

3. 들어오는 값. 지표의 값을 그대로 받아들이지 않는 것이 좋습니다.이것은 잘못된 의견이라고 생각합니다.

지표는 각각의 깊이와 고유한 각도에서 역사를 "관찰"하고 이를 기반으로 수행합니다.

NN에 대한 중요한 정보 지표 값 집합을 취하면 들어오는 벡터는 시장의 특정 "바코드"와 유사합니다.

그리고 국회는 이러한 바코드로 시장 상황을 인식하고 일반화할 것입니다. 차이를 옵션으로 선택하는 것이 좋습니다.

지표 값(가격 이동 방향에 대한 정보를 네트워크에 제공하기 위해). 또 뭐가 있어

옵션 및 기본 - 어느 것이 맞습니까? 나는 복소수의 각도 파이의 계산을 시도했습니다 (각도 파이 - 기하

복소수의 해석) Klot에 따르면, 그러나 세트와 비교한 NeuroSolution에서의 실험에서

지표 값은 훨씬 더 나쁜 것으로 판명되었습니다. 전문가 커뮤니티는 무엇을 말할 것입니까? ;-)

4. 입력 값의 정규화. 절차의 의미는 명확합니다. 올바르게 구현하는 방법은 명확하지 않습니다. 설명하겠습니다 .. 정규화 -

이것은 값을 단일 범위로 줄이는 것입니다. 이렇게 하려면 샘플에서 최대값과 최소값을 찾아야 합니다.

괜찮은. 우리는 얼마나 깊이 찾고 있습니까? 샘플에 100개의 지표 값이 있다고 가정합니다. 우리는 정상화해야합니다

75번째 값. 최소값과 최대값은 어디에서 찾을 수 있습니까? 74 이전 것의 경우? 또는 이전 것 50개? 또는 100개 모두(즉,

미래로?) 여기에 확실성이 필요합니다. 분류에서 각 막대는 독립적으로 계산되어야 하기 때문입니다.

균일 한 규칙, 그렇지 않으면 모두 넌센스가 될 것입니다.. 과거의 가치에 따라 인용하고 취해야한다고 생각합니다.

엄격하게 정의된 단일 깊이(예: 항상 100바 뒤로 또는 500 또는 훈련 세트만큼 큼).

5. 들어오는 샘플의 무작위 재정렬. 벌이나 노트 투비! 의견이 다릅니다 .. 이론은 작업에 관한 것이라고 말합니다.

유용한 분류. 정말 어때요? 누가 시도 했습니까? 의견이 있으십니까?

6. 마지막으로 네트워크 교육에 대한 마지막 질문입니다. CV(교차 검증) 샘플링을 사용하는 사람이 있습니까?

그게 필요 할까? 네트워크 오버트레이닝을 방지하는 데 정말 도움이 되나요? 그리고 일반적으로 이것을 처리하는 방법

사악한 오버트레이닝? 결국, 그것은 모든 라즈베리를 망칩니다! 훈련 샘플에 있는 모든 것이 얼마나 아름다울 수 있습니까! 그리고 밖으로

샘플은 엉터리..

개인적으로 저는 NeuroSolution 5 DE를 사용하여 거래에서 NN의 유용성을 연구합니다. 좋은 유연한 프로그램.

기회가 있어요 결과를 DLL로 생성합니다.

매우 정교합니다 .. (입력 샘플에서 어떤 값을 훈련 및 최적화 한 후 찾는 방법이 명확하지 않습니다.

유용하고 프로그램에서 유해하거나 불필요한 것으로 제외됨).

제발 지나가지 마세요. 흠잡다! 제안하다! 당신의 생각을 함께 나누세요!

 
물론 편지도 많지만 적어도 글 밑에 있는 링크를 보면 결국 주제가 새롭지 않다.
 
읽기=================================>하이킨=============== ===========> :O)
 
PraVedNiK >> :
읽기================================>하이킨================= =========> :O)

이미 찾았습니다! 나는 확실히 그것을 읽을 것이다.

 
sayfuji >> :
물론 편지도 많지만 적어도 글 밑에 있는 링크를 보면 결국 주제가 새롭지 않다.

나는 많은 편지를 쓰는 것이 어렵지 않습니다.

 

полагаете что тема исчерпана полность? 

별말씀을요. 반대로 파헤치고 파헤쳐도 삽이 더 크고 시간이 많이 걸릴 것입니다.


 
alexish писал(а) >>

4. 입력 값의 정규화. 절차의 의미는 명확합니다. 올바르게 구현하는 방법은 명확하지 않습니다. 설명하겠습니다 .. 정규화 -

이것은 값을 단일 범위로 줄이는 것입니다. 이렇게 하려면 샘플에서 최대값과 최소값을 찾아야 합니다.

괜찮은. 우리는 얼마나 깊이 찾고 있습니까? 샘플에 100개의 지표 값이 있다고 가정합니다. 우리는 정상화해야합니다

75번째 값. 최소값과 최대값은 어디에서 찾을 수 있습니까? 74 이전 것의 경우? 또는 이전 것 50개? 또는 100개 모두(즉,

미래로?) 여기에 확실성이 필요합니다. 분류에서 각 막대는 독립적으로 계산되어야 하기 때문입니다.

균일 한 규칙, 그렇지 않으면 모두 넌센스가 될 것입니다.. 과거의 가치에 따라 인용하고 취해야한다고 생각합니다.

엄격하게 정의된 단일 깊이(예: 항상 100바 뒤로 또는 500 또는 훈련 세트만큼 큼). - 보편적인 방법을 찾고 스페셜에 대한 기사를 읽으십시오. 신경망의 사이트.

5. 들어오는 샘플의 무작위 재정렬. - 중요한 포인트가 아님

6. 마지막으로 네트워크 교육에 대한 마지막 질문입니다. CV(교차 검증) 샘플링을 사용하는 사람이 있습니까?

그게 필요 할까? 네트워크 오버트레이닝을 방지하는 데 정말 도움이 되나요? 그리고 일반적으로 이것을 처리하는 방법

사악한 오버트레이닝? 결국, 그것은 모든 라즈베리를 망칩니다! 훈련 샘플에 있는 모든 것이 얼마나 아름다울 수 있습니까! 그리고 밖으로

샘플 - 넌센스.. - 어쨌든 모든 것은 테스트 샘플에 의해 결정됩니다.

OOS에 대한 넌센스: 1. 비 대표 샘플 2. 비정상 데이터 3. 잘못된 전처리, 어쩌면 더 많은 포인트...

개인적으로 저는 NeuroSolution 5 DE를 사용하여 거래에서 NN의 유용성을 연구합니다. 좋은 유연한 프로그램.

나는 기회가있다 결과를 DLL로 생성합니다.

매우 정교합니다 .. (입력 샘플에서 어떤 값을 훈련 및 최적화 한 후 찾는 방법이 명확하지 않습니다.

유용하고 프로그램에서 유해하거나 불필요한 것으로 제외됨).

제발 지나가지 마세요. 흠잡다! 제안하다! 당신의 생각을 함께 나누세요!

좋은 일을하려면 적어도 무슨 일이 일어나고 왜 그렇게되는지 더 잘 이해하기 위해 모든 것을 직접 작성해야합니다 ...

 
alexish писал(а) >>

1. 국회에 제출해야 할 과제는? 나는 분류 작업(즉, 시장의 순간을 클래스로 나누는 작업)이라고 생각합니다.

"매수", "매도", "시장에서 벗어나다")는 거래에서 좋은 결과를 얻을 수 있다는 점에서 가장 유망합니다.

그렇습니다. 더욱이, "시장 외부" 상태는 일반적으로 확산의 확장과 관련이 있으며, 다른 모든 것은 국회에서 모니터링하며 자체적으로 이용해야 합니다. 따라서 국회의 경우 분류는 "매수", "매도"를 기준으로 만 관련이 있으며 DC 수수료의 현재 가치에 따라 이미 TS 자체에 거래에 대한 "금지 권한"이 설정되어 있습니다. .

2. 이 작업을 어떻게 공식화합니까? 두 가지 방법이 있습니다.

ㅏ. 첫 번째는 시장에서 가장 유리한 순간을 독립적으로 결정하도록 네트워크를 가르치는 것입니다.

비. 두 번째 방법 - 이론상 훈련 샘플은 시스템에서 거래 신호가 수신된 막대에만 구축되어야 합니다. 아니면 모든 막대에서 모두 동일합니까?

그리고 다시 .. 출력 샘플(dizaer)은 이산적이어야 합니까 아니면 중간 값을 가져야 합니까?

맞습니다 - NN이 해결하는 작업을 최대한 용이하게 하려면 최적의 TS(특정 조건에 대한)를 스스로 결정하고 이미 준비된 시계열을 입력 데이터로 제공해야 합니다. 모든 바가 아니라 가능한 요점이며, 그 이후에야 국회에서 시장 진입과 퇴출에 대한 적절한 결정을 기대할 수 있습니다. 당신이 제안한 크리티컬 포인트가 그런 것인지 아닌지를 결정하는 것은 그녀입니다.

NS 출력 값의 불연속성에 대한 질문에 대한 대답은 명확하지 않으며 주로 입력 신호에 의한 할당량 "컷" 증가분의 진폭 분포 법칙에 의존합니다. NS. 분포가 대칭에 가까우면 이산 출력 +/-1(매수/매도)로 제한할 수 있지만 분포가 대칭이 아닌 경우 부호 외에도 진폭(확률)을 취해야 합니다. 계정에.

3. 들어오는 값.

위에 답변했습니다.

4. 입력 값의 정규화.

NN의 올바른 작동을 위해서는 정규화가 필요합니다.

+/-1 영역에서 국회의 입/입력에서 허용된 값의 전체 범위가 유니폼(선반형)으로 표시되도록 이 절차를 수행하는 것이 옳다. 분포. 이것은 쌍곡선 탄젠트로 입력 벡터에 작용한 다음 분포를 어떤 방식으로든 정렬하여 수행할 수 있습니다(선택 사항).

5. 들어오는 샘플의 무작위 재배열. 벌이나 노트 투비! 의견이 갈립니다..

그 과정은 무의미하다!

사실은 오류 역전파 방법을 사용하여 전체 훈련 샘플에 대한 오류를 요약하고 개별 편차를 요약하는 순서는 중요하지 않습니다. 합계는 항의 위치를 재배열해도 변경되지 않습니다.

6. 그리고 일반적으로 이 사악한 오버트레이닝을 처리하는 방법은 무엇입니까?

훈련 샘플 P 의 최소 길이, NN에 구성된 가중치 W 수 및 입력 d 의 차원 사이에는 명확한 관계가 있습니다. P>4*(W^2)/d

이 조건이 충족되면 분명히 과적합 상태가 발생하지 않습니다. 학습 오류를 특성화하는 매개변수가 점근선에 도달하면 학습 프로세스를 중지해야 합니다.

개인적으로 저는 NeuroSolution 5 DE를 사용하여 거래에서 NN의 유용성을 연구합니다. 좋은 유연한 프로그램.

많이 꼬여..

심하게!

MQL 바로 아래에 NS 코드를 작성해야 합니다. 이것이 함정의 바다를 피하고 시간과 노력을 절약하는 유일한 방법입니다.

 
Neutron >> :


하나.

맞습니다 - NN이 해결하는 작업을 최대한 용이하게 하려면 최적의 TS(특정 조건에 대한)를 스스로 결정하고 이미 준비된 시계열을 입력 데이터로 제공해야 합니다. 모든 바가 아니라 가능한 요점이며, 그 이후에야 국회에서 시장 진입과 퇴출에 대한 적절한 결정을 기대할 수 있습니다. 당신이 제안한 크리티컬 포인트가 그런 것인지 아닌지를 결정하는 것은 그녀입니다.


2.

심하게!

MQL 바로 아래에 NS 코드를 작성해야 합니다. 이것이 함정의 바다를 피하고 시간과 노력을 절약하는 유일한 방법입니다.


1. 쉽게 만들고 데이터를 잃지 마십시오. 가장 중요한 것은 본질적으로 동일한 데이터를 네트워크에 공급하지 않는 것입니다. 가격에 영향을 줄 수 있는 요소와 이를 신경망용 데이터 형식으로 표시하는 방법을 상자 밖에서 생각하는 것이 좋습니다.


2. MQL 아래에 NA 코드를 작성하지 마십시오 . 많은 시간과 신경을 쓰면 모든 것이 매우 느리게 작동합니다. dll이 MT4에 연결되는 방법을 더 잘 배우고 FANN 패키지를 사용하여 예를 들어 C로 자신의 신경망을 작성하십시오. 이것은 새로운 MQL5 터미널에 대한 코드 이식성을 포함하여 많은 문제를 피하는 데 도움이 됩니다.

 
Neutron писал(а) >>

+/-1 영역에서 국회의 입/입력에서 허용된 값의 전체 범위가 유니폼(선반형)으로 표시되도록 이 절차를 수행하는 것이 옳다. 분포. 이것은 쌍곡선 탄젠트로 입력 벡터에 작용한 다음 분포를 어떤 방식으로든 정렬하여 수행할 수 있습니다(선택 사항).

훈련 샘플 P 의 최소 길이, NN에 구성된 가중치 W 수 및 입력 d 의 차원 사이에는 명확한 관계가 있습니다. P>4*(W^2)/d

이 조건이 충족되면 분명히 과적합 상태가 발생하지 않습니다. 학습 오류를 특성화하는 매개변수가 점근선에 도달하면 학습 프로세스를 중지해야 합니다.

심하게!

MQL 바로 아래에 NN 코드를 작성해야 합니다. 이것이 함정의 바다를 피하고 시간과 노력을 절약하는 유일한 방법입니다.

시그모이드 함수 자체가 분포를 평평하게 하지는 않는지... 제 생각에는 전처리를 할 때 데이터 고정성 문제를 해결하는 것이 더 중요하다고 생각합니다.

그건 그렇고, 당신이 준 공식은 W=420, d=14, sl-하지만 P> 50400을 얻습니다. 약간 더 큰 샘플이 얻어진 것 같지 않습니까?

내 경험(작은)과 기사에서 샘플의 예제 수는 제안하는 방법에 따라 달라지지 않습니다...

 
alexish писал(а) >> 개인적으로 NeuroSolution 5 DE를 사용하여 거래에서 NS의 유용성을 연구합니다.

일반적으로 이러한 구체적이고 다소 복잡한 프로그램을 사용하기 전에 이론적으로 이 영역, 즉 금융 시장에서의 사용 적합성에 대해 이 소프트웨어 개발자와 상의해야 합니다. 따라서 여전히 상담을 하면 NeuroSolution이 금융 시장에서 사용하기 위한 것이 아니라 다른 프로그램을 추천한다고 말할 것입니다. NeuroSolution은 일반적인 문제를 해결하도록 설계되었으며 금융 시장에서 신경망을 사용하면 이 소프트웨어에서 고려되지 않은 많은 특정 기능이 있습니다. 아마도 NeuroSolution은 어떻게 든 금융 시장을 망칠 수 있지만 결과와 가장 중요한 것은 그것을 얻는 방법을 명확하게 이해하는 한 사람의 신경망 + 거래자 분야의 위대한 전문가의 힘으로 매우 어렵습니다. 신경망. 여기에서 위에 나열한 모든 문제(작업 설정, 데이터 정규화, 오버트레이닝 등)가 있습니다.