streamlit이라고 들어보신 분 있으신가요?
파이썬에 관심이 많고 프레임워크 공부를 해보신 분들은
접해본 적이 있을지도 모르겠습니다.
파이썬 라이브러리 중 하나인 streamlit은
데이터 시각화 및 배포를 쉽게해주는 도구 중 하나입니다.
https://docs.streamlit.io/library/get-started/
(공부를 할때 항상 공식 문서를 통해 배우는 습관을 들입시다.)
그냥 웹사이트만 만들면 재미없으니,
특정 암호화폐를 선택하여, 해당암호화폐의 NVT 비율을
볼 수 있는 페이지를 만들어보겠습니다.
NVT란?
NVT란 암호화폐의 기초가치를 파악하기 위한 지표 중 하나입니다.
암호화폐에 무슨 기초가치가 있냐고하시는 분들도 계실겁니다.
물론 저도 동의하는 바입니다만,
거래 시장 규모가 큰 만큼, 매매를 위한 기준이 필요하여 개발된 것 같습니다.
마치 주식 시장의 PER과 비슷합니다.
계산식은 아래와 같습니다.
옵션 이론가 구하기보단 훨씬 쉽죠?
해석해보면 선택한 암호화폐의 시가총액을
일일 거래량의 총 가치로 나눈 것입니다.
코드를 구현해봅시다.
import requests
import ccxt
url = "https://api.blockchain.info/charts/transactions-per-second?timespan=5days&rollingAverage=8hours&format=json"
#앤드포인트 url
exchange = ccxt.binance()
symbol = 'BTC/USDT'
response = requests.get(url)
#데이터 파싱
if response.status_code == 200: #상태 코드 인식 후 오류여부 판단
try:
data = response.json()
transactions_per_second = data["values"][-1]["y"]
transactions_per_day = transactions_per_second * 86_400
print("Bitcoin on-chain transaction volume: {:,.0f} transactions per day".format(transactions_per_day))
# convert to dollars
ticker = exchange.fetch_ticker(symbol)
price = ticker['last'] #현재가를 가져옵니다.
transaction_volume_usd = transactions_per_day * price
print("Bitcoin on-chain transaction volume: ${:,.2f}".format(transaction_volume_usd))
except ValueError:
print("Could not parse response as JSON.")
else:
print("Request failed with status code", response.status_code)
data["values"][-1]["y"] 부분을 해석하기 위해
URL에 접속해봅시다.
이런식으로 나오네요.
표본을 한줄 가져와 분석해봅시다.
"values":[{"x":1674981000,"y":2.1427083333333337},{"x":1674981900,"y":2.1296875000000006}
values 키값 아래에 딕셔너리를 나열한 리스트가 있습니다.
"status":"ok","name":"Transaction Rate","unit":"Transactions Per Second","period":"minute","description":"The number of Bitcoin transactions added to the mempool per second."
x가 시간이고, y가 초당 온체인 트렌젝션 양인것 같네요.
x 값이 900씩 증가하는걸로 봐서
15분마다 트렌젝션 양을 측정하는 것 같습니다.
즉, data["values"][-1]["y"]는 가장 최근에 측정된
초당 트렌젝션 양을 가져오는 코드입니다.
후에는 86_400을 곱해 초당 트렌젝션을
하루동안의 트렌젝션으로 변환해줍니다.
다음번에는 해당 데이터를 그래프로 streamlit 사이트에 올려보겠습니다.
'코딩 공부 > python' 카테고리의 다른 글
ChatGPT와 함께 커버드 콜 전략 자동실행 알고리즘 짜기 (5) (0) | 2023.02.13 |
---|---|
온체인 데이터를 이용한 지표 웹사이트 쉽게 만들기(2) (0) | 2023.02.06 |
ChatGPT와 함께 커버드 콜 전략 자동실행 알고리즘 짜기 (4) (0) | 2023.01.25 |
ChatGPT와 함께 커버드 콜 전략 자동실행 알고리즘 짜기 (3) (0) | 2023.01.24 |
ChatGPT와 함께 커버드 콜 전략 자동실행 알고리즘 짜기 (2) (0) | 2023.01.24 |
댓글