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

기초적인 질문입니다^^

이용기 2017.10.22 13:33 조회수  911 추천 0


자바스크립트를 해본적이 없어서 이제부터 하나하나 공부하는 중인데

아래 궁금한 점이 있어서 올립니다.

 

1. 총 1천만원을 투자금으로 시작할때

1천만원을 20개종목에 나눠서 각종목에 50만원씩을 투자하려고합니다.

50만원어치를 각종목의 주가로 나눠서 나온 수만큼 사야하는데

해당주식가격을 가져오려면 어떻게 입력해야할지 궁금합니다.



var buy = false;
function onDayClose(now) {
    if (buy == false) {
  IQAccount.getDefaultAccount().buy('A011760',(IQEnvironment.aum / 20)/해당주식가격);


        buy = true;
    }
}


2. 과거주가가 모두 수정주가로 되어있는걸로 알고 있는데

무상감자같은경우는 7:1무상감자라면 감자전 주가에 7을 곱해서 과거주가를 수정한 것으로보입니다.

자본변동유형별로 어떤유형에 대해서 어떻게 수정주가를 산출했는지 볼수있는 자료도 있을까요?



댓글 4
1. 원하시는 그런 용도를 위해 Basket이라는 개념을 사용하고 있습니다. 
Basket은 기본적으로 종목 목록만 선정하고 나면, 1/n로 투자금액을 할당하고, 가장 최근 종가 기준으로 수량까지 계산해 줍니다. 다른 분들의 예제 또는 처음 가입하셨을 때 주어진 샘플 스크립트를 참고하세요.
참고로, 종목코드로 그 종목의 주가를 가져오고 싶으실 때 아래와 같이 하시면 될 듯 합니다:
var sseStock = IQStock.getStock('A005930');    // 삼성전자 Stock 객체 가져오기
var closePrice = sseStock.getClose();     // 가장 최근 종가
var adjClosePrice = sseStock.getAdjClose();   // 가장 최근 수정종가

2. 과거주가가 모두 수정주가로 되어 있는게 아니라, 실제 주가로 저장되어 있습니다. 수정주가도 자체적으로 매일 업데이트하여 관리하고 있습니다. 자본변동유형별로 분류를 따로 하지는 않지만, 매일 기준가 정보를 수집해서, 수정주가 계산을 위한 제수(divider)를 산출하고 이를 바탕으로 수정주가를 업데이트하고 있습니다.
Joseph 2017.10.22 18:01
친절한 답변 감사드립니다.^^
한가지만 더 질문드립니다.

만약 Basket을 이용하지 않고 한종목에 대해서만 투자하여 백테스팅하려고 해서
해당 백테스팅 기간의 기초시점 수정종가를 이용해서 천만원어치의 주식을 사려한다면
아래와 같이 하면 될 것으로 생각했는데 오류가 떠서 어떻게 바꾸면 될지 부탁드립니다.  
var buy = false;
var sseStock = IQStock.getStock('A005930');
var adjClosePrice = sseStock.getAdjClose('A005930');    
function onDayClose(now) {
    if (buy == false) {
  IQAccount.getDefaultAccount().buy('A011760',10000000/adjcloseprice('A005930'));

        buy = true;
    }
}
이용기 2017.10.23 01:05
var adjClosePrice = sseStock.getAdjClose('A005930'); -> var adjClosePrice = sseStock.getAdjClose(); 로 바꾸시고, onDayClose(now) 함수 안 쪽으로 옮겨 주시구요..
adjcloseprice('A005930;) -> adjClosePrice 로 바꾸시면 될 것 같은데요^^ (단순한 변수 이름)
Joseph 2017.10.23 16:11
답변감사합니다.^^ 잘 사용하겠습니다.~
이용기 2017.10.23 23:34
댓글 등록을 위해서 로그인해주세요.
 
최신 게시글