728x90
반응형

2. 해외선물/2-2. 해외선물 알고리즘 연구 11

(해외선물 자동매매 알고리즘) (2) 역전파(backpropagation) 알고리즘 구현하기

목 차 1. 들어가며 2. 사전설명 1) numpy 라이브러리 6가지 활용 형태 ① numpy.random ② numpy.exp ③ numpy.dot ④ numpy.mean ⑤ numpy.mod ⑥ numpy.array 2) 시그모이드 함수 3) 행렬의 설명 3. 코드설명 4. 전체코드 5. 마치며 1. 들어가며요즘에는 자동매매를 하지 않고, 딥러닝(Deep Learning) 쪽을 공부하고 있다. 딥러닝은 생소한 개념 및 코드 등 약간의 진입장벽이 있는 것 같다. 그래도 조금씩 감이 생기는것 같아, 좌절하지 않고 꾸준히 공부하고 있다. 순전파는 무엇이며, 역전파는 무엇일까? 2 + 3의 결과는 5(순전파)이다. 반대의 경우라면??? a+b=5일때 결과값(5)을 알고있으면 a, b는 각각 몇 일까? a, ..

(해외선물 자동매매 알고리즘) (1) 역전파(backpropagation) 구현을 위한 numpy 이해하기

목 차 1. 들어가며 2. 코드설명 1) y_train = (x_train[:, 0])을 출력 2) y_train = (x_train[:, 1])을 출력 3) y_train = (x_train[:, 0] != x_train[:, 1]) 의미 4) astype(int) 3. 마치며 1. 들어가며딥러닝을 위한 역전파(backpropagation) 코드 이해를 위해서는 numpy에 대한 이해가 필요하다. 하아~~ 깊은 한숨이 나오는건, 필자는 그동안 평균을 구하는 numpy.mean()이나 표준편차를 구하는 numpy.std() 2개에 익숙해져서, numpy 배열이 나오니 상당히 헤매게 된다. ㅠㅠ 이 글에서는 역전파 구현 전 이해해야할 numpy의 개념 중 배열에 대해 익숙해질 필요가 있다. 2. 코드설명아..

(해외선물 자동매매 알고리즘) (2) 선형회귀분석 설명 (경사하강법)

목 차 1. 들어가며 2. 사전설명 1) 경사하강법 설명 2) 데이터 관리 3. 코드설명 4. 마치며 1. 들어가며지난글에서는 선형회귀분석의 개념에 대해 알아보았다. 필자도 정확히 이해할 수 없어서 대략적인 설명을 했다. 선형회귀에 관심이 있다면, 인터넷 검색 또는 서적(book)을 통해 깊이 공부해보면, 선형회귀 개념에 대해 어느정도 감은 가질 수 있을 것이다. 이번글에서는 케라스, CNN 등의 라이브러리의 도움없이, 선형회귀분석 중 경사하강법을 이용하여 y = wx + b 선형회귀의 w(가중치 weight, 기울기) 및 b(편향 bias, y절편)을 각각 구해보자. ※ 코드 출처 : 또야님 티스토리에서 경사하강법 설명 (코드의 주소는 "한글"로 설정이 되어 있어서 그 주소가 상당히 길기 때문에 링크를..

(해외선물 자동매매 알고리즘) (1) 선형회귀분석 설명 (개념설명)

목 차 1. 들어가며 2. 개념설명 1) 선형회귀분석 설명 2) 선형회귀의 선을 구하는 방법 3) matplotlib 라이브러리 설명 3. 마치며 1. 들어가며 지난글에서는 MCTS를 활용해 틱택톡 게임을 하는 코드를 알아보았다. 2016년 알파고(Alphago Lee)는 MCTS와 UCT를 사용한 것으로 알려져있다. MCTS는 "선택-확장-시뮬레이션-역전파"의 4단계이며, UCT(Upper Confidence Boundary of Tree)는 이용(exploitation) 및 탐사(exploration)을 활용하여 한번도 탐색되지 않은 노드에 대해 한번은 실행한다. "한번도 탐색되지 않은 노드"는 혹시나 모를 경우의 수를 탐사(exploration)한다는 말이다. 어렵다. @@ 자세한 내용은 검색을 통..

(해외선물 자동매매 알고리즘) (3) MCTS를 활용하여 틱택톡 만들기

목 차 1. 들어가며 2. 사전설명 3. 코드설명 4. 전체코드 5. 마치며 1. 들어가며 지난글에서는 틱택톡 만들기 및 pc의 순차적 입력을 통해 대결하는 방법을 알아보았다. pc가 랜덤(random)입력하는 방법이 있겠지만, 필자가 원하는 방법은 아니었다. 이전에 두었던 수(手)를 분석하여 가장 좋은 수(手)를 계산하는 방법을 알아보고자 했는데, 앞의 방법(랜덤입력)은 설계된 코드에 따라 다음 수(手)를 두는게 약간은 부담이었다. 모든 경우의 수를 코드로 짤수도 없을 뿐더러, 설계한 코드가 반드시 승리로 이끌어줄 것 같지는 않다. 이번글에서는 틱택톡에서 MCTS를 활용해 기 입력된 수(手)에 대해 랜덤으로 끝까지 둬보고, 승률이 가장 높은 수(手)를 pc가 두도록 설정하는 코드에 대해 알아본다. ※ ..

(해외선물 자동매매 알고리즘) (2) 틱택톡 만들기 (컴퓨터와 대결)

