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

 
mytarmailS :

멍청하지 않은 이놈도 10분부터 봐라

https://www.youtube.com/watch?v=KUdWTnyeBxo&list=PLDCR37g8W9nFO5bPnL91WF28V5L9F-lJL&index=3

영상에서 요점은 정확히 푸리에 급수를 적용하는 것이 아니라 데이터를 다른 공간으로 옮기기 위해 어떤 기능으로 데이터를 처리하는 것입니다(핵변환). 사진은 HSL 색상 팔레트, 사운드로 번역되어 주파수 히스토그램으로 제공됩니다. 이 모든 것이 데이터를 변경하지만 필요한 경우 역기능으로 쉽게 복원할 수 있습니다. 이 변환은 분류를 단순화하기 위해 변환 후 클래스가 다차원 공간에서 서로 더 쉽게 그룹화되도록 논리적으로 이해되어야 합니다. 변형 후 클래스가 이전보다 공간에서 훨씬 더 혼합되면 이 작업에 좋은 것이 없고 더 나빠질 것입니다.

푸리에를 사용하는 것은 권장되지 않으므로 사용할 필요가 없습니다. 예를 들어 Alexei는 원시 값이 아닌 막대 사이의 델타를 사용하도록 제안합니다. libVMR의 Yuri는 다양한 수학적 변환을 사용했으며, Java 소스 코드도 흥미롭습니다. 주요 구성 요소의 방법에 따라 데이터를 분해할 수 있으며 구성 요소를 뉴런에 공급할 수 있습니다. SanSanych와 저는 이에 대한 기사와 예제를 여기에 게시했습니다. 당신이 하고 싶은 일에는 수백 가지의 솔루션이 있습니다. Fourier는 그 중 하나일 뿐입니다.

또는 수십 개의 레이어가 있는 뉴런을 가져오면 핵 변환 없이 원시 데이터에서 알아낼 수 있습니다. 그러나 규제, 교차 검증 등에 많은 문제가 있을 것입니다.

그리고 이러한 방법 중 어느 것도 입력에서 가비지 문제를 제거하지 않습니다. 입력 시 가비지 -> 변환 후 가비지 -> 출력 시 가비지 -> 전면 테스트에서 드레인.

 
mytarmailS :

단 하나의 질문이 있었습니다. 진폭, 위상 및 주파수를 통해 기능 간의 유사성을 측정할 수 있습니까? 그렇다면 어떻게 수행됩니까?

모두!!! 더이상 관심없어요..

푸리에에 대해 작성된 다른 모든 내용은 SS 답변의 결과이며 내 질문과 아무 관련이 없습니다.

기능이 주기적이면 가능합니다. 비주기적이면 두 함수의 가장자리(시작 - 0 인수 값 및 마침 - 인수 값 2*PI)를 비교할 때 오류가 발생합니다.
 
Dr.Trader :

영상에서 요점은 정확히 푸리에 급수를 적용하는 것이 아니라 데이터를 다른 공간으로 옮기기 위해 어떤 기능으로 데이터를 처리하는 것입니다(핵변환).

또는 수십 개의 레이어가 있는 뉴런을 가져오면 핵 변환 없이 원시 데이터에서 알아낼 수 있습니다.

이 비디오의 핵 변환은 예측 변수 쌍의 시각화를 통해 수동으로 선택됩니다. 저것들. 시각적으로 적절한 쌍을 찾고 적절한 핵 변환을 선택할 인간 전문가가 필요합니다.

Dr.Trader :


또는 수십 개의 레이어가 있는 뉴런을 가져오면 핵 변환 없이 원시 데이터에서 알아낼 수 있습니다.

이해되지 않을 뿐만 아니라 훨씬 더 혼란스러워지는 것에 대한 비디오입니다. 또한 오류 역전파 방법은 실제로 출력 계층에서 멀리 떨어진 계층의 가중치를 조절하지 않습니다. 신호가 거기에 도달하지 않고 도달하면 매우 약합니다.


Dr.Trader :


libVMR의 Yuri는 다양한 수학적 변환을 사용했습니다. 또한 흥미롭습니다. Java에서 그의 소스 코드를 참조하십시오.


다르지 않지만 GMDH(그룹 인수 계산 방법) A. G. Ivakhnenko에 따라 알고리즘적으로 정렬됩니다. 무작위로 취하면, 즉 구조가 없으면 쓰레기가됩니다.


 
유리 레셰토프 :
기능이 주기적이면 가능합니다. 비주기적이면 두 함수의 가장자리(시작 - 0 인수 값 및 마침 - 인수 값 2*PI)를 비교할 때 오류가 발생합니다.

나는 끝 부분에 여전히 왜곡이 있다는 것을 깨달았고 가장자리에 가까울수록 더 강하고 죄송합니다. 작동하지 않습니다 ....

닥터 트레이더

