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

 
산산이치 포멘코 :
R의 "객체"는 많은 프로그래밍 언어보다 훨씬 더 복잡합니다.
예, 객체는 다르지 않습니다. str, plot, summary 등의 함수는 여러 번 오버로드되며 각 유형에는 고유한 구현이 있습니다.
 
알렉세이 버나코프 :
왜 이렇게 오래 걸리는지 잘 이해가 되지 않습니다. optim_var_number는 얼마를 얻었습니까? 10초 이내여야 합니다. 1200초로 설정하면 뭔가 될 것입니다.

예측 변수(9602)가 많아서 시간이 너무 오래 걸립니다. 2015년 eurusd d1에서 가져온 것으로 모든 종류의 가격, 시간 및 지표가 있습니다. 아직 d1에서 벗어나지 않았기 때문에 훈련 예제의 수는 1년의 거래일 수로 250+에 불과합니다. 패스가 없습니다.

optim_var_number = 0.8662363

파일:
trainData.zip  14378 kb
 
트레이더 박사 :

예측 변수(9602)가 많아서 시간이 너무 오래 걸립니다. 2015년 eurusd d1에서 가져온 것으로 모든 종류의 가격, 시간 및 지표가 있습니다. 아직 d1에서 벗어나지 않았기 때문에 훈련 예제의 수는 1년의 거래일 수로 250+에 불과합니다. 패스가 없습니다.

optim_var_number = 0.8662363

나는 당신의 세트와 함께 재생할 것입니다. 모든 것이 날아가야 합니다.
 
산산이치 포멘코 :

후자의 경우 첫 번째 열은 PC1만 취하면 0.9761 변동성(누적 비율)이 설명되고 PC1과 PC2의 두 가지 구성 요소를 취하면 0.99996이 설명된다는 식입니다.

PC1 PC2 PC3 PC4 PC5

표준편차 2.2092 0.34555 0.01057 0.008382 0.004236

분산의 비율 0.9761 0.02388 0.00002 0.000010 0.000000

누적 비율 0.9761 0.99996 0.99998 1.000000 1.000000

모든 것이 약간 나쁜 것으로 판명되었습니다. 이 방법은 가능한 모든 구성 요소로 작업하는 경우에만 작동합니다. prcomp 함수에는 기본적으로 NULL인 "tol" 매개변수가 있습니다. 그러나 발견된 구성 요소의 수를 줄이기 위해 0에서 1 사이의 값을 할당할 수 있습니다. 이것은 다음과 같이 작동합니다. 새 구성 요소를 검색할 때 함수는 첫 번째 구성 요소의 sdev를 가져와서 tol을 곱합니다. 새 구성 요소의 sdev가 이 제품 아래로 떨어지면 새 구성 요소 생성이 중지됩니다. 예를 들어 귀하의 경우 tol = 0.1이면 sdev <0.22인 모든 구성 요소는 자동으로 삭제됩니다. 즉, 두 개의 주요 구성 요소만 남게 됩니다. tol=0.003이면 sdev > 0.0066276인 구성 요소만 남게 됩니다. 즉, 4개만 남게 됩니다. tol=NULL(기본값)을 사용하면 이 함수는 최대 구성 요소 수를 생성하지만 시간이 많이 걸리므로 이 프로세스를 단축하고 싶습니다. tol을 사용하면 모든 것이 더 빠르게 작동하고 구성 요소는 더 작아지지만 이 경우 누적 비율이 무너집니다. 그것은 어떻게 든 발견 된 구성 요소만을 기반으로 계산됩니다. 마지막으로 찾은 구성 요소의 누적 비율은 항상 1입니다. tol 덕분에 1000개가 아닌 2개의 구성 요소만 찾은 경우에도 두 번째 구성 요소의cumulativeprop는 1로 변경됩니다(예: 모든 구성 요소가 생성된 경우 0.1에서 0.1 ), 따라서 PC1에서도 증가할 것입니다. 예측 변수를 필터링할 때 누적 비율이 어떻게든 잘못 변경될 수도 있습니다.

