파이썬 Python 주식 자동 매매 프로그램 간단 구현

반응형

etc-image-0
파이썬 Python 주식 자동 매매 프로그램 간단 구현

파이썬 Python 주식 자동 매매 프로그램 간단 구현

Alpaca API 준비

pip install alpaca-trade-api

 

코드 작성

import alpaca_trade_api as tradeapi
import time

# Alpaca API 키와 시크릿 키를 설정합니다.
api_key = 'YOUR_API_KEY'
api_secret = 'YOUR_API_SECRET'
base_url = 'https://paper-api.alpaca.markets'  # 테스트 환경 (종이 거래)

# Alpaca 클라이언트 초기화
api = tradeapi.REST(api_key, api_secret, base_url, api_version='v2')

# 거래할 주식 및 수량 설정 (예: 애플 주식 1주)
symbol = 'AAPL'
quantity = 1

# 주식 현재 가격 가져오기
def get_price():
    """현재 주식 가격을 가져오는 함수"""
    barset = api.get_barset(symbol, 'minute', limit=1)  # 1분 간격으로 최신 가격 가져오기
    return barset[symbol][0].c

# 매수 함수
def buy():
    """매수 함수"""
    price = get_price()
    print(f"현재 가격: {price} USD, 매수 주문 실행")
    api.submit_order(
        symbol=symbol,
        qty=quantity,
        side='buy',
        type='market',
        time_in_force='gtc'
    )

# 매도 함수
def sell():
    """매도 함수"""
    price = get_price()
    print(f"현재 가격: {price} USD, 매도 주문 실행")
    api.submit_order(
        symbol=symbol,
        qty=quantity,
        side='sell',
        type='market',
        time_in_force='gtc'
    )

# 간단한 자동 매매 로직
def trade():
    """매매 전략"""
    while True:
        try:
            price = get_price()
            print(f"현재 가격: {price} USD")
            
            # 예시: 가격이 특정 값 이상이면 매도, 이하이면 매수
            if price > 150:  # 가격이 150 USD 이상이면 매도
                sell()
            elif price < 130:  # 가격이 130 USD 이하이면 매수
                buy()

            # 60초 대기 후 반복
            time.sleep(60)

        except Exception as e:
            print(f"에러 발생: {e}")
            time.sleep(60)

if __name__ == "__main__":
    trade()
반응형