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

 
잘. 마켓 오픈도 하기 전부터 한 주가 시작되었고, 14버전 테스트도 활발히 하고 있습니다. 다음과 같은 말씀을 드리고 싶습니다. 그가 훈련하는 시간이 길수록 TS에 더 많은 입력이 포함됩니다. 더 많은 예측. 최대 8-9개의 입력이 있었습니다. 그러나 일반화 능력은 일반적으로 높지 않습니다. 예, 그러한 차량은 스트레칭으로 작동합니다. 즉, 3의 표시에 겨우 도달합니다. 그러나 4-6개의 입력이 있는 예측 변수는 일반적으로 만족스럽게 작동합니다. 항목 수를 50개에서 150개로 늘렸습니다. Duc는 이제 3시간째 훈련을 받았습니다. 하지만 이번에도 많은 인풋이 있을 거라고 생각합니다. 그럼 보자......
 
글쎄, 나는 다시이 쓰레기를 발견했다. 사실 저는 데이터 세트, 12개의 예측이 있고, 그 다음 자체 시차인 lag1 및 lag2가 있습니다. 이전에는 항목이 주로 세트의 시작 부분에 있었습니다. 즉, 지연이 거의 없었고 lag2가 있는 경우는 거의 없었으며 lag1 이하였습니다. 이제 반대로 첫 번째 데이터는 실제로 전혀 사용되지 않지만 lag1과 가장 유감스럽게도 lag2가 더 자주 나타나기 시작했습니다. 샘플에 데이터가 넘친다는 것을 이해합니다. 그러나 사실은 이전에 일반화가 주로 초기 열에, 이제는 마지막 열에 .... 실제로 진행되었으므로 결론을 내립니다 ....
 
마이클 마르쿠카이테스 :
글쎄, 나는 다시이 쓰레기를 발견했다. 사실 저는 데이터 세트, 12개의 예측이 있고, 그 다음 자체 시차인 lag1 및 lag2가 있습니다. 이전에는 항목이 주로 세트의 시작 부분에 있었습니다. 즉, 지연이 거의 없었고 lag2가 있는 경우는 거의 없었으며 lag1 이하였습니다. 이제 반대로 첫 번째 데이터는 실제로 전혀 사용되지 않지만 lag1과 가장 유감스럽게도 lag2가 더 자주 나타나기 시작했습니다. 샘플에 데이터가 넘친다는 것을 이해합니다. 그러나 사실은 이전에 일반화가 주로 초기 열에, 이제는 마지막 열에 .... 실제로 진행되었으므로 결론을 내립니다 ....

따라서 이전 버전으로 롤백해야 합니다.

내 비행은 정상입니다. 샘플에 지연이 없기 때문일까요?

 
Dr.Trader :

정말 잘생겼는데 결국 어떻게 될지 궁금하네요.

위원회에 관해서는 몇 가지 예를 게시했지만 분류할 때 반올림과 함께 회귀를 사용하는 모델이 있으며 모든 것이 그렇게 간단하지 않습니다. 투표를 결합하는 두 가지 방법을 시도했습니다.

1) 모든 것을 클래스로 반올림하고 더 많은 표가 있는 클래스를 선택합니다.
저것들. 3개 모델의 4개 막대에 대한 예측
c(0.1, 0.5, 0.4, 0.4) c(0.6, 0.5, 0.7, 0.1) c(0.1, 0.2, 0.5, 0.7) 나는 이것을 클래스로 더 반올림합니다
c(0, 1, 0, 0) c(1,1,1,0) c(0,0,1,1) 이고 예측이 포함된 최종 벡터는 다음과 같이 c(0, 1, 1, 0)입니다. 숫자 투표.

2) 또 다른 옵션은 평균 결과를 즉시 찾은 다음 클래스로 반올림하는 것입니다.
결과는 c((0.1+0.6+0.1)/3, (0.5+0.5+0.2)/3, (0.4+0.7+0.5)/3, (0.4+0.1+0.7)/3)입니다.
또는 (0.2666667, 0.4000000, 0.5333333, 0.4000000), 또는
c(0, 0, 1, 0)