일반적으로 누적 비율은 신뢰할 수 없습니다. y-aware pca로 진지하게 작업하는 경우 설명된 변동성을 계산하기 위해 고유한 함수를 작성해야 합니다.

 
트레이더 박사 :

모든 것이 약간 나쁜 것으로 판명되었습니다. 이 방법은 가능한 모든 구성 요소로 작업하는 경우에만 작동합니다. prcomp 함수에는 기본적으로 NULL인 "tol" 매개변수가 있습니다. 그러나 발견된 구성 요소의 수를 줄이기 위해 0에서 1 사이의 값을 할당할 수 있습니다. 이것은 다음과 같이 작동합니다. 새 구성 요소를 검색할 때 함수는 첫 번째 구성 요소의 sdev를 가져와서 tol을 곱합니다. 새 구성 요소의 sdev가 이 제품 아래로 떨어지면 새 구성 요소 생성이 중지됩니다. 예를 들어 귀하의 경우 tol = 0.1이면 sdev <0.22인 모든 구성 요소는 자동으로 삭제됩니다. 즉, 두 개의 주요 구성 요소만 남게 됩니다. tol=0.003이면 sdev > 0.0066276인 구성 요소만 남게 됩니다. 즉, 4개만 남게 됩니다. tol=NULL(기본값)을 사용하면 이 함수는 최대 구성 요소 수를 생성하지만 시간이 많이 걸리므로 이 프로세스를 단축하고 싶습니다. tol을 사용하면 모든 것이 더 빠르게 작동하고 구성 요소는 더 작아지지만 이 경우 누적 비율이 무너집니다. 그것은 어떻게 든 발견 된 구성 요소만을 기반으로 계산됩니다. 마지막으로 찾은 구성 요소의 누적 비율은 항상 1입니다. tol 덕분에 1000개가 아닌 2개의 구성 요소만 찾은 경우에도 두 번째 구성 요소의cumulativeprop는 1로 변경됩니다(예: 모든 구성 요소가 생성된 경우 0.1에서 0.1 ), 따라서 PC1에서도 증가할 것입니다. 예측 변수를 필터링할 때 누적 비율이 어떻게든 잘못 변경될 수도 있습니다.

일반적으로 누적 비율은 신뢰할 수 없습니다. y-aware pca로 진지하게 작업하는 경우 설명된 변동성을 계산하기 위해 고유한 함수를 작성해야 합니다.

아이디어는 흥미 롭습니다. 헛된 것은 아닙니다.
 
트레이더 박사 :

예측 변수(9602)가 많아서 시간이 너무 오래 걸립니다. 2015년 eurusd d1에서 가져온 것으로 모든 종류의 가격, 시간 및 지표가 있습니다. 아직 d1에서 벗어나지 않았기 때문에 훈련 예제의 수는 1년의 거래일 수로 250+에 불과합니다. 패스가 없습니다.

optim_var_number = 0.8662363

나는 당신의 세트를 보았다. 또는 예를 들어 모든 변수가 입력으로 가는 것이 아니거나 매우 잘못 알고 있는 것과 같이 무언가를 이해하지 못합니다. 예를 들어 1.1354(MA 및 기타)와 같은 많은 원시 가격 값이 있습니다. 이것은 완전히 고정되지 않은 데이터이기 때문에 어떤 식으로든 수행할 수 없습니다. 모든 데이터는 DIFFERENCES 또는 진동 표시기여야 하며 모두 고정적이어야 합니다. 이러한 데이터에서 종속성을 찾는 것은 완전히 무의미한 작업입니다.
 

정확히는 잊어버렸습니다. 이미 데이터를 특별히 준비해야 한다고 말씀하셨습니다. 원시 데이터를 가져왔습니다. 지표 중에 오실레이터도 있는데, 나는 그것들만 취하려고 한다.

그건 그렇고, PCA 모델은 그러한 데이터로 작동하지만 원본 데이터로 많은 센터링, 스케일링 및 일종의 회전이 필요합니다. 더 간단한 뉴런의 경우 [0..1]의 데이터 정규화만 필요합니다.

 
Dr.Trader :

