인텔리퀀트에 없는 데이터로 팩터를 만든 후, 그에 대한 랭킹순위를 점수화해서 인텔리퀀트에 있는 재무팩터들과의 통합랭킹을 구하고자 합니다.
예를 들면 최근 한달동안 검색빈도가 가장 높았던 기업들의 순위를 구한 뒤, 그 순위에 대한 랭킹점수를 인텔리퀀트에 입력하는 식으로요.
그런데 점수를 매기는 것까진 좋은데, 이걸 어떻게 인텔리퀀트내 팩터들과 통합랭킹을 구해야 할지 잘 감이 안잡히네요.
어떤 식으로 코딩해야 할지 질문드립니다.
(퀀토피안 보니까 셀프서비스데이터가 있어서 사용자가 임의로 정의한 데이터를 쓸수 있게 해놨던데 그런 서비스가 추가되면 더 좋을거 같습니다)
사실은, 초창기에 그런 기능을 제공했었습니다. 사용자가 직접 데이터를 준비해서 (각 종목에 대한 특정 값을 csv 파일로 만들어서) 업로드한 다음, 스크립트에서 불러다 쓸 수 있게 했었는데요.. 쓰는 분이 거의 없어서 이제는 없앤 기능 중의 하나입니다. 현재 원하시는 것을 하려면, 스크립트에서 해당 데이터를 종목별 스코어 점수로 저장을 시키고 기존 팩터들의 점수를 조합하듯이 코딩하시면 되는데.. ... stock.setScore("myRank", getMyRank(stock)); ... 문제는 직접 준비하신 랭킹점수를 스크립트에 입력하는 방법이 수동으로 일일이 써 주는 방법 밖에는 없다는 점입니다. 단순하게 떠오르는 방법은, 엑셀에서 A005930 1 A035720 2 A000660 3 ... 이런식으로 랭킹점수를 일단 정리하신 데이터를 가지고, "A005930" : 1, "A035720" : 2, "A000660" : 3, ... 과 같은 형태로 문자열(엑셀에서는 텍스트) 포맷으로 추출하셔서, 인텔리퀀트에서 전략 스크립트 코딩 편집창에서 var myRank = { ... (이곳에 붙여넣기) }; function getMyRank(stock) { if (myRank[stock.code] == undefined) return 99999999; return myRank[stock.code]; } 위의 코드처럼 데이터를 입력해 주는 코드를 스크립트에 포함시키면 수동 입력 작업을 그나마 좀 쉽게 할 수 있을 것 같습니다. * 위의 코드는 예시입니다. 원하시는 목적에 참고해서 적용하시기 바랍니다.^^