'변동성 돌파 전략' 태그의 글 목록 :: Horizontal Grays S2

이전 포스팅을 보면 늘 실행하기전에 CREON Plus를 실행해야 한다는 말을 쓰곤 했는데

내가 항상 깜빡하고 CREON Plus도 실행하지 않고 실행해서 Error가 발생하곤 했기 때문이다.

추가로 CREON Plus 실행하고 비번 치고, 비번 또 치고 이러는것도 귀찮기도 하고 ㅎ

여튼 그래서 우선 할것은 CREON Plus 자동 실행 프로그램이다.

이 소스는 구매한 책인 [파이썬 증권 데이터 분석] 이 유용하게도 github에 소스도 제공해주는데 여기에 자동 실행 예제가 있다.

 

아래의 링크에 들어가보자.

StockAnalysisInPython/08_Volatility_Breakout at master · INVESTAR/StockAnalysisInPython · GitHub

 

GitHub - INVESTAR/StockAnalysisInPython

Contribute to INVESTAR/StockAnalysisInPython development by creating an account on GitHub.

github.com

위 링크의 8장 말고도 다른 장도 다양한 소스가 있으니 공부에 참고하면 좋을듯하다.

물론 책을 사서 보면서 해야겠지만 ㅎ 나도 책은 아직 보는 중

여기에 보면 ch08_01_AutoConnect.py 이라는 파이썬 파일이 있다.

-------------------------------------------------------------------------------------------------------
from pywinauto import application
import time
import os

os.system('taskkill /IM coStarter* /F /T')
os.system('taskkill /IM CpStart* /F /T')
os.system('taskkill /IM DibServer* /F /T')
os.system('wmic process where "name like \'%coStarter%\'" call terminate')
os.system('wmic process where "name like \'%CpStart%\'" call terminate')
os.system('wmic process where "name like \'%DibServer%\'" call terminate')
time.sleep(5)        

app = application.Application()
app.start('C:\CREON\STARTER\coStarter.exe /prj:cp /id:userid /pwd:pa$$word /pwdcert:certPa$$word /autostart')
time.sleep(60)

-------------------------------------------------------------------------------------------------------

14번째줄 (끝에서 두번째줄) userid 에 ID 넣고, pwd에 password 넣고 pwdcert에 인증서암호 넣고

그리고 Autoconnect.py 로 저장하고 실행하면 끝

소스의 설명은 딱히 할게 없다. 

11번째 줄까지는 혹시 CREON Plus가 실행하고 있으면 끝내고

5초 대기

CREON Plus 를 실행하고 60초 대기 

그리고 이 소스에서 
-------------------------------------------------------------------------------------------------------
from pywinauto import application
import time
import os

os.system('taskkill /IM coStarter* /F /T')
os.system('taskkill /IM CpStart* /F /T')
os.system('taskkill /IM DibServer* /F /T')
os.system('wmic process where "name like \'%coStarter%\'" call terminate')
os.system('wmic process where "name like \'%CpStart%\'" call terminate')
os.system('wmic process where "name like \'%DibServer%\'" call terminate')
time.sleep(5)    

-------------------------------------------------------------------------------------------------------

이 부분만 Disconnect.py로 저장하고 끝낼때 종종 쓰곤 한다. ㅋ

 

자 그럼 이제 주식투자 자동화 프로그램을 해보도록 하자.

 

책에서 설명하는 주식 자동프로그램의 기본전략은 변동성 돌파전략이다. 

그럼 변동성 돌파전략이란 무엇인가?

 

변동성 돌파전략(volatility breakout strategy)이란 선물 트레이더의 대가라고 하는 래리 윌리엄스라는 사람이 개발한 투자전략으로 가격이 전일 가격범위의 K% 이상이 될 때 매수하고 장마감시 매도해서 수익을 실현하는 전략이라고 

책에 설명되어 있다.

 

여기서 중요한건 그럼 무엇을 (어느종목을) 과 언제 (K% 이상이 될 때) 의 결정이 가장 중요하지 싶다.

이건 책을 다 봐야 알것 같은데 책을 아직 다 보지 않았... (다 보면 나오긴 할까?)

여튼 나같은 초보에게 가장 쉽게 이해되는 그림을 첨부해보고자 구글링 해봤지만

그래도 책에 나온 그림이 가장 쉽게 이해되는 그림이었다.

변동성 돌파 전략 (책 파이썬 증권 데이터 분석 371페이지 그림)

그렇다면 수많은 종목 중에서 저렇게 스윙하는 종목들을 매수하게 된다고 가정하고

내 자금을 그 종목 1개만 몰빵해서 사기는 위험하고 그런 종목들 중 몇종목을 살것인지도 결정하기도 해야하겠다.

그리고 하루에 한번은 매수/매도도 해야겠고

그럼 그 수수료도 만만치 않을것이다. 

그래서 수수료를 생각해보면 이전에 대신증권은 0.015% 또는 월정액 15000원 + 0.0088% 라고 했는데....

"세금" 이 있다!!

 

CREON 트레이딩 - 제휴은행 계좌개설 - 크레온 (creontrade.com)

 

크레온

대신증권 온라인 주식 거래 서비스. 비대면계좌개설, 수수료 혜택, 주식시세, 종목추천, 투자정보 제공

www.creontrade.com

 

위 링크를 보면 수수료가 나와있는데 "매매관련세금" 탭이 있는 것을 볼 수 있다. 여기를 보면

KOSPI는 거래세 0.08% + 농특세 0.15% = 0.23%

KOSDAQ은 거래세 0.23%

ETF는 0%


정리하면

  매수 매도 합계
KOSPI 0.015% 0.015% + 0.23% 0.26%
KOSDAQ 0.015% 0.015% + 0.23% 0.26%
ETF 0.015% 0.015% 0.03%

하루에 한번꼴로 매수/매도를 하는데 KOSPI 또는 KOSDAQ과 ETF는 약 10배 가량 차이가 난다!
즉 거래를 자주하는데는 ETF가 유리하다!!

물론 KOSPI나 KOSDAQ이 훨씬 수수료 이상의 수익을 내준다면 상관이 없겠다 ㅎ

일단은 ETF 위주로 진행해보는 걸로 계속 진행해보자

 

그 ETF 중에도 당연히 시가총액이 크고 거래량이 많은 종목 중에서 선택을 하는것이 좋겠다.
그래서 ETF 종목 정보를 구해보도록 하자.

 

1. pip install beautifulsoap4 설치

2. pip install pandas 설치

3. pip install selenium으로 selenium 설치

4. Chrome 브라우저 실행하고 주소창에 chrome://version 입력해서 버전 확인  (나의 경우 98.0.4758.102)

5. https://chromedriver.chromium.org/downloads

 에서 버전에 맞는 chromedriver를 다운받고 압축을 푼다음에 chromedriver.exe 파일을 c:\myPackage 폴더 만든후 이 폴더로 복사

6. c:\myPackage의 chromedriver.exe를 관리자권한으로 실행하도록 설정

7. 아래의 파이썬 증권데이터 분석 책에서 제공하는 github 에서 소스

 StockAnalysisInPython/ch08_02_DynamicPageScraping_NaverETF.py at master · INVESTAR/StockAnalysisInPython · GitHub

 

GitHub - INVESTAR/StockAnalysisInPython

Contribute to INVESTAR/StockAnalysisInPython development by creating an account on GitHub.

github.com

 

8. vscode 실행시켜서 새파일(파이썬파일) 만들기 후 복붙  (나의경우 ScrapingETF.py)

9. 저장 후 터미널에서 python ScrapingETF.py를 실행하였더니!

아.. 이건 또 무슨 에러냐... 구글 검색해본 결과 lxml 이 없는게 이유

그럼 터미널에서 pip install lxml 하면 설치하는게 보인다.

 

10. 그리고 다시 실행하면

위와같이 naver에서 518개의 ETF종목의 정보를 가져온것을 확인할수 있다. 순서는 시가총액 순이다.
pandas로 읽은 이정보를 잘 추려서 이 중에서 어떤 종목을 선택할 것인지 이것도 매우 중요한 요소일것이다.

 

오늘은 일단 여기까지!

 

+ Recent posts