정확히는 잊어버렸습니다. 이미 데이터를 특별히 준비해야 한다고 말씀하셨습니다. 원시 데이터를 가져왔습니다. 지표 중에는 오실레이터도 있습니다. 나는 그것들만을 취하려고 노력할 것입니다.

그건 그렇고, PCA 모델은 그러한 데이터로 작동하지만 원본 데이터로 많은 센터링, 스케일링 및 일종의 회전이 필요합니다. 더 간단한 뉴런의 경우 [0..1]의 데이터 정규화만 필요합니다.

아니오, 당신은 비정상성의 중요성을 확실히 이해하지 못하고 있습니다. 신경망이든 선형 모델이든 내 모델이든 상관없습니다. 데이터가 고정적이지 않은 경우 해당 데이터에서 찾은 종속성은 샘플 외부에서 발생하지 않도록 보장됩니다. 형식에 있는 모든 데이터: 원가, MA(원가), 봉봉(원가) 등 모델에서 제거해야 합니다. 마지막으로 알려진 가격과의 차이를 가져와야 합니다.

여기에서는 간격으로 확장할 수 없습니다.

 
알렉세이 버나코프 :

데이터가 고정적이지 않은 경우 해당 데이터에서 찾은 종속성은 샘플 외부에서 발생하지 않도록 보장됩니다.

그러한 데이터의 재생산의 적절성에 대한 의구심을 심어주는 흥미로운 뉘앙스가 하나 있습니다(이전 값과 다름)

1) 예를 들어 가격이 있는 경우

2) 우리는 그 차이를 생성합니다

3) 우리는 구조상 서로 매우 가까운 두 가지 차이점 영역을 취합니다(글쎄, 유클리드에 따르면)

4) 즉, 이러한 영역은 거의 100% RF 또는 동일한 뉴런의 하나의 클러스터에 속하며 동일한 상황으로 간주됩니다.

5) 그런 다음 이 두 섹션(차이)을 가져와 다시 초기 가격으로 복원합니다. 즉, 누적 합계

그리고 우리는 이러한 섹션이 완전히 다르다는 것을 알 수 있습니다. 종종 한 섹션에는 상향 추세가 있고 다른 섹션에는 하향 추세가 있습니다. 즉, 유사성이 없으며 알고리즘은 이들이 동일한 섹션이라고 생각합니다.

이 알렉스에 대해 어떻게 생각하세요? 경험이 있는 사람으로서 귀하의 의견이 흥미롭습니다.

 
mytarmailS :

그러한 데이터의 재생산의 적절성에 대한 의구심을 심어주는 흥미로운 뉘앙스가 하나 있습니다(이전 값과 다름)

1) 예를 들어 가격이 있는 경우

2) 우리는 그 차이를 생성합니다

3) 우리는 구조상 서로 매우 가까운 두 가지 차이점 영역을 취합니다(글쎄, 유클리드에 따르면)

4) 즉, 이러한 영역은 거의 100% RF 또는 동일한 뉴런의 하나의 클러스터에 속하며 동일한 상황으로 간주됩니다.

5) 그런 다음 이 두 섹션(차이)을 가져와 다시 초기 가격으로 복원합니다. 즉, 누적 합계

그리고 우리는 이러한 섹션이 완전히 다르다는 것을 알 수 있습니다. 종종 한 섹션에는 상향 추세가 있고 다른 섹션에는 하향 추세가 있습니다. 즉, 유사성이 없으며 알고리즘은 이들이 동일한 섹션이라고 생각합니다.

이 알렉스에 대해 어떻게 생각하세요? 경험이 있는 사람으로서 귀하의 의견이 흥미롭습니다.

왜 그럴까요? 차이가 일치하면 적분 급수가 완전히 일치합니다. 그것들이 단지 유사하다면, 적분 계열은 유사할 것입니다(추세에서).

저는 Trader에게 데이터 준비의 기본 사항을 읽으라고 말하고 싶었습니다. 아무도 원시 진입 가격을 제출하지 않습니다. 이미 십만 번 재생되었습니다. 비정상 데이터는 비정상 종속성을 초래합니다.

사유: