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

 
mytarmailS # :
아니요, 그렇게 간단하지 않습니다.
일일이 꼽기는 쉽지 않은데 뭐가 복잡해
 
Maxim Dmitrievsky #:
그것들을 분리하는 것은 쉽지 않지만 그렇지 않다면 일을 복잡하게 만들 필요가 있을까요?

주기가 너무 커서 포착하기 어렵고, 농업을 제외하고는 예측이 불가능하며, 모든 것이 그렇게 단순하지 않습니다. 시간적 구성 요소 - 시간 내에 반복되는 이벤트만 골라낼 수 있습니다. 그리고 가격에 대한 이벤트와 영향의 연결 고리를 찾으면 목표입니다)))).

 

유전 프로그래밍의 고급 버전인문법적 진화/상징적 회귀....

이러한 도구를 사용하면 모든 종류의 패턴을 자동으로 검색할 수 있습니다.


예를 들어 수식을 통해 최적의 지표 제어를 검색할 수 있습니다.

함수 템플릿(검색 영역)을 만들면

library(gramEvol)
ruleDef <- list(expr  = grule(op(expr, expr), func(expr), var),
                func  = grule(sin, cos, log, sqrt),
                op    = grule("+", "-", "*","/"),
                var   = grule(distance, distance^n),
                n     = grule(1, 2, 3, 4))

grammarDef <- CreateGrammar(ruleDef)
gr <- GrammarRandomExpression(grammarDef,numExpr = 10,max.depth = 5)
q <- as.matrix(unlist(lapply(gr,as.character)),ncol=1)
q

수식을 자동으로 생성합니다:

[1,] "sqrt(log(cos(sqrt(cos(distance^2)))))"                                                                  
 [2,] "sin(log(sqrt(sin(sqrt(distance * distance))) * (sin(log(distance^3)) - cos(cos(distance)) - distance)))"
 [3,] "(sin(distance * sqrt(sin(distance * sqrt(distance^3)))) + distance^1)/distance"                         
 [4,] "sin(log(log(distance^4)))"                                                                              
 [5,] "distance"                                                                                               
 [6,] "distance^4"                                                                                             
 [7,] "log(sin(distance)) * (log(distance) - cos(distance^4 - distance^4))"                                    
 [8,] "distance^1"                                                                                             
 [9,] "distance"                                                                                               
[10,] "log(distance) * (distance/log((distance^4 - distance^3) * distance^2))"        

그런 다음 최적의 솔루션을 유전적으로 검색합니다.

=====================

또는 로그 규칙을 생성하여 규칙성을 검색할 수도 있습니다.

다시 함수 템플릿(검색 영역)을 만듭니다.

library(gramEvol)
ruleDef <- list(
  expr = grule(expr & sub.expr, 
               expr | sub.expr, 
               sub.expr),
  sub.expr = grule( com(var, var) ),
  com = grule(">=","<="),
  var = grule(x,y,w,z,q,y,r)
  )

grammarDef <- CreateGrammar(ruleDef)
gr <- GrammarRandomExpression(grammarDef,numExpr = 15,max.depth = 3)

q <- as.matrix(unlist(lapply(gr,as.character)),ncol=1)
q

그리고 출력은 규칙

[1,] "x >= y"                  
 [2,] "y <= y | y >= y | w >= y"
 [3,] "y <= x"                  
 [4,] "y <= y"                  
 [5,] "y <= r"                  
 [6,] "z <= z"                  
 [7,] "y <= y"                  
 [8,] "x <= y"                  
 [9,] "z <= y | y >= z & r >= y"
[10,] "z >= x"                  
[11,] "y >= y | q >= y | q >= q"
[12,] "y >= y | q <= y | z >= q"
[13,] "y >= y | x <= y | x >= x"
[14,] "y >= r"                  
[15,] "y >= w"

을 생성한 다음 유전학에 의해 적합성을 테스트합니다.

=============================

TS가 있는데 이를 개선하고 싶지만 수백만 가지의 변형을 시도할 만큼 상상력이 부족하다면 알고리즘의 도움을 받아 시도해 볼 수 있습니다.

예를 들어, 가격을 낮춘 볼린저를 분해하는 것("가격 < 볼린저")이 진입점입니다.

이 규칙을 문법에 추가합니다.

library(gramEvol)
ruleDef <- list(
  expr = grule(expr & sub.expr, 
               expr | sub.expr, 
               sub.expr),
  sub.expr = grule( com(var, var)  ,  PRICE < BOLINGER),
  com = grule(">=","<="),
  var = grule(x,y,w,z,q,y,r)
  )

grammarDef <- CreateGrammar(ruleDef)
gr <- GrammarRandomExpression(grammarDef,numExpr = 15,max.depth = 3)

q <- as.matrix(unlist(lapply(gr,as.character)),ncol=1)
q

규칙은 약간 어리석지만 무작위로 생성되기 때문입니다.

[1,] "y >= q"                                                                                                        
 [2,] "PRICE < BOLINGER & y >= y | x >= x"                                                                            
 [3,] "PRICE < BOLINGER | PRICE < BOLINGER & x <= y | y <= w"                                                         
 [4,] "r <= y & PRICE < BOLINGER | w >= x | y <= x"                                                                   
 [5,] "PRICE < BOLINGER | PRICE < BOLINGER | y <= y & PRICE < BOLINGER"                                               
 [6,] "PRICE < BOLINGER"                                                                                              
 [7,] "PRICE < BOLINGER & PRICE < BOLINGER & z <= x | PRICE < BOLINGER & PRICE < BOLINGER | PRICE < BOLINGER | z <= x"
 [8,] "y <= y | PRICE < BOLINGER | x <= y | PRICE < BOLINGER | PRICE < BOLINGER"                                      
 [9,] "PRICE < BOLINGER & x <= y | y <= q & PRICE < BOLINGER"                                                         
[10,] "q >= z & PRICE < BOLINGER | q >= w & y <= x"                                                                   
[11,] "PRICE < BOLINGER | PRICE < BOLINGER"                                                                           
[12,] "w >= y"                                                                                                        
[13,] "PRICE < BOLINGER"                                                                                              
[14,] "y <= y & PRICE < BOLINGER | q >= x | PRICE < BOLINGER"                                                         
[15,] "q >= x" 

요점은 자체 규칙을 추가하면 검색 공간을 많이 줄일 수 있다는 것입니다.

좋은 규칙이 있는데 어떻게 개선할지 모르지만 개선하고 싶다면 다른 규칙으로 '옷을 입혀' 자동으로 확인할 수 있습니다.

 
mytarmailS #:

유전 프로그래밍의 고급 버전인문법적 진화/상징적 회귀....

이러한 도구를 사용하면 모든 종류의 패턴을 자동으로 찾을 수 있습니다.


예를 들어 다음 공식을 사용하여 인디케이터의 최적 제어를 검색할 수 있습니다.

함수 템플릿 만들기(검색 영역)

을 클릭하면 자동으로 수식이 만들어집니다:

그런 다음 최적의 솔루션을 유전적으로 검색합니다.

=====================

또는 로그 규칙을 생성하여 패턴을 찾을 수 있습니다.

다시 함수 템플릿(검색 영역)을 만듭니다.

그리고 출력에서 다음과 같은 규칙을 얻습니다.

을 얻은 다음 유전학에 의해 적합성을 테스트합니다.

=============================

TC를 개선하고 싶지만 수백만 가지의 변형을 시도할 만큼 상상력이 부족하다면 알고리즘의 도움을 받아 시도해 볼 수 있습니다.

예를 들어, 가격을 낮춘 볼린저("가격 < 볼린저")를 세분화할 수 있습니다.

이 규칙을 문법에 추가합니다.

