728x90
반응형

전체 글 229

(해외선물 자동매매 알고리즘) (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. 코드설명아..

(파이썬) 문자열의 내용 및 속성을 추출하는 ast 모듈

목 차 1. 들어가며 2. 사전설명 1) ast 모듈 설명 2) '리스트' 태형은 문자형 3. 코드설명 1) 1차 시도 (실패) 2) 2차 시도 (실패) 3) 3차 시도 (성공) 4. 마치며 1. 들어가며 지난글에서는 통해 MCTS 개념이 활용된 PC와 사용자간 대결을 하는 틱택톡 게임 코드를 알아보았다. 직접 작성한 코드가 아닌 상태에서 설명을 하려니, 막히는 부분도 많고 추가적으로 공부해야 하는 내용들도 많게 느꼈다. 이번글에서는 지난글에서 이해하지 못했던 ast 라이브러리에 대해 알아보고자 한다. 2. 사전설명 1) ast 모듈 설명 ast 모듈은 별도 설치가 필요없는 파이썬 내부 모듈이다. 개인적으로 상당히 생소한 느낌을 받았다. 인터넷 검색을 통해 ast모듈을 찾아본 결과 그 개념이 너무 추상적..

(해외선물 자동매매 알고리즘) (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)한다는 말이다. 어렵다. @@ 자세한 내용은 검색을 통..

(키움증권 해외선물) OpenAPI-W 시세 사용료 인상(2024년 1월~)

목 차 1. 들어가며 2. 시세 사용료 현황 1) 사용료 증가 현황 2) 연 시세 사용료 계산 3. 마치며 1. 들어가며 개인 개록용으로 메모를 남긴다. 키움증권 해외선물 OpenAPI-W의 시세 사용료 인상에 관한 공지('24.1.1~)이다. 해외선물 자동매매를 위해서는 키움증권에서 나스닥 선물의 시세(시가, 고가, 저가, 종가 등)를 받아와야 한다. 키움증권에서 나스닥(CME) 측에 어느 정도의 비용을 지불하는지는 알 수 없으나, "나스닥 → 키움증권 → 사용자"으로 시세정보 제공 과정을 생각하면, 월 시세 조회하기 위해 일정 비용은 결재하여야 하는 것으로 보인다. 사용자(user) 입장에서 사용료 인상은 조금 부담일 것 같다. 월별로 결재하는 사용료('24년 194.25달러) 및 거래수수료를 합산한..

(해외선물 자동매매 알고리즘) (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를 올리는 나스닥을 보니... 역시 나스닥이구나.ㅎㅎㅎ 필자는 의 과매수(①) 및 과매도(②) 구간의 넓이를 구하고자 한다. < 그림..

728x90
반응형