Allen's 데이터 맛집

[5] 주식 투자 트레이딩 봇 메인 프로그램 본문

Project/주식 투자 자동화 트레이딩 봇

[5] 주식 투자 트레이딩 봇 메인 프로그램

Allen93 2023. 7. 23. 10:22
이번 포스팅부턴 드디어 메인 프로그램 개발입니다

 

메인 코드는 아래의 제 깃헙에서 코드와 주석등을 참고 바래요

https://github.com/siilver94/Stock-investment-automation/blob/main/src/main/python/main.py

 

추가적인 이해가 필요하시다면 아래의 코드 설명을 참고해주세요

코드 설명

  1. 처음으로 CREON PLUS와 연결 상태를 점검하고, 주문 초기화를 수행합니다.
  2. 주어진 종목의 현재가(get_current_price()), 매수호가(cpStock.GetHeaderValue(16)) , 매도호가(cpStock.GetHeaderValue(17))를 조회하는 함수를 생성합니다.
  3. 종목의 OHLC(get_ohlc(code, qty)) 가격 정보를 조회하는 함수를 생성합니다.
  4. 저희가 입력한 종목의 종목명과 수량을 조회(get_stock_balance(code))하는 함수를 생성합니다.
  5. 증거금 100% 주문 가능 금액을 조회(get_current_cash())하는 함수를 생성합니다.
  6. 변동성 돌파 전략에 따라 매수 목표가를 계산(buy_etf(code))하는 함수를 생성합니다.
  7. 주어진 기간의 이동평균가격을 계산(get_movingaverage(code, window))하는 함수를 생성합니다.
  8. 변동성 돌파 전략에 따라 주어진 종목을 매수하는 함수를 생성합니다.
  9. 보유한 모든 종목을 최유리 지정가 IOC 조건으로 매도(sell_all())하는 함수를 생성합니다.
  10. 설정된 종목 리스트에 따라 자동으로 매수 및 매도를 수행하는 메인 함수를 구현합니다.
  11. dbgout이라는 함수를 구현해서 해당 함수를 실행할 때 마다 해당 함수의 내용을 연결된 카카오톡의 채팅방으로 자동으로 프로그램이 실행하는 동안 계속 메세지를 전송합니다.

*OHLC : (Open, High, Low, Close)


 

이제 메인 프로그램을 실행 시켰을 때 설정된 종목 리스트에 있는 종목들 중 변동성 돌파 전략에 부합하는 종목들을 자동으로 매수하고, 일정 시간에 맞춰 매도를 시도합니다.

일정 시간은 설정 가능하며 해당 코드에서는 09:05분에 시작해서 15:15부터 팔기 시작하고 15시 20분에 자동으로 종료됩니다.

또한, 매수 및 매도 주문 결과를 카카오톡으로 전송하여 실시간으로 확인할 수 있도록 구성되어 있습니다.

 

처음에는 내가 주식 트레이딩봇을 만들고 그 내용을 실시간으로 카카오톡으로 전송까지 해준다고?

라고 혼자서 개발이 가능할까 생각하였지만 하나씩 차근차근(많은 우여곡절을 거치며) 해결하다보니 완성을 하게 되었네요

 

마지막이자 다음 글에서는 프로그램을 저희가 직접 키고 끄지 않아도 자동으로 실행시켜 주는 자동 스케쥴러 프로그램 설정 방법과 리뷰를 남기며 마무리 해보겠습니다

 

모두 부자 되시길 바래요 :)

 

GITHUB : https://github.com/siilver94/Stock-investment-automation

 

GitHub - siilver94/Stock-investment-automation

Contribute to siilver94/Stock-investment-automation development by creating an account on GitHub.

github.com

 

728x90