결과가 다르며 반올림하는 단계에 따라 다름을 알 수 있습니다. 이 중 어느 것이 더 표준적인지는 모르겠지만, 제 생각에는 두 번째 방법이 새로운 데이터에 더 잘 맞는 것 같습니다.

패키지 tsDyn 함수 SETAR

임계값(RSI에서와 같이 두 가지가 있을 수 있음)의 값은 변수입니다. 놀라운 결과를 제공합니다.

또한 분류에서 보정 알고리즘을 잊지 마십시오. 사실 클래스 예측은 실제로 명목 값이 아니며 알고리즘은 실수 인 클래스 확률을 계산합니다. 그런 다음 이 확률을 예를 들어 반으로 나누고 두 개의 클래스를 얻습니다. 확률이 0.49와 051이면 두 클래스입니까? 0.48과 052는 어떻습니까? 계급분할인가? 여기에서 SETAR에 따르면 두 개의 클래스로 나뉘며 그 사이에는 Reshetov의 "울타리"가 있습니다.

 
트레이더 박사 :

정말 잘생겼는데 결국 어떻게 될지 궁금하네요.

위원회에 관해서는 몇 가지 예를 게시했지만 분류할 때 반올림과 함께 회귀를 사용하는 모델이 있으며 모든 것이 그렇게 간단하지 않습니다. 투표를 결합하는 두 가지 방법을 시도했습니다.

1) 모든 것을 클래스로 반올림하고 더 많은 표가 있는 클래스를 선택합니다.
저것들. 3개 모델의 4개 막대에 대한 예측
c(0.1, 0.5, 0.4, 0.4) c(0.6, 0.5, 0.7, 0.1) c(0.1, 0.2, 0.5, 0.7) 나는 이것을 클래스로 더 반올림합니다
c(0, 1, 0, 0) c(1,1,1,0) c(0,0,1,1) 이고 예측이 포함된 최종 벡터는 다음과 같이 c(0, 1, 1, 0)입니다. 숫자 투표.

2) 또 다른 옵션은 평균 결과를 즉시 찾은 다음 클래스로 반올림하는 것입니다.
결과는 c((0.1+0.6+0.1)/3, (0.5+0.5+0.2)/3, (0.4+0.7+0.5)/3, (0.4+0.1+0.7)/3)입니다.
또는 (0.2666667, 0.4000000, 0.5333333, 0.4000000), 또는
c(0, 0, 1, 0)

결과가 다르며 반올림하는 단계에 따라 다름을 알 수 있습니다. 이 중 어느 것이 더 표준적인지는 모르겠지만, 제 생각에는 두 번째 방법이 새로운 데이터에 더 잘 맞는 것 같습니다.
이것은 한 쌍의 gbpusd 입니다. 이는 모델이 Brexit 검증을 기다리고 있음을 의미합니다. 작년 데이터도 아직 처리도 안했는데.... 하수구일지도...

최종 테스트 결과에 따라 글의 톤을 정하겠습니다. 모델이 작동하는 것을 보는 것은 항상 약간의 놀라움이며 무엇이 누출되는지 보는 것이 정상입니다.

나는 다음과 같이 위원회를 소집한다.

훈련 데이터의 모델 수에 따라 숫자 유형 예측의 n 벡터를 만듭니다(가격 증분 회귀).

선택한 모델에 대한 응답을 평균화합니다.

나는 분위수 0.05와 0.95를 센다.

유효성 검사에서 1단계와 2단계를 반복합니다.

평균이 분위수를 넘어서는 예만 선택합니다.

응답에 예측 부호를 곱하고 스프레드를 뺍니다.

결과 벡터에서 예측 범위에 따라 하루에 1-4번의 거래 비율로 무작위로 포함된 m개의 하위 샘플을 만듭니다.

위원회는 이미 단일 모델의 성능에 비해 MO가 3배 증가하는 것을 보여주었습니다. 패턴이 다르기 때문에..

 
Как из данных вычленить некие группы данных по условию
Как из данных вычленить некие группы данных по условию
  • ru.stackoverflow.com
нужно найти такие строчки которые повторяются не менее 10 раз в всей выборке и в каждой из найденных одинаковых групок которые повторялись, количество "1" в target.label должно превышать 70% по отношению к "0" вот найденные одинаковые строчки единичек больше чем нулей...
 

