[주식투자자동화] #8 - 바로 드러나는 문제점 :: Horizontal Grays S2

지난번 포스팅에서

Creon Plus 연결할때 키보드 연결 어쩌구 오류가 나왔었다고 썼는데 이는 PC를 사용할때는 나오지 않는 문제점인데 

밤새 사용하지 않다가 아침에 Creon Plus 자동실행하면 Ahnlab Online Security 에서 띄우는 문제점인가 보다.
여튼 아래와 같은 메시지가 뜨는데 파이썬으로 자동으로 Enter가 입력되게 해보려했으나 실패했다.

일단 출근전에 수동으로 Enter 한번 눌러주면 되긴 하니까 당분간은 그렇게.. T.T

 

 

4월 4일 월요일 첫날 성적은 좋았다. 수익률은 3.66% 문제점이라고 하긴 뭐하고 개선점으로 생각되는 부분이 보였다.

전 영업일에 자동으로 리스트업 해둔 리스트 중 3종목을 자동으로 매매를 했는데 그중 한 종목이 오전중 상한가를 쳤다.

알고리즘으로는 5종목까지 매수할수 있도록 예수금의 19%만 매수되게 했기에 상한을 쳐도 전체수익률이 상한은 아니다.

여튼 오전에 상한을 쳤으나 장종료 직전 매도까지 그상태 그대로 있다가 매도를 하게 된다.

이를 대비해서 상한에 근접 또는 상한가를 치면 바로 매도를 하도록 그리고 유리한 가격에 매도를 하도록 하는게 좋겠다.

 

 

4월 5일 둘째날은 안좋다. -1.22%

4개의 종목이 자동투자 되었는데 1개의 종목이 하한가에 근접했다. 이는 확실히 문제점이 맞다.

이부분 역시 대비해서 매수후 일정 % 이하로 떨어지면 손절을 하도록 프로그램을 수정하도록 해야겠다.

 

첫번째 문제건 두번째 문제건 팔아야한다.

 

주기적으로 체크해서 특정 이상 손실이면 팔고, 특정 이상 수익이면 팔아버리자

def check_losscut(code):
    try:
        global bought_list      # 함수 내에서 값 변경을 하기 위해 global로 지정
        time_now = datetime.now()
        cur_price, ask_price, bid_price = get_current_price(code) 
        bought_price_index = bought_list.index(code)
        bought_price = bought_list_price(bought_price_index)
        price_ratio = ((cur_price - bought_price)/cur_price)*100.0
        if price_ratio < -5.0:      #losscut -5%
            dbgout("-5% 이하로 떨어져서 손절 절차에 들어갑니다." + str(code))
            sell_stock(code)

        if price_ratio > 28.0:     #상한가
            dbgout("상한으로 판단하여 매도 절차에 들어갑니다." + str(code))
            sell_stock(code)

    except Exception as ex:
        dbgout("check_losscus() -> exception! " + str(ex))

뭐 이름을 losscut으로 했지만 수익이 나도 파는 것으로 했다.

기본적인 알고리즘은 샀을때 가격을 list에 넣어두었고 이를 현재가와 비교해서 

-5% 손실이면 손절

+28% 수익이면 상한으로 간주하고 익절하도록 했다.

 

돌아갈지는 아직 모르겠다 ㅎ

 

 

+ Recent posts