당신의 신경망은 안녕하십니까? 훈련?

 

한 사이트에서 다른 메모를 찾았습니다. 어떤 이유로 더 이상 작동하지 않습니다.

아마도 누군가가 관심을 가질 것입니다:

“… 귀하의 권장 사항에 따라 여러 로봇 모델을 만들고 로봇을 훈련시키고 새로운 데이터에서 무언가를 인식하지만 슬프게도 결과는 여전히 필요한 것과는 거리가 멉니다.

....먼저 저역 통과 필터에 다항식 조화 피팅을 적용하여 첫 번째 2차 기능 세트를 얻었습니다. 하나는 단기 추세에, 두 번째는 장기 추세에 대한 필터입니다. 나는 주파수, 진폭 cos 및 sin, 계수 P를 이차 기호로 취했습니다. ... 네트워크는 학습했지만 일반화를 소유하지 않았습니다.

… 다음 단계는 새로운 모델이었습니다: 종가 에 저역 통과 필터를 적용하고(저는 2차 버터워스 필터를 사용했습니다), 다항식-조파 근사를 적용하고, 변환 A*cos(wx)+B*sin(wx) M*sin(wx+f) 형식으로 변환하고 M과 f를 2차 기능으로 사용합니다.

… 그리고 이 모델을 사용하여 아주 좋은 일반화 속성을 가진 네트워크를 구축할 수 있었습니다. 새 데이터로 거의 모든 것을 올바르게 인식했습니다.

다항식-고조파 근사는 시간이 많이 걸리므로 다른 모델을 만들기로 결정했습니다. 주파수에 걸쳐 대역이 균일하게 분포된 대역 통과 필터 세트를 종가에서 저역 통과 필터에 적용한 다음 Hilbert를 적용합니다. 그들에게 변형하십시오. 인공 시장 모델의 경우 새로운 데이터를 성공적으로 인식하는 네트워크를 만드는 것도 가능했습니다.

그 후 이 모델을 실제 인용문에 적용했습니다.

- 적응형 저역 통과 필터로 종가를 필터링합니다.

— 시장 파동을 결정하기 위해 대역 통과 필터 세트를 구축합니다.

- 힐베르트 변환을 적용합니다.

— 보조 기능의 첫 번째 세트: 대역 통과 필터 값, 순간 진폭 및 위상 값.

- 우리는 종가에서 저역 통과 필터를 구축합니다.

- 2차 기호의 두 번째 세트 - 마지막 양초 가격의 종가 및 저가의 상대 편차, LF 필터 값의 지지 및 저항 수준, 막대의 상대 볼륨( 평균값).

- 훈련 샘플을 만듭니다.

결과는 다음과 같습니다. 네트워크가 훈련되었지만 새 데이터에서는 제대로 작동하지 않습니다. 어딘가에서 최저점을 정확하게 예측하고 일반적으로 어딘가에서 "해야 할 일을 잊어 버립니다." 이전에 했던 것과 비교하면 질적으로 다른 차원에서 결과가 나온 것 같지만 이것은 제 주관적인 생각입니다. 네. 명확히 하기 위해, 나는 어디에서나 경험 법칙을 따랐습니다. 네트워크 입력 기능의 수(이 경우에는 2차 기능입니다) < 훈련 샘플 크기 / 10, 은닉층의 뉴런 수는 네트워크 수보다 크지 않습니다. 입력 ... ”이 편지에서 발췌한 내용이 기능 검색에 대한 가능한 접근 방식에 대한 아이디어를 제공하기를 바랍니다.

 
mytarmailS :

끝 부분에 여전히 왜곡이 있고 가장자리에 가까울수록 더 강하고 죄송합니다. 작동하지 않는다는 것을 이해했습니다 ....

적합 여부에 대한 질문은 매우 사소하게 해결됩니다. 먼저 함수를 푸리에 급수로 확장한 다음 역변환을 통해 결과 급수에서 복원합니다. 그리고 확장 전의 초기 기능과 복원된 기능을 비교합니다. 복원된 기능이 원본과 근본적으로 다르다면 이 방법이 통하지 않을 것이 분명해집니다.

비주기적 기능의 경우 웨이블릿 변환을 사용하는 것이 좋습니다. 나는 개인적으로 그것을 직접 시도하지 않았습니다. 그러나 이미지가 먼저 웨이블릿에 의해 압축된 다음 복원되는 방식으로 판단하면 약간의 왜곡이 있지만 푸리에 변환에서 얻은 왜곡에 비해 시각적으로 눈에 잘 띄지는 않지만 웨이블릿이 비주기적 계열에 더 적합하다는 것은 분명합니다. 푸리에 변환 . 인용 VR에 웨이블릿을 적용하는 실제 경험이 없기 때문에 여기에서 어떤 특정 웨이블릿이 가장 적합한지에 대한 유용한 정보를 공유할 수 없습니다. 그리고 마차와 작은 카트가 있습니다.

