반응형
안녕하세요! 이번 포스트에서는 SBI증권의 API와 Python을 이용해 자동매매툴을 만드는 방법을 자세히 설명드리겠습니다. Python과 Selenium을 활용하여 SBI증권 웹사이트를 자동으로 조작하는 방법을 중심으로 설명하겠습니다.
1. 준비물
- Python 설치: Python을 설치합니다. Python 공식 사이트에서 다운로드할 수 있습니다.
- 필요한 라이브러리 설치: Selenium, pandas, requests 등의 라이브러리를 설치합니다.
pip install selenium pandas requests
- SBI증권 계좌 개설: SBI증권 계좌가 필요합니다. SBI증권 공식 사이트에서 계좌를 개설하세요.
2. Selenium 설정
Selenium은 웹 브라우저를 자동으로 조작할 수 있게 해주는 도구입니다. ChromeDriver를 설치하여 Chrome 브라우저를 제어할 수 있습니다.
- ChromeDriver 다운로드: ChromeDriver 다운로드 페이지에서 ChromeDriver를 다운로드합니다.
- ChromeDriver 설정: 다운로드한 ChromeDriver를 시스템 경로에 추가합니다.
3. 자동 로그인 구현
SBI증권 웹사이트에 자동으로 로그인하는 코드를 작성합니다.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# ChromeDriver 경로 설정
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')
# SBI증권 로그인 페이지로 이동
driver.get('https://www.sbisec.co.jp/ETGate')
# 로그인 정보 입력
username = driver.find_element_by_name('user_id')
password = driver.find_element_by_name('user_password')
username.send_keys('your_username')
password.send_keys('your_password')
# 로그인 버튼 클릭
login_button = driver.find_element_by_name('ACT_login')
login_button.click()
4. 매매 주문 구현
로그인 후, 특정 주식을 매수하거나 매도하는 코드를 작성합니다.
# 매수 주문 예시
def place_buy_order(stock_code, quantity, price):
driver.get(f'https://www.sbisec.co.jp/ETGate/?_ControlID=WPLETstT002Control&_PageID=WPLETstT002Mdtl20&_DataStoreID=DSWPLETstT002Control&_ActionID=DefaultAID&stock_code={stock_code}')
# 매수 정보 입력
quantity_input = driver.find_element_by_name('quantity')
price_input = driver.find_element_by_name('price')
quantity_input.send_keys(quantity)
price_input.send_keys(price)
# 매수 버튼 클릭
buy_button = driver.find_element_by_name('buy_button')
buy_button.click()
# 매도 주문 예시
def place_sell_order(stock_code, quantity, price):
driver.get(f'https://www.sbisec.co.jp/ETGate/?_ControlID=WPLETstT002Control&_PageID=WPLETstT002Mdtl20&_DataStoreID=DSWPLETstT002Control&_ActionID=DefaultAID&stock_code={stock_code}')
# 매도 정보 입력
quantity_input = driver.find_element_by_name('quantity')
price_input = driver.find_element_by_name('price')
quantity_input.send_keys(quantity)
price_input.send_keys(price)
# 매도 버튼 클릭
sell_button = driver.find_element_by_name('sell_button')
sell_button.click()
5. 포트폴리오 및 거래 내역 조회
현재 보유 중인 주식 포트폴리오와 거래 내역을 조회하는 코드를 작성합니다.
# 포트폴리오 조회
def get_portfolio():
driver.get('https://www.sbisec.co.jp/ETGate/?_ControlID=WPLETstT002Control&_PageID=WPLETstT002Mdtl20&_DataStoreID=DSWPLETstT002Control&_ActionID=DefaultAID')
portfolio = driver.find_element_by_id('portfolio_table')
print(portfolio.text)
# 거래 내역 조회
def get_trade_history():
driver.get('https://www.sbisec.co.jp/ETGate/?_ControlID=WPLETstT002Control&_PageID=WPLETstT002Mdtl20&_DataStoreID=DSWPLETstT002Control&_ActionID=DefaultAID')
trade_history = driver.find_element_by_id('trade_history_table')
print(trade_history.text)
6. 결론
이제 Python과 Selenium을 이용해 SBI증권의 자동매매툴을 구축하는 방법을 배웠습니다. 이 코드를 기반으로 다양한 기능을 추가하여 더욱 발전된 자동매매 시스템을 만들어보세요. Happy coding!
이 포스트가 도움이 되셨다면, 댓글로 피드백을 남겨주세요! 추가적인 질문이 있다면 언제든지 환영합니다. 😊
반응형
'Python' 카테고리의 다른 글
🥕 Python으로 당근마켓 상품 검색 엑셀 자동화 만들기! (샘플 코드 포함) (0) | 2025.03.10 |
---|---|
Python으로 AI 영상 및 음악 생성하기 (0) | 2025.02.12 |
ChatGPT와 WordPress API를 사용하여 자동으로 블로그 글 게시하기 (0) | 2024.09.23 |
파이썬을 사용한 비트코인 자동 주문 시스템 개발 가이드 (0) | 2024.02.15 |
Python을 활용한 주식 자동 주문 시스템 개발 가이드 (0) | 2024.02.14 |
댓글