목 차 1. 들어가며 2. 사전설명 3. 코드설명 4. 전체코드 5. 마치며 1. 들어가며 지난글에서는 2인용 틱택톡 만드는 코드(2인 대결) 구성을 알아보았다. x플레이어와 o플레이어를 번갈아서 게임을 하면 승/패와 무승부 3가지 경우를 생각하며서 코드를 작성하면 된다. 총 3가지 방법(3x3 공간 구성, 플레이어들의 입력데이터, 승패유무) 코드를 구성할 수 있으면, 이번글도 쉽게 이해를 할 것이다. 이번글에서는 임의로 인정하는 pc와의 대결을 통해 승/패, 무승부를 하는 방법을 알아볼 것이다. pc가 데이터를 입력할 수 있다면, 향후에는 지도학습을 통해 MCTS를 구성할 수 있을 것으로 생각된다. 코드출처는 아래와 같다. ※ 틱택톡 코드 출처(tokyoEdtech님) : https://www.yout..

(해외선물 자동매매 알고리즘) (1) 틱택톡 만들기

목 차 1. 들어가며 2. 사전설명 3. 코드설명 1) 3 x 3 공간을 선언 2) x, o 플레이어는 3 x 3 공간에 데이터를 입력 3) 승/패 및 게임 재시작을 작성 4. 전체코드 5. 마치며 1. 들어가며해외선물 자동매매를 구현하는데, 파이썬 언어는 어느정도 숙지를 했지만, 알고리즘을 제대로 설정하지 못해서 계속 손실을 보고 있다. 기존의 고전적인 방법(rsi 지표, 급등/급락후 진입 등)으로는 수익을 내기 힘들것 같다. 그래서 계속 수익내는 방법을 고민해보고 있다. 이번에 접근하는 알고리즘은 몬테카를로 트리 서치(Monte Carlo Tree Search, MCTS)이다. 많이 들어봤을 2016년 알파고(Alphago)가 활용했던 방법이다. 언제적 알파고냐... 잠깐 망설에게 되지만, 그래도 하..

(해외선물 자동매매 알고리즘) (2) rsi 70이상, 30이하 넓이 구하기

목 차 1. 들어가며 2. 사전설명 1) rsi 넓이를 구하기 위한 경우의 수 2) rsi 넓이 구하는 영역 3. 코드설명 4. 전체코드 5. 마치며 1. 들어가며 지난글에서는 rsi가 70이상, 30이하일 때 차트에 표기된 노란색(①) 혹은 파란색(②) 넓이를 구하는 방법을 알아보았다. 과매수 상태일 때는 노란색, 과매도 상태일 때는 파란색으로 표기된다. 은 2023년 12월 21일(목)의 22:30~00:30분까지의 1분봉이다. 22:30분 지표발표가 있었고, 저점 16,858.50을 기준으로 22:43분 최고가 16971.25까지 112.75p를 올리는 나스닥을 보니... 역시 나스닥이구나.ㅎㅎㅎ 필자는 의 과매수(①) 및 과매도(②) 구간의 넓이를 구하고자 한다. < 그림..

(해외선물 자동매매 알고리즘) (1) rsi 70이상, 30이하 넓이 개념 설명

목 차 1. 들어가며 2. 사전설명 1) rsi 결과값들은 직선으로 연결 2) 노란색으로 표기된 넓이는 삼각형과 사다리꼴로 계산된다. 3) rsi 70, rsi 30을 y절편으로 놓고, 삼각형과 사다리꼴 넓이 3. 개념 설명 1) 사다리꼴 넓이 구하기 2) 삼각형 넓이 구하기 4. 마치며 1. 들어가며 오랜만에 글을 쓰는 것 같다. 그동안 수동매매(손매매)도 해보고, 새로운 알고리즘 찾는 등 여러가지 고민을 하느라 글을 쓰지 못했다. 이 글에서는 해외선물의 보조지표 중 1개인 rsi를 구할 수 있다는 가정하에 글을 쓴다. rsi를 구하는 방법은 아래 링크에서 확인하자. (키움증권 해외선물 OpenAPI-W) RSI 값 구하기 (2) RSI 개념 및 계산접근 방법 목 차 1. 들어가며 2. 개념 및 계산 ..

(해외선물 자동매매 알고리즘) (2) rsi 보조지표의 알고리즘 관련

목 차 1. 들어가며 2. 사전설명 3. 내용 설명 1) 엑셀의 2번째 줄에서 틀고정을 하자 2) 불필요한 내용은 삭제한다. 3) 진입을 위한 확인사항은 1분전의 rsi이다. 4) 진입점, 고가, 저가를 구해보자 5) 승/패를 기록해보자. 6) 상단에 3줄 정도 "줄 삽입"을 한다. 4. 승률 계산해보기 5. 마치며 1. 들어가며 지난 글에서는 해외선물 알고리즘의 개념과 "가정사항"에 대해 알아보았다. 알고리즘이라고 해서 큰 의미는 없다. 반복되는 패턴을 알고리즘이라고 하면 될 것 같다. 가정사항은 상당히 많았다. 어디에서 진입할지, 진입후 보유시간, 수익/손절가 설정 등 생각보다 고려해야 하는 내용이 많다는 내용을 설명하는 정도였다. 이번 글에서는 필자가 가장 선호하는 보조지표 중 하나인 rsi 관련 ..

728x90
반응형