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

반응형

파이썬 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()
반응형