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

 
도서관 :

여기서 거래의 수는 고려할 필요가 없다고 생각합니다. 그리고 각 거래에서 수수료와 스프레드를 빼면 됩니다. 이 같은:

그것은 거기에서 작동하지 않을 것입니다, 당신은 어쨌든 계산해야합니다

 
블라디미르 페레르벤코 :

예, 버전이 정확합니다.

아니, 네 말이 맞아!

결국, "더 일찍" 열린 거래 (개통은 우리 벡터에 속하지 않음)

이는 커미션이 현재 벡터가 아닌 "이전에" 철회되었음을 의미합니다.

그러나 이것들은 모두 사소한 세부 사항입니다.

 

2시간의 시간이 있는 분들을 위해


 
mytarmailS :

2시간의 시간이 있는 분들을 위해


그것은 무엇에 관한 것입니까?

 
mytarmailS :

2시간의 시간이 있는 분들을 위해


그는 분열된 환상과 잘못된 결론으로 젊은이들의 두뇌를 오염시킵니다.

 
mytarmailS :

아니, 네 말이 맞아!

결국, "더 일찍" 열린 거래 (개통은 우리 벡터에 속하지 않음)

이는 커미션이 현재 벡터가 아닌 "이전에" 철회되었음을 의미합니다.

그러나 이것들은 모두 사소한 세부 사항입니다.

두 가지 점을 고려하지 않으면 이것들은 정말 사소한 일입니다. 첫 번째는 실행 속도입니다.

cnt<-function(x){
    n <- 1 :(length(x)- 1 )
    cnt <- 0
     for (i in n) { if (x[i]!=x[i+ 1 ]) {cnt<-cnt+ 1 }}
     return (cnt)
}
cnt1 <- function(x){
    length(rle(c(x))$values)
}

sig <- rep(c( 1 , 1 , 1 ,- 1 ,- 1 ,- 1 ), 3000 )

bench::workout({
    c <- cnt(sig)
    c1 <- cnt1(sig)
})
# A tibble: 2 x 3
  exprs            process     real
  <bch:expr>      <bch:tm> <bch:tm>
1 c <- cnt(sig)     15.6 ms   9.21 ms
2 c1 <- cnt1(sig)         0    1.15 ms

두 번째 옵션은 15배 더 빠릅니다. 그리고 그것이 수만 번 호출되는 피트니스 기능에 참여한다면 이것은 상당한 시간 낭비입니다.

두 번째 순간. Buy/Sell/ 두 가지 상태가 있으면 모든 것이 좋습니다. 그러나 일반적으로 TS는 Buy/Sell/hold(1, -1, 0)의 세 가지 신호를 생성합니다. 그런 다음 두 번째 옵션이 작동하지 않습니다. 그리고 첫 번째는 약간 조정되었습니다.

sig <- rep(c( 1 , 1 , 1 ,- 1 ,- 1 ,- 1 , 0 , 0 , 0 ), 3000 )
> length(sig)
[1] 27000
cnt<-function(x){
    n <- 1 :(length(x)- 1 )
    cnt <- 0
     for (i in n) { if (x[i] != x[i+ 1 ] & x[i+ 1 ] != 0 ) {cnt<-cnt+ 1 }}
     return (cnt)
}
bench::workout({
    op <- cnt(sig)
    op1 <- cnt1(sig)
})
# A tibble: 2 x 3
  exprs             process     real
  <bch:expr>       <bch:tm> <bch:tm>
1 op <- cnt(sig)     31.2 ms   17.43 ms
2 op1 <- cnt1(sig)         0    3.23 ms
> op
[ 1 ] 5999
> op1
[ 1 ] 9000

첫 번째 옵션은 (느리지만) 올바른 결과를 보여주고 두 번째 옵션은 포지션을 거래로 종료하는 것을 고려하는데 이는 잘못된 것입니다.

 
블라디미르 페레르벤코 :

두 가지 점을 고려하지 않으면 이것들은 정말 사소한 일입니다. 첫 번째는 실행 속도입니다.

완전히 동의...

피트니스 기능으로 네트워크나 숲을 훈련하는 방법이 있습니까?
 
mytarmailS :

완전히 동의...

피트니스 기능으로 네트워크나 숲을 훈련하는 방법이 있습니까?

적합성 함수는 최적화 프로세스 동안 최적화 기준 의 값을 계산합니다. 모델 훈련과 관련이 없습니다.

 

"거래 금지"를 추가하려면 catboost 멀티클래스를 metac으로 구문 분석해야 합니다.

전략의 범위가 증가할 것입니다.

 

피트니스 기능에 잔액을 계산하고 수수료를 고려하는 새로운 기능이 삽입되었습니다 ...

배우면서 더 나빠졌어, 왜? 이제 알고리즘이 수수료를 절약하기 위해 트랜잭션 수를 최소화하려고 한다는 사실 때문에 생각합니다. 결과적으로 경험이 적어서 트랜잭션이 줄어듭니다..

다음은 그래프입니다. 훈련 중에 트랜잭션이 거의 없을 때 훈련이 실패하는 것을 직접 볼 수 있습니다...

회색은 훈련 TRAIN 1500점입니다.

검은색은 TEST 500점

여기에 거래가 거의 없었고 알고리즘은 매우 낮은 빈도로 아무것도 배우지 못했습니다.


2일 전에 진입점을 알아두는 것이 좋습니다.))

하지만 모든 것을 테스트하는 방법을 알 때까지 지속적으로 재훈련하는 것이 더 나을 것입니다.

사유: