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