그럼 여기서 답변드리겠습니다.

#пара строк из той таблицы, не буду я всё текстом копировать, потом первая строка повторена ещё дважды
dat <- data.frame(cluster1=c( 24 , 2 , 13 , 23 , 6 ), cluster2=c( 5 , 15 , 13 , 28 , 12 ), cluster3=c( 18 , 12 , 16 , 22 , 20 ), cluster4=c( 21 , 7 , 29 , 10 , 25 ), cluster5=c( 16 , 22 , 24 , 4 , 11 ), target.label=c( 1 , 1 , 0 , 1 , 0 ))
dat <- rbind(dat, dat[ 1 ,], dat[ 1 ,])
#результат последней строки поменян на 0 для эксперимента
dat[ 7 , "target.label" ]= 0

library (sqldf)
#для sqldf точек в названиях колонок быть не должно
colnames(dat)[ 6 ] <- "target"

dat1 <- sqldf( "select cluster1, cluster2, cluster3, cluster4, cluster5, avg(target) as target_avg, count(target) as target_count from dat group by cluster1, cluster2, cluster3, cluster4, cluster5" )
dat1
dat1[ dat1$target_count>= 10 & dat1$target_avg> 0.63 , ]
dat1[ dat1$target_count>= 10 & ( dat1$target_avg< 0.37 | dat1$target_avg> 0.63 ), ] #на случай если оба "0" или  "1" встречаются чаще 70 %
 
산산이치 포멘코 :

패키지 tsDyn 함수 SETAR

SETAR는 위원회 규모와 관련이 있습니까? 아니면 재무 모델 생성을 위한 별도의 문제입니까?

패키지 매뉴얼을 뒤져보았지만 필요한 것이 없었습니다... 이런 상황이 있습니다. 10,000개의 예제가 있는 교육 테이블이 있습니다. 그리고 이 예제에서 훈련된 100개의 모델. 모델을 테스트하기 위해 동일한 입력 데이터를 예측하고 각각 10,000개의 예측이 포함된 100개의 벡터를 얻을 수 있습니다. SETAR를 사용하여 이 100개의 벡터를 모두 하나로 결합할 수 있습니까?
그런 다음 새 데이터에 대한 예측을 수행하려면 다시 100개의 예측이 있고 이를 하나로 결합해야 합니다(100개의 벡터가 아니라 100개의 단일 예측만 있음). SETAR도 훈련 데이터에서 얻은 위원회 매개변수를 사용하여 이 작업을 수행할 수 있습니까?

 
트레이더 박사 :

SETAR는 위원회 규모와 관련이 있습니까? 아니면 재무 모델 생성을 위한 별도의 문제입니까?

패키지 매뉴얼을 뒤져보았지만 필요한 것이 없었습니다... 이런 상황이 있습니다. 10,000개의 예제가 있는 교육 테이블이 있습니다. 그리고 이 예제에서 훈련된 100개의 모델. 모델을 테스트하기 위해 동일한 입력 데이터를 예측하고 각각 10,000개의 예측이 포함된 100개의 벡터를 얻을 수 있습니다. SETAR를 사용하여 이 100개의 벡터를 모두 하나로 결합할 수 있습니까?
그런 다음 새 데이터에 대한 예측을 수행하려면 다시 100개의 예측이 있고 이를 하나로 결합해야 합니다(100개의 벡터가 아니라 100개의 단일 예측만 있음). SETAR도 훈련 데이터에서 얻은 위원회 매개변수를 사용하여 이 작업을 수행할 수 있습니까?

내가 아는 한 위원회와 아무 관련이 없습니다.
 
유리 레셰토프 :

따라서 이전 버전으로 롤백해야 합니다.

내 비행은 정상입니다. 샘플에 지연이 없기 때문일까요?

예, 이전 버전에서 일반화 능력을 향상시켰기 때문에 지연을 했습니다. 이제 예측을 열거하는 알고리즘이 개선되어 이것이 필요하지 않다고 생각하므로 없이 훈련하려고 합니다. 우리는 지켜보고 있습니다. 오늘 결과는 나중에 올리겠습니다...
사유: