커뮤니티
내가 만든 전략들과 지식을 공유하고 토론합니다.

몇가지 질문있습니다.

Prophit 2017.04.20 16:55 조회수  574 추천 1

질문을 자꾸 드려 죄송하네요.


첫번째 질문은

분기 리밸런싱으로 PER / PBR 등을 적용해 20~30개의 종목 리스트를 뽑고

그 안에서 모멘텀을 적용해 월간 리밸런싱을 하려하는데

가능한가요?

getMarketCapital()을 적용했더니 월마다 적용 시총이 달라져 랭킹이 바뀌네요.


두번째 질문은

스팩과 우선주 등을 제거하기 위해

stockfilter에 if (right(stock.name,2) === "스팩") { return false; } //스팩 제외

를 추가하고 돌렸더니 right가 정의되지 않았다고 오류가 뜨네요.(기본함수로 되는 줄 알았는데)

어떻게하면 작동시킬 수 있을까요?



세번째 질문은

"2004-06-28] Account[0000-0000-00(Algorithm)] 보유종목 'A001155'이 상장폐지, 합병 등의 이슈로 더 이상 존재하지 않습니다. 전날 종가로 보유수량 전체를 매도 처리합니다.

[2004-06-29] Account[0000-0000-00(Algorithm)].sell 종목코드:A001155의 주문가격이 0 입니다. 상장되지 않은 종목이거나 폐지된 종목입니다."

라고 상장폐지된 종목이 계속 뜹니다.


필터에 

if (stock.getClose() === 0) { return false; } 과

if (stock.getMarketCapital() === 0) { return false; } 가 있는데도 계속 뜨네요

해결 방법이 없을까요?

댓글 10
1. 가능합니다.
https://intelliquant.co.kr/article/54 
게시글에 자세한 샘플을 올렸으니 참고하시기 바랍니다.

2. 자바스크립트에서 마지막 2글자를 가져오시려면 아래처럼 하시면 됩니다.
if (stock.name.substr(stock.name.length -2) === "스팩") { return false; } //스팩 제외

3. 저희가 내부적으로 확인중입니다. 확인후에 다시 추가 댓글을 드리겠습니다.
등엔트로피 2017.04.21 17:11
3번 질문의 경우 어제(4.20) 패치 이후 시뮬레이션 중 보유종목이 상장폐지 된 경우 전날 종가로 전체 매도하는 로직을 넣었습니다. (실제 운영과 비슷하도록) 혹시 해당 로그가 계속 뜬다는 이야기가 시뮬레이션을 돌릴때 마다 나타난다는 이야기인지. 하나의 시뮬레이션에서 동일 로그가 계속 찍힌다는 이야기 인지 궁금합니다.
박용기 2017.04.21 17:17
@등엔트로피 // 귀찮으실텐데 감사합니다!
Prophit 2017.04.21 18:20
@박용기 //  한 개의 시뮬에서 동일로그가 계속 찍힙니다.  
동일한 로직베이스에 PER 랭킹만 뺀 시뮬에서는 상폐 에러가 뜨지 않습니다.
차이점을 살펴보니 stockfilter에
    //if (stock.getFundamentalTotalAsset() === 0) { return false; } 
이렇게 저부분을 꺼놨습니다
Prophit 2017.04.21 18:25
@박용기 // 근데 상장폐지의 경우 전날 종가매도 보다 전부 손실처리하는게 보수적 검증에서 좋지 않을까요? 상폐를 맞아본 경험은 아직 없어서 상폐시 주식이 어떻게 처리되는진 모르겠네요;;
Prophit 2017.04.21 18:57
그리고 stockfilter에서 
 if (stock.getFundamentalTotalAsset() === 0) { return false; }  이건 무슨 용도인가요?
상폐주 거르는 용도인가요? 있는 것과 없는 것 차이가 꽤 많이 나네요
Prophit 2017.04.22 11:51
@Prophit 답변이 늦어서 죄송합니다. 저는 시뮬레이션 자체에 버그가 있다고 생각하고 고치려고 계속 찾아보았는데요.. ^^; 재현이 안되어서. 

말씀하신 '동일로그가 계속 찍힙니다.' 의 동일 로그가 종목도 같고, 날짜도 같은데 로그가 반복적으로 찍힌다는 이야기 맞나요? 만약 종목, 날짜가 다르다면 정상입니다. 

이번 패치에서 보유종목이 상장폐지, 합병 등의 이슈로 존재하지 않을 경우 전날 종가에 보유수량 전체를 매도하도록 처리하였는데 (패치전에는 전부 손실처리하였습니다.)
1. SK & SK C&C 합병 건의 경우 합병으로 2015년 8월 14일 이후 SK 종목이 존재하지 않는데 이를 시뮬레이션 상에서 자동으로 SK C&C 종목으로 변경하는데 어려움이 있어 전날 종가(207,000원)에 전량 매도 하도록 하였습니다. 이편이 손실보다는 타당하다고 판단하였기 때문입니다.
2. 한진해운처럼 상장폐지의 경우에도 마지막 종가(12원) 매도 한것으로 시스템 상 처리하였습니다. 상장폐지와 합병을 현재 시스템 상에서 구분하기 어렵고, 상장폐지 예정일이 공고되었기에 마지막 종가에 매도 가능하다고 판단하였기 때문입니다.

감사합니다.
박용기 2017.04.24 18:36
어제까지만해도 계속 나오던 로그가 오늘은 어떤걸해도 안나오네요
상폐에 대한 로그는 다른날짜(매일매일)로 찍히긴 했습니다.

20종목이 포트수량인데 상폐때문에 19종목만 찍히는게 결과에 영향을 줄거라 생각했습니다만
오늘은 왜인지 모르게 로그가 찍히지 않네요.
(오류로그 보존을 위해 수정한건 없었습니다)
Prophit 2017.04.24 22:07
@Prophit ^^; 상폐 로그 계속 찍히는 버그 찾아서 수정했습니다. 감사합니다~
박용기 2017.04.26 18:59
잘됐네요~! 수정 감사합니다
Prophit 2017.04.27 09:38
댓글 등록을 위해서 로그인해주세요.
 
최신 게시글