규칙은 약간 어리석지만 무작위로 생성되기 때문입니다.

요점은 자체 규칙을 추가하면 검색 공간을 많이 줄일 수 있다는 것입니다.

좋은 규칙이 있는데 어떻게 개선할지 모르지만 개선하고 싶다면 다른 규칙으로 '옷을 입히고' 자동으로 확인할 수 있습니다.

마치 표지판 주위에 깊은 나무를 심는 것과 같습니다.
 
Maxim Dmitrievsky #:
간판 주위에 깊은 나무를 심는 것과 같습니다.
이는 도구의 다양성을 이해하기 위한 간단한 예시입니다.

단순한 다년생 식물 대신 함수나 신경망 등 원하는 모든 것을 넣을 수 있습니다.


그리고 이 모든 것이 자동으로 이루어집니다.
 
mytarmailS #:
이는 도구의 다양성을 이해하기 위한 간단한 예시입니다.

단순한 부모 대신 함수, 신경망 등 원하는 무엇이든 사용할 수 있습니다.


그리고이 모든 것은 자동 기름칠에있을 것입니다.
우리는 주제의 개발을 기다리고 있습니다
 
elibrarius #:

MO에 종사하는 분들을 위한 질문입니다.
거의 절망에 가까운 이 일에 어떻게 동기를 부여하시나요?
제가 시작했던 18년에는 적은 수입과 물질적 인센티브, 즉 시장의 MO가 도움이 될 것이라는 희망이 있었어요.

지금은 시장이 아닌 거의 수동적으로 몇 배나 더 많은 것을 얻습니다. 물질적 인 질문은 나를 괴롭히지 않습니다. 지난 2 년 동안 저는 관심있는 아이디어를 확인하기 위해 1-2 개월 동안 MO를 3 번 받았습니다.
자유 시간이 있지만 많은 실험에 실패한 후 MO에 시간을 보내는 것은 게으르다. 나는 반환에 대한 희망이 거의 없기 때문에. 유일한 것은 또 다른 재정적 침체 (무언가가 밝혀지면)에 대비하여 다른 출처를 갖는 것입니다. 하지만 지금은 동기가 약합니다.

누가 무엇으로 동기를 부여합니까?

외환과의 오랜 관계. 증권사에서 애널리스트로 시작(경제학 교육)한 후 딜러와 보조 매니저로 일하면서 트레이딩을 하다가 봇과 MO에 관심을 갖게 되었습니다.

상당한 금액을 벌었을 때 (기술적 인 비효율성을 포함하여) 많은 비효율성이있었습니다.
 
Maxim Dmitrievsky #:

저는 외환과 오랜 인연이 있습니다. 중개 센터에서 애널리스트(경제 교육)로 시작해서 딜러와 보조 매니저로 일했고, 트레이딩을 하다가 봇과 MO에 관심을 갖게 되었습니다.

상당한 금액을 벌었지만 기술적인 부분을 포함해 비효율적인 부분이 많았습니다.
동기 부여는 여전히 수입입니까?
글쎄, MO의 도움으로 아무도 운동하지 않습니다.... 모두가 검색하고 있습니다.
 
elibrarius #:
동기부여는 돈 버는 것이 전부인가요?
MO의 도움을 받은 사람은 아무도 잘하고 있지 않은 것 같네요.... 모두가 보고 있습니다.

뿐만 아니라 비이성적인 충동입니다.

어렸을 때 장난감을 부수고 새 장난감을 만드는 것을 좋아했던 것처럼요.
 
Maxim Dmitrievsky #:

뿐만 아니라 비이성적인 충동이기도 합니다.

어렸을 때 장난감을 부수고 새로운 장난감을 만드는 것을 좋아했던 것처럼요.

일반적으로-창의성. 그러나 이 모든 작업은 누구도 보고 인정하지 않을 가능성이 높기 때문에 "테이블 위의" 창의성.

사유: