반응형

자동매매 13

[파이썬] 업비트 코인별 가격 데이터 - 크롤링

코인의 가격 데이터를 크롤링 해서 csv 파일로 저장해 놓으면, 자동매매를 하기 위해서 각종 지표들을 계산할 때 마다 매번 API를 호출하지 않아도 된다. 따라서 장기간의 데이터로 계산을 해야되는 지표들을 사용할 때, 데이터를 다운받는 시간을 줄일 수 있고, 그로 인해서 지표 계산과 매수/매도 주문이 지연되는 것도 예방할 수 있다. 아래의 코드를 실행하면, 업비트에서 KRW 마켓, BTC 마켓, USDT 마켓에서 거래 가능한 코인들의 가격 데이터를 코드가 실행되는 날짜 기준으로 과거 400일 동안의 데이터를 각 코인별로 csv 파일로 저장(400일 이상 거래된 코인에 한함)이 된다. import json import time import pandas as pd import pyupbit import ur..

Finance/업비트 2023.09.30

[파이썬] 업비트 코인 매수정보 확인

내가 매수한 코인의 평균 단가는 얼마인지, 몇 개를 가지고 있는지, 평가금액은 얼마인지를 아는 것은 매우 중요하다. 코인을 매수 한 다음, 보유 중인 코인의 현재 수익률을 계산해서 손실이 심하면 손절을 할지, 물타기를 할지 수익이 나고 있으면 수익을 실현할지, 아니면 좀 더 보유할지 등을 판단할 수 있게 하는 중요한 값들이다. 아래의 코드는 매수한 코인의 평균 단가, 보유수량, 현재가를 확인하고 확인한 값을 바탕으로 보유 중인 BTC의 평가금액을 확인하는 코드이다. import pyupbit def get_current_price(ticker): return pyupbit.get_orderbook(ticker=ticker)["orderbook_units"][0]["ask_price"] # Upbit 로그..

Finance/업비트 2023.01.12

[파이썬] 업비트 코인 가격 데이터 받아오기

파이업비트를 이용해서 업비트의 코인 가격 데이터를 받아오기 위해서 프로그램 시작 부분에 아래의 코드를 작성하여 가격데이터를 받아올 수 있도록 정의를 해준다. def get_ohlcv10(ticker): df = pyupbit.get_ohlcv(ticker, interval="day", count=10) return df interval 항목은 쉽게 말해서 차트의 종류(범위, 기간 = 각 데이터의 간격)를 정하는 것으로 "day" 부분을 아래의 옵션들로 교체하면 1분봉 부터 월봉까지 다양한 차트(범위, 기간 = 각 데이터의 간격)를 선택할 수 있다. day : 일봉 minute1 : 1분봉 minute3 : 3분봉 minute5 : 5분봉 minute10 : 10분봉 minute15 : 15분봉 minut..

Finance/업비트 2023.01.06

[파이썬] 업비트 BTC(비트코인) 매도 주문 + 조건문

업비트의 Open API를 이용해서 파이썬으로 로그인한 후, 아래와 같이 코드를 입력하고 실행하면, BTC(비트코인)의 가격이 3천만원 이상일 때, 0.001BTC만큼의 BTC(비트코인)을 매수하는 주문을 진행하게 된다. (BTC 잔고가 0.001 BTC 이상일 경우) 그리고 BTC(비트코인)의 가격이 3천만원 이하일 경우에는 매수가 진행되지 않고 "BTC < 30,000,000"라는 문장을 출력하고 프로그램을 종료하게된다. 매도주문을 하는 상황은 매수주문과 다르게 다양한 경우의 수가 있다. 단순하게 분류하자면 이익을 보고 매도하는 경우(익절 = 차익실현, Take Propit)와 손실이 발생해서 매도하는 경우(손절 = 손절매, Stop Loss)로 나눌 수 있는데, 이익을 보는 경우는 다시 통상적인 상..

Finance/업비트 2022.12.03

[파이썬] 업비트 BTC(비트코인) 매수 주문 + 조건문

업비트의 Open API를 이용해서 파이썬으로 로그인한 후, 아래와 같이 코드를 입력하고 실행하면, BTC(비트코인)의 가격이 2천만원 이하일 때, 10,000원만큼의 BTC(비트코인)을 매수하는 주문을 진행하게 된다. (KRW 잔고가 10,000원 이상일 경우) 그리고 BTC(비트코인)의 가격이 2천만원 이상일 경우에는 매수가 진행되지 않고 "BTC > 20,000,000"라는 문장을 출력하고 프로그램을 종료하게된다. 자동매매에서 조건문은 여러가지의 조건을 조합해서 원하는 조건일 때, 매수를 진행하게 하고, 그 조건을 만족하지 않을 경우에는 매도를 진행하게 한다거나 하는 등 특정 조건을 만족할 때 다양한 동작을 할 수 있도록 구성을 한다. 또한, 각 조건들의 순서나 우선순위 등도 고려해야하고 각각의 조..

Finance/업비트 2022.11.22

[파이썬] 업비트 BTC(비트코인) 매도 주문

업비트의 Open API를 이용해서 파이썬으로 로그인한 후, 아래와 같이 코드를 입력하고 실행하면, 0.001 BTC만큼의 BTC(비트코인)을 매수하는 주문을 진행하게 된다. (BTC 잔고가 0.001 BTC 이상일 경우) 매도주문의 코드 역시 매수주문처럼 아주 간단하지만, 우리가 매수한 코인이 항상 수익이 발생하는 상황만 일어나는 것은 아니므로 각 코인 별 특성이나 시장 상황, 수익/손실 정도 등을 고려해서 좀 더 복잡한 조건들과 함께 구성하게 될 것이다. import pyupbit # Upbit 로그인 시작 access = "액세스 코드 입력" secret = "시크릿코드 입력" upbit = pyupbit.Upbit(access, secret) sell_result = upbit.sell_marke..

Finance/업비트 2022.11.18

[파이썬] 업비트 BTC(비트코인) 매수 주문

업비트의 Open API를 이용해서 파이썬으로 로그인한 후, 아래와 같이 코드를 입력하고 실행하면, 10,000원만큼의 BTC(비트코인)을 매수하는 주문을 진행하게 된다. (KRW 잔고가 10,000원 이상일 경우) 매수주문의 코드는 아주 간단하지만, 우리는 코인을 단순히 매수만 하는 것이 목적이 아니라 매수 후, 수익이 발생한 다음 매도하는 것 까지가 목적이므로 실제 매수주문의 코드는 if문 등의 조건문을 이용하여 시장 상황이(또는 코인의 가격이) 수익을 발생시키기 유리한 특정 조건에 도달하였을 때, 매수주문이 실행되도록 구성한다. import pyupbit # Upbit 로그인 시작 access = "액세스 코드 입력" secret = "시크릿코드 입력" upbit = pyupbit.Upbit(acc..

Finance/업비트 2022.11.17

[파이썬] 업비트 BTC(비트코인) 현재가 조회

업비트의 Open API를 이용해서 파이썬으로 로그인한 후, 아래와 같이 코드를 입력하고 실행하면, 현재 원화(KRW) 마켓의 BTC(비트코인) 가격을 확인할 수 있다.  BTC(비트코인) 현재가는 코인이 원하는 가격에 도달하였을 때 매수/매도를 하기위해서 꼭 확인을 해야하는 수치인 것과 동시에 24시간 내내 실시간으로 그 값이 변하므로 자동매매를 위한 전체 코드 중에서 빈번하게 확인을 해야하는 수치 중 하나이다. import pyupbit# 현재가 조회 정의def get_current_price(ticker):    return pyupbit.get_orderbook(ticker=ticker)["orderbook_units"][0]["ask_price"]# Upbit 로그인 시작access = "액세스..

Finance/업비트 2022.11.16

[파이썬] 업비트 BTC(비트코인) 잔고 조회

업비트의 Open API를 이용해서 파이썬으로 로그인한 후, 아래와 같이 코드를 입력하고 실행하면, 현재 나의 지갑에 BTC(비트코인)을 얼마나 보유하고 있는지 확인할 수 있다. BTC(비트코인) 잔고 확인은, 코인을 매도할 때 매도할 규모를 정하거나 또는 원하는 수량만큼의 코인을 매도할 수 있는지 확인을 하기 위해서 꼭 필요한 항목이므로, 전체 코드 중에서 코인을 매도하기 전, 적절한 위치에 배치하도록 한다. import pyupbit # 잔고조회 정의 def get_balance(ticker): balances = upbit.get_balances() for b in balances: if b['currency'] == ticker: if b['balance'] is not None: return f..

Finance/업비트 2022.11.15

[파이썬] 업비트 KRW(원화) 잔고 조회

업비트의 Open API를 이용해서 파이썬으로 로그인한 후, 아래와 같이 코드를 입력하고 실행하면, 현재 업비트에 입금되어있는 KRW(원화)가 얼마인지 확인할 수 있다. KRW(원화) 잔고 확인은, 코인을 매수할 때 매수할 규모를 정하거나 또는 원하는 수량만큼의 코인을 매수할 수 있는지 확인을 하기 위해서 꼭 필요한 항목이므로, 전체 코드 중에서 코인을 매수하기 전, 적절한 위치에 배치하도록 한다. import pyupbit # 잔고조회 정의 def get_balance(ticker): balances = upbit.get_balances() for b in balances: if b['currency'] == ticker: if b['balance'] is not None: return float(b[..

Finance/업비트 2022.11.14
반응형