특정 지표로 유니버스를 구성한 뒤, 그 유니버스를 대상으로 다시 조건을 걸어 포트폴리오를 구성하는 방법에 대해 질문드립니다.
per, pbr로 예를 들자면, 먼저 per가 낮은 200종목으로 유니버스를 구성한 뒤 그 200종목들 중 pbr이 낮은 순서대로 포트폴리오를 구성하는 방법을 알고 싶습니다.
특정 지표로 유니버스를 구성한 뒤, 그 유니버스를 대상으로 다시 조건을 걸어 포트폴리오를 구성하는 방법에 대해 질문드립니다.
per, pbr로 예를 들자면, 먼저 per가 낮은 200종목으로 유니버스를 구성한 뒤 그 200종목들 중 pbr이 낮은 순서대로 포트폴리오를 구성하는 방법을 알고 싶습니다.
먼저 블록 알고리즘에서 PER만 선택하시고 블록 알고리즘을 스크립트로 내보내기 하신 후에 스크립트에서 builder_portfolio1 함수를 찾으세요 이 함수 하단에 port_result = port_result.filter(postfilterfn_portfolio1); port_result = port_result.slice(0, targetSize); 위 부분을 아래와 같이 수정하시면 됩니다. port_result = port_result.filter(postfilterfn_portfolio1); // 200종목 선정 port_result = port_result.slice(0, 200); // PBR 낮은순 정렬 var sortedByPbr = port_result.slice().sort(function(a,b){return a.getPBR()-b.getPBR();}); port_result = sortedByPbr.slice(0, targetSize);