반응형
소개 텔레그램은 전 세계적으로 많은 사용자들이 이용하는 메신저 앱 중 하나입니다. 파이썬을 이용하여 텔레그램 봇을 개발하면, 간단한 챗봇부터 복잡한 봇까지 다양한 형태의 봇을 만들 수 있습니다. 이번 글에서는 파이썬으로 텔레그램 봇 개발을 시작하는 방법에 대해 알아보도록 하겠습니다! 텔레그램 봇 API 토큰 발급받기 텔레그램 봇을 만들기 위해서는 봇 API 토큰이 필요합니다. 이를 위해서는 먼저 텔레그램 봇을 만들어야 합니다. 텔레그램 봇을 만들기 위해서는 먼저 텔레그램 앱에서 @BotFather 라는 봇을 검색하여 대화를 시작합니다. 그리고 /newbot 명령어를 입력하여 새로운 봇을 만듭니다. 이후 일련의 안내가 주어져 봇을 설정하는 과정을 진행하게 됩니다. 다음 단계에서는 봇의 이름을 입력합니다. ..
볼린저 밴드(Bollinger Bands) 볼린저 밴드는 1980년대 초반에 존 볼린저가 개발한 주가 기술적 분석 도구이다. 볼린저 밴드는 주가가 이동평균선 중심으로 표준편차 범위 안에서 움직인다고 가정한다. 현재 주가가 상대적으로 높은지 낮은지를 판단할 때 사용하는 보조지표이다. 볼린저 밴드 구성 볼린저 밴드는 다음과 같이 구성된다. 중심선(Moving Average): n기간 동안의 이동평균 상한선(Upper Band): 중심선 + (n기간 동안의 표준편차 * k) 하한선(Lower Band): 중심선 - (n기간 동안의 표준편차 * k) 일반적으로 n과 k의 값은 20과 2를 사용한다. 볼린저 밴드 변동성 돌파 전략 밴드폭이 축소되어 밀집구간을 거친 후, 상단 밴드를 돌파할 경우 매수한다. 하단 밴..
지난번 포스팅에 이어서 이동평균선 돌파 전략을 백테스트 해보자. 참고로 저는 주식 투자와 퀀트 투자에 있어서 왕초보이기 때문에 틀린 정보가 있을 수도 있습니다. (파이썬) 바이낸스 비트코인 이동평균선 그리기 이동평균선 돌파 매매 전략 20일 이동평균선을 기준으로 현재 가격이 이동평균선을 돌파하는 시점에 매수하고 20일을 보유하다가 매도하는 전략을 사용한다. 저번과 마찬가지로 바이낸스에서 비트코인 일봉 데이터를 가져온다. from binance import Client import matplotlib.pyplot as plt import pandas as pd import numpy as np plt.rcParams['font.family'] = 'AppleGothic' # 바이낸스 일봉 데이터 clien..
이동평균선 이동평균선은 주가의 기술적 분석에 가장 많이 사용되는 지표이며, 일정 기간 동안의 주가를 산술 평균한 값인 주가이동평균을 차례로 연결해 만든 선이다. 단기 이동평균선은 보통 5, 20일 선을 사용하고, 장기 이동평균선은 120일 선을 사용한다. 바이낸스에서 비트코인 일별 캔들 데이터 가져오기 python-binance 모듈의 get_klines 함수를 사용하여 비트코인 일봉 데이터를 가져온다. from binance import Client client = Client() candles = client.get_klines(symbol='BTCUSDT', interval=Client.KLINE_INTERVAL_1DAY) candles 바이낸스에서 조회한 캔들 데이터는 바이낸스 API 문서를 참고..
안녕하세요. @anpigon입니다. @nhj12311님의 "Node & Steem #11 - 글 아카이브 ... 포스팅 분류하기" 게시글을 보고 저도 비슷하게 구현해보았습니다. 시리즈 글을 찾아주는 기능은 @nhj12311님이 완벽하게 구현하였더군요. 그래서 저는 @nhj12311님과 다르게 시리즈 글이 아닌 유사도가 높은 게시글을 찾아내는데 초점을 맞추었습니다. 구현에는 이전에 작성한 "유사한 게시물 찾기"과 조대협님의 "NMF 알고리즘을 이용한 유사한 문서 검색과 구현"를 참고하였습니다. 그리고 구현 과정과 결과물을 아래에 간략하게 정리하였습니다 스팀잇 게시글 가져오기 steem api를 이용하여 내가 작성한 게시글(posts)을 모두 가져온다. 그리고 가져온 Post에서 분석에 필요한 데이터(tit..
안녕하세요. @anpigon 입니다. 이번에는 유사한 게시물을 찾아내는 방법을 공부하였습니다. 게시물을 벡터로 계산하고, 벡터 간의 거리를 구하는 방법으로 유사도를 분석합니다. 이 기술을 이용하면 인터레스팀 서비스처럼 관련 글을 찾아낼 수도 있습니다. 저는 이 기술을 사용해서 불펌러(어뷰징 계정)들을 찾아내고 싶네요. 이번 예제는 "Building Machine Learning Systems with Python - Second Edition" 서적을 참고하였습니다. 이 책의 54 페이지에 있는 내용입니다. scikit-learn scikit-learn는 데이터 마이닝 및 데이터 분석을 위한 파이썬 라이브러리이다. NumPy, SciPy 및 matplotlib를 기반으로 제작되었다. 그리고 상업적으로 사..