mytarmailS :

당신의 신경망은 안녕하십니까? 훈련?

어떤 작업과 데이터를 찾고 계십니까? 임의의 숫자 샘플을 그녀에게 흘려보낸다면 그녀는 "쓰레기 인, 가비지 아웃"이라고 맹세합니다. 그리고 중요한 예측 변수의 샘플을 제공하면 일반화 능력의 값을 제공합니다. 적어도 12개의 예측 변수와 수천 개의 예제 샘플에 대해서는 그렇게 오래 훈련하지 않습니다.
 
유리 레셰토프 :

적합 여부에 대한 질문은 매우 사소하게 해결됩니다. 먼저 함수를 푸리에 급수로 확장한 다음 역변환을 통해 결과 급수에서 복원합니다. 그리고 확장 전의 초기 기능과 복원된 기능을 비교합니다. 복원된 기능이 원본과 근본적으로 다르다면 이 방법이 통하지 않을 것이 분명해집니다.

나는 아마도 이것을 할 것입니다 .... 먼저 내가 일반적으로하고있는 일과 결정해야 할 사항을 말한 다음이 문제에 대한 제안을 말할 것입니다. 모두 ...
 

조금 전 역사....

나는 이 원칙에 따라 역사에서 패턴을 찾는 것으로 시작했습니다.

1) 우리는 현재 가격 을 가지고 있습니다 - 그것을 마지막 20개의 양초로 둡니다

2) 우리는 역사를 순환하고 과거의 유사한 상황을 찾습니다(근접성은 Pearson's Correlation과 Euclidean으로 측정되었습니다).

3) 그러한 상황을 발견했을 때 우리는 그것이 어떻게 끝났는지 살펴봅니다 - 성장 또는 하락

4) 그러한 유사체가 많이 발견되면 어떤 종류의 이점이 있는 일부 통계를 수집할 수 있습니다(예: 10개의 유사체 발견)

그 중 8개는 성장으로, 2개는 하락으로 끝났습니다. 가격에 어떤 일이 일어날지 예측해 보세요. :)

즉, Ivakhnenko의 "복잡한 아날로그 방법 - 모델 없는 예측" " MGUA "와 유사한 작업을 수행했습니다.

따라서 이 접근 방식은 여러 가지 이유로 작동하지 않는 것으로 나타났습니다.

1) 원하는 벡터에 양초가 많을수록 역사적으로 더 적은 수의 유사체를 찾을 수 있습니다. 실제로 모든 OHLC 가격과 피어슨 상관 관계의 정확도 > 0.93을 취하면 3개의 양초 벡터가 한계가 됩니다. 정상적인 예측을 위해서는 훨씬 더 큰 벡터가 필요합니다.

2) 실제로 시장에서 동일한 가격 상황은 거의 없습니다....

3) 그리고 정확도가 많이 떨어지기 때문에 벡터를 늘릴 수 없다는 것이 밝혀졌습니다. 여전히 할 수 있다면 동일한 상황이 없기 때문에 큰 벡터에서 아날로그를 찾지 못할 것입니다.

해결책이 발견되었습니다...

 
유리 레셰토프 :

어떤 작업과 데이터를 찾고 계십니까? 임의의 숫자 샘플을 그녀에게 흘려보낸다면 그녀는 "쓰레기 인, 가비지 아웃"이라고 맹세합니다. 그리고 중요한 예측 변수의 샘플을 제공하면 일반화 능력의 값을 제공합니다. 적어도 12개의 예측 변수와 수천 개의 예제 샘플에 대해서는 그렇게 오래 훈련하지 않습니다.

인사말!!!! LibVMR을 사용하지만 "Bad Data" 오류가 충돌하기 때문에 이전 버전이 표시됩니다. 새 버전이 있는 것으로 알고 있습니다. 어디서 다운받을 수 있나요??? 가능하다면??
 
mytarmailS :

조금 전 역사....

나는 이 원칙에 따라 역사에서 패턴을 찾는 것으로 시작했습니다.

1) 우리는 현재 가격 을 가지고 있습니다 - 그것을 마지막 20개의 양초로 둡니다

2) 우리는 역사를 순환하고 과거의 유사한 상황을 찾습니다(근접성은 Pearson's Correlation과 Euclidean으로 측정되었습니다).

명확하지 않습니까? 패턴이나 변형에 대해 OHLC 형식으로 가격을 책정합니까?

사실은 OHLC를 그대로 취하면 비슷한 패턴이지만 비교된 패턴보다 1000포인트 높거나 낮은 경우 완전히 다른 패턴보다 유클리드 거리만큼 차이가 많이 나지만 비교한 패턴보다 10포인트 높거나 낮습니다. . 또한, 그 차이는 2차 크기가 되며, 따라서 비교 오류도 2차입니다.

사유: