본문 바로가기

AI 에이전트/트레이딩7

텔레그램 메시지 자동 전송 시스템 만들기 카카오톡 API보다 훨씬 간단하게 메시지 알림을 받을 수 있는 방법이 있다. 바로 텔레그램 API를 활용하는 것이다. 텔레그램은 복잡한 OAuth 인증 과정이 없고, 토큰 관리도 필요 없어서 정말 간단하다. 텔레그램 API를 이용하기 위해서는 API ID와 API Hash를 발급받아야 한다. 우선 텔레그램 개발자 포털(https://my.telegram.org)에 접속한다. 카카오 개발자 콘솔과 달리 복잡한 설정이 거의 없어서 매우 간편하다. 로그인 후 "API development tools"를 클릭하고 애플리케이션을 생성한다. 앱 이름과 설명을 입력하면 API ID와 API Hash가 발급된다. 이 두 값만 있으면 모든 준비가 끝난다. 두 값을 .env 파일에 다음과 같이 저장한다. tele.. 2025. 7. 25.
카카오톡 메시지 자동 전송 시스템 만들기 카카오 API를 활용하면 암호화폐 거래나 주식 매매 시 카카오톡으로 관련 메시지를 자동 전송할 수 있다. 절차는 다음과 같다. 우선 카카오에서 제공하는 공식 개발자 포털인 카카오 디벨로퍼스 에 접속해서 앱을 생성한다. 생성한 앱을 클릭하면 화면 하단에 설정 항목이 나온다. 카카오로그인 설정에서 다음과 같이 상태를 ON으로 변경한다. 여기서 리다이렉트URI는 https://example.com/oauth 로 설정한다. 동의항목에서는 접근권한을 설정한다. 이제 REST API 키를 발급받아야 한다. 왼쪽 메뉴에서 앱설정 -> 앱 -> 일반 클릭하면 다양한 키를 확인할 수 있다. 이 중 REST API 키 옆의 "복사" 버튼 클릭하여 .env 파일에 저장헤 둔다. kakao_rest_api.. 2025. 7. 24.
허깅페이스 트랜스포머를 이용한 뉴스 감성 분석 최근 암호화폐 자동 매매 시스템에서는 단순한 가격 분석을 넘어, 뉴스에 내포된 시장 심리까지 분석해 트레이딩 전략에 반영하는 시도가 활발히 이뤄지고 있다. 이 글에서는 Hugging Face의 transformers 라이브러리와 금융 도메인에 특화된 FinBERT 모델을 활용해, 뉴스 제목만으로도 간편하게 감성 분석(sentiment analysis)을 수행하는 방법을 소개하고자 한다. 감성 분석은 텍스트가 긍정적인지, 부정적인지, 또는 중립적인지를 자동으로 분류하는 작업이다. Hugging Face의 `transformers` 라이브러리에서는 단 한 줄로 감성 분석 파이프라인을 구축할 수 있다. 예를 들면 "Bitcoin surges after ETF approval"이라는 같은 뉴스 제목은 긍정.. 2025. 7. 9.
기술적 지표: 스토캐스틱 (Stochastic) 스토캐스틱 오실레이터(Stochastic Oscillator)는 모멘텀 기반의 기술적 분석 지표 중 하나로서, 일정 기간(period) 동안의 최고가와 최저가 범위 내에서 현재 가격이 어느 수준에 위치하는지를 측정함으로써, 시장 내 매수 및 매도 압력을 추정하는 데 활용된다. 스토캐스틱은 두 개의 선으로 구성된다. %K: 일정 기간 동안의 최고가와 최저가 범위 내에서 현재 종가의 상대적 위치를 백분율로 나타낸 값%D: %K의 평균 %K 값은 다음의 수식으로 계산된다. \[ \%K = 100 \times \frac{ \mbox{(현재 종가} - \mbox{기간내 최저가)} }{ \mbox{(기간내 최고가 }- \mbox{기간내 최저가)} } \] %K 값을 계산할 때 '일정 기간 (period)'.. 2025. 7. 7.
기술적 지표: 이동평균 수렴확산 (MACD) 이동평균 수렴확산 (MACD, Moving Average Convergence Divergence)는 기술적 분석에서 RSI와 함께 가장 널리 활용되는 지표로, 단기 및 장기 이동평균선 간의 차이를 분석하여 시장의 추세 전환 시점과 모멘텀의 강도를 평가한다. MACD는 다음 세 가지 요소로 구성된다. 1. MACD 선 (MACD Line) 2. 신호선 (Signal Line): MACD의 이동평균 3. MACD 히스토그램 (MACD Histogram): 두 선 간의 차이 MACD 선은 다음 수식으로 계산한다. \[ MACD= \mbox{단기간의 이동평균} - \mbox{장기간의 이동평균} \] 일반적으로 단기간으로 12일, 장기간으로 26일을 사용하며 지수 이동평균(.. 2025. 7. 6.
기술적 지표: 상대강도지수 (RSI, Relative Strength Index) RSI(Relative Strength Index, 상대강도지수)는 가장 널리 사용되는 모멘텀 지표 중 하나로서 주가의 상승과 하락의 세기(strength)를 수치화하여 과매수(overbought) 또는 과매도(oversold) 상태를 진단할 수 있도록 해준다. RSI의 수식은 다음과 같다. \[ RSI= 100 \times \frac{ \mbox{일정기간 평균 상승액}}{\mbox{일정기간 평균 하락액 + 일정기간 평균 상승액 }} \] 여기서 상대강도(RS, Relative Strength)를 다음과 같이 정의하고, \[ RS= \frac{ \mbox{일정기간 평균 상승액}}{\mbox{일정기간 평균 하락액}} \] RSI의 수식에 대입하면 다음과 같이 된다. \[ RSI=100 \tim.. 2025. 7. 4.
Llama3.2가 알려주는 주식 매매 결정 Llama3.2:3B 모델에게 특정 주식의 데이터를 던져주고 해당 주식을 팔 것인지 (SELL), 살 것인지 (BUY), 그냥 들고 있을 것인지 (HOLD) 판단하게 하고, 그 이유를 물어보려고 한다. 주식 데이터 수집은 KRX에서 한국의 주식 데이터를 스크래핑하는 파이썬 모듈인 pykrx를 이용한다. 특정 주식의 시가(open), 고가(high), 저가(low), 종가(close), 거래량(volume), 거래대금, 등락률은 pykrx의 get_market_ohlcv 함수를 이용하여 얻을 수 있다. get_market_ohlcv 함수는 시작일/종료일/티커 세 개의 파라미터를 입력받아 OHLCV를 일자별로 정렬하여 DataFrame으로 반환한다. 다음은 2025년1월1일 부터 2025년 2월 15일 현재.. 2025. 2. 15.