본문 바로가기
무모한 도전-주식 인공지능 만들기

Position Sizing을 위한 작업 -7-

by 인터넷떠돌이 2020. 5. 25.
반응형

안녕하세요?

 

계속해서 이 position size를 적용하는 법을 어떻게 이어나가고 있는데, 문제가 하나 있습니다. 우선 이 position size를 무엇이냐고 하면, 특정한 리스크를 거래별로 감당하면서, 얼마의 주식을 구매하는 것이 이상적인 지에 대해서 말할 수 있는 것으로 보입니다. 일단 적용하면 좋은 것은, 이익을 최대한으로 만들기 위해서 자동으로 거래할 주식의 양을 만들어 준다는 점에서 좋아 보입니다.

 

먼저 제대로 적용이 되지 않았기 때문에, 일단 먼저 취해 주어야 하는 조치로는 위 스크린샷에서 볼 수 있는 것철머 amount라는 column의 이름에서 accountRisk라고 바꾸어 주는 작업을 먼저 시작했습니다.

 

그리고 나서 이 바뀐 column의 이름을 하나하나 바꾸어 주도록 합니다. 이렇게 하는 이유는 역시 position size는 한번 계산하고 끝이 아니기는 아니기 때문입니다.

 

그리고나서 당연하다면 당연하게도 이렇게 column의 이름을 하나하나 지정해서 바꾸어 주어야만 하는 작업을 해 주어야 합니다.

 

 

그리고나서 메서드에 처음으로 받는 이름도 positionSize라고 하지 않고, accountRisk로 바꾸어 주어서 헷갈리는 일이 없도록 만들어 줍니다.

 

그렇게 해서, 일단 들어가는 데이터의 이름도 이전에 있었는 positionSize라고 하지 말고, 헷갈리지 않도록 위 스크린샷처럼 제대로 account risk를 감당하기 위함으로 바꾸어서 불러 주도록 합니다.

 

그리고 나서 계산도 기존에는 자식 프로세스의 DataBaseReader에서 작업을 하기는 했습니다만, 그렇게 하지 않고, 그냥 account risk만 계산해서 보내는 선에서 끝내도록 바꾸어 주었습니다.

 

그리고 나서 stopLoss라는 변수를 추가해 주도록 하는데, 이건 얼마정도의 금액이 떨어지게 되면, 손절매를 시도하는 것인지를 의미하는 액수입니다.

 

그리고 나서 다음으로 메서드가 시작하는 시점에서 위 스크린샷에서 볼 수 있는 것과 같이 일단 각각의 변수를 추가하도록 하고, 이 변수들이 무엇을 의미하며 왜 있는지 알아보기 위해서 일단 주석을 달아 보도록 합니다.

 

그리고 나서 이제 position size를 계산하기 위해서 2번째 요소인 trade risk를 계산해 보도록 합니다. 이 2번째 요소가 있으면 이제 이걸 바탕으로 해서 position size를 계산할 수 있습니다.

 

그리고 나서 다음으로 이 position size를 계산한 다음에 구매를 할 때 dataframe안에 넣어 주도록 했습니다. 이제 매도를 해서 계산을 해야 하는 순간이 오면, 위 스크린샷에서 볼 수 있는 것처럼 일단 지정을 해서 이제 profit을 계산하는 단계에서 반영을 해 주도록 합니다.

반응형