일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- GO 언어
- mutex
- Close
- window
- c++
- Linux
- 영화
- range
- C
- package
- write
- windows
- 리뷰
- API
- Sync
- go
- channel
- go언어
- Python
- Callback
- json
- Golang
- bitcoin
- http
- install
- JavaScript
- File
- tcp
- 책
- FOR
- Today
- Total
목록Python (19)
Code Habit
회사 작업 중 서버를 Active/Pause 상태로 변환하는데 http 통신을 할 필요가 있어 파이썬으로 간단하게 구현해 보았다. 필요요구 사항과 구현된 프로그램 특징은 다음과 같다. - 프레임 크기에 따른 체크박스 자동 배치 ( 줄 바꿈 처리 ) - 성공/실패 여부 Text로 출력하면서 자동 스크롤 되는 debug 창 필요. - 파이썬 기본 내장 라이브러리인 tkinter 사용하여 간단한 ui 구현 ( 체크박스, push 버튼, Debug Text 창 ) - 파이썬 requests 라이브러리 사용하여 http request 구현 import tkinter as tkimport requestsfrom dataclasses import dataclassfrom tkinter import scrolledt..
tkinter 라이브러리를 통해 Button 및 Label을 간단히 만들어 볼 수 있다. 각 컨트롤을 만들기 전 이를 배치할 window 창을 만든다. from tkinter import * win = Tk() win.title("button & label") win.geometry("540x380") win.option_add("*Font", "돋움20") win.mainloop() Button() 함수로 버튼을 생성하고 pack() 함수로 버튼을 배치한다. btn = Button(win) btn.config(width=20, height=20) btn.config(text="버튼1") def clicked(): print("Clicked !") btn.config(command = clicked) b..
tkinter는 Python 설치 시 기본적으로 내장되어 있는 파이썬 표준 라이브러리이기 때문에 쉽고 간단한 GUI 프로그램을 만드는데 사용할 수 있다. 단 다른 GUI 프레임워크나 툴킷에 비해 지원되는 위젯들이 부족하고 이쁜 UI를 꾸미는데 적합하지 않다는 단점이 있다. tkinter는 다음과 같이 사용할 수 있다. from tkinter import * win = Tk() win.mainloop() tkinter 모듈을 import 하고 Tk클래스 객체를 생성한다. 그리고 실제 화면에 window를 띄우려면 mainloop() 함수를 호출하면 된다. title() 함수를 통해 window 타이틀을 수정하거나 geometry() 함수를 통해 윈도우 크기를 변경할 수 있다. win.title("title..
투자시장에서 공포/탐욕 지수는 꽤 유효한 지표로 알려져 있다. 이는 시장에 분위기에 따라 가격의 추세가 정해질 수 있기 때문인데 암호화폐 시장에도 몇 가지 근거에 따라 공포/탐욕 지수를 수치화 해주는 사이트가 있다. 자세한 내용은 밑에 링크된 사이트를 참고하면 되니 여기서는 이 사이트에서 제공하는 api를 통해 지수를 가져와 보겠다. import requests import json url = "https://api.alternative.me/fng/?limit=" def fear_day(): _url = url+"1" res = requests.request("GET", _url); parsed = json.loads(res.text) data = parsed["data"] return data[0][..
선물 시장에서는 롱/숏 양 포지션 중 많은 쪽이 적은쪽에게 편차 비율에 따른 금액을 제공한다. 이를 펀딩비라 하는데 양 포지션의 균형을 맞추기 위해 존재한다. 필자는 이 펀딩비를 중요한 보조지표로 삼는데 경험상 펀딩비가 한쪽으로 너무 편향되면 시장의 흐름이 반대로 가는 경우가 많았기 때문이다. 역사적으로 모든 대중이 돈을 벌게 해주는 시장은 없다고 하였던가 투자시장에서 오랫동안 살아남으려면 대중과 반대로 가는 용기가 필요한 것은 분명하다. 추가로 펀딩비를 활용하여(1배숏 전략) 연20프로 이상의 수익을 거두는 사람들도 있다. 펀딩비율은 보통 각 거래소에서 롱/숏 비율에 따라 8시간전에 정해진다. 이 데이터를 거래소 api를 통해 가져올 수 있는데 ccxt 모듈을 활용해 binance, bybit, bit..
앞의 포스팅에서 upbit, bybit에서 제공하는 api를 이용해 비트코인 rsi를 구했었는데, 이번에는 ccxt라는 모듈을 활용해 binance 기준 비트코인 rsi를 구해보겠다. ccxt 모듈은 여러거래소의 api를 지원하는데 이를 활용하면 여러 거래소의 api를 따로 공부할 필요없이 ccxt에서 제공해주는 통일된 인터페이스를 통해 여러 거래소의 api를 보다 편하게 이용할 수 있다. ccxt를 사용하여 binance 비트코인 rsi를 구하는 예제다. import ccxt import pandas as pd import time def rsi_calc(ohlc: pd.DataFrame, period: int = 14): ohlc = ohlc[4].astype(float) delta = ohlc.di..
rsi는 Relative Strength Index의 약자로 상대강도지수를 뜻한다. 투자에서 사용하는 보조지표로 많이 활용 되는데 보통 30이하는 과매도 70이상은 과매수 구간으로 본다. 물론 모든 보조지표가 정답은 아니지만 단기추세에서 매수/매도의 기준을 잡을 때 사용하면 유리하다. 필자는 보통 매수/매도의 기준지표로 공포지수와 함께 많이 활용한다. bybit에서 제공하는 api로 rsi를 구할수 있다. 매번 거래 사이트에 접속해서 rsi를 분봉별로 체크하는게 귀찮았는데 이를 프로그래밍으로 구현해 자동화 하면 기타 다른 지표들과 함께 데이터를 좀 더 편하고 직관성 있게 볼 수 있는 있다. rsi를 구하는 코드는 다음과 같다. from pybit import HTTP import pandas as pd ..
rsi는 'Relative Strength index'의 약자로 상대강도지수를 뜻하는데 투자에서 보조지표로 많이 활용된다. 이를 upbit-api를 통해 구해보겠다. 먼저 구하고자하는 기준캔들의 가격정보를 가져와야 한다. import requests import pandas as pd url ="https://api.upbit.com/v1/candles/minutes/15" querystring = {"market" : "KRW-BTC", "count" : "200"} response = requests.request("GET", url, params=querystring) data = response.json() df =pd.DataFrame(data) df=df.reindex(index=df.inde..