728x90
반응형

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

(해외선물 자동매매) 차트 지지/저항 구하기 (5) 나스타 차트 지지, 저항 업데이트 하기

목 차1. 들어가며2. 사전설명   1) 지지/저항값은 리스트 태형으로 저장한다.   2) 줄바꾸기(\n), 문자열 제거(strip) 및 리스트 태형으로 변경(eval)      ① 줄바꾸기(\n)      ② 문자열 및 공백제거(strip)      ③ 리스트 태형으로 변경(eval)3. 코드설명4. 전체코드5. 마치며  1. 들어가며지난글에서는 나스닥 차트의 지지/저항 데이터를 텍스트에 기록하는 방법을 알아보았다. 필자가 말하는 지지/저항은 고점/저점이 2번 이상 반복되는 경우를 말한다. 물론 어느 지점이 정확히 지지/저항인지는 아무도 모른다. 다만, 2번 이상 지지/저항을 했다는 것은 앞으로도 그 값은 의미(지지/저항)가 있다고 생각한다. 지지/저항에 대해 조금더 고민해 보아야 할 것 같다. 이번글..

(해외선물 자동매매) 차트 지지/저항 구하기 (4) 나스타 차트 지지, 저항 구하기

목 차 1. 들어가며 2. 사전설명 1) 나스닥 1분봉 차트의 데이터를 받아온다. 2) 1분봉 데이터의 일부 수정이 필요하다. ① 엑셀의 확장자 변경 (xls → xlsx) ② 불필요한 데이터는 삭제한다. ③ 1분봉 엑셀 맨 하단에 위치한 빈칸은 지운다. 3) pandas을 통해 엑셀 데이터 읽어오기 3. 코드설명 4. 전체코드 5. 마치며 1. 들어가며지난 글에서는 AI 학습을 통해 벽돌깨기 게임의 진행 코드를 알아보았다. 핵심은 AI에 데이터를 학습시키고, 학습된 데이터를 활용으로 벽돌(Brick)을 하나씩 깨는 것이었다. AI가 입력받은 데이터로 벽돌을 깨는게 신기하기도 하고, 패들(paddle)을 통해 공(ball)을 랜덤으로 팅겨내는 등 조금더 욕심을 내고 싶지만, 필자의 최종 목표는 벽돌깨기가..

(해외선물 자동매매) 차트 지지/저항 구하기 (3) AI를 활용한 벽돌깨기 게임

목 차1. 들어가며2. 사전설명   1) AI를 통해 공 패턴 파악하는 방법   2) AI를 통해 패들 이동시키기   3) eval 함수 사용하기3. 코드설명4. 전체코드5. 마치며  1. 들어가며지난 글에서는 벽돌깨기 게임의 볼(ball.centery) 이동 위치에 따른 경로를 텍스트 파일에 저장 및 활용하는 방법을 알아보았다. 이번 글에서는 AI에게 게임의 규칙만 알려준 후(=코드만 설정), AI가 자동으로 벽돌을 깨는 방법에 대해 설명한다. 2016년 3월, 구글 딥마인드(Google Deep Mind)는 알파고(AlphaGo)라는 인공지능 프로그램으로 이세돌 9단과의 바둑 대결에서 압도적인 기량을 보여주었다. 알파고는 4단계(선택-확장-시뮬레이션-역전파)를 거쳐 최선의 수(手)를 찾은 후, 바둑판..

(해외선물 자동매매) 차트 지지/저항 구하기 (2) 벽돌깨기 게임 학습하기

목 차1. 들어가며2. 사전설명   1) 패턴을 파악하는 발상   2) 텍스트에 내용 쓰기/추가/읽기 구현하기3. 코드설명4. 전체코드5. 마치며  1. 들어가며지난 글에서는 pygame 라이브러리를 활용하여 벽돌깨기 게임을 구현해 보았다. pygame 라이브러리 설명까지 더해지니 글이 상당히 길었다. 여기에서는 이전 글에서 설명한 코드의 설명은 생략하고, 추가되는 내용만 설명하고자 한다. 이번 글에서는 공(ball)으로 벽돌(brick)을 깨는 코드를 학습한 데이터를 텍스트(text)로 보내는 방법에 대해 알아본다. 필자는 구글 딥마인드(Google Deep Mind) 기업의 알파고를 구현하는 코드에 관심이 많다. 이세돌 9단과의 바둑 대결에서 어떻게 학습을 시켰으며, 학습된 데이터를 어떻게 다시 활용..

(해외선물 자동매매) 차트 지지/저항 구하기 (1) 벽돌깨기 게임 구현하기(BricksBreak)

목 차1. 들어가며2. 사전설명 1) 구현하여야 할 내용 2) pygame 라이브러리 활용하기3. 코드설명4. 전체코드5. 마치며  1. 들어가며필자가 코딩을 하는 이유는 자동매매로 해외선물에서 수익을 올려보자는 것이다. 수동매매(직접매매)를 하면서 느끼는건, 나스닥 차트를 하염없이 지켜보아도... 손실이 계속 누적되었다. 수동매매(직접매매)에 대해 회의적이고, 진입/청산에 대해 내 자신을 신뢰할 수 없게 되었다. 자동매매가 답인걸 알면서도, 실력이 부족해서일까? 코딩을 할 때 계속 막히니 답답한 마음 뿐이다. 뭔가 막혔을 때는, 다른 방법을 찾는 편이다. 2024년 1월~8월까지, 기술적 매매(차트)만 고집하면서 알고리즘(패턴)을 찾으려니, 나스닥의 화려(?)한 움직임(moving)에 질려 버렸다. 그..

(해외선물 자동매매 알고리즘) (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가 두도록 설정하는 코드에 대해 알아본다. ※ ..

728x90
반응형