Search

Index

목차

개요

Index시장 지수 하나를 나타내는 객체입니다.
KOSPI, KOSDAQ 등 한국 지수와 S&P 500, NASDAQ 등 미국 지수를 동일한 인터페이스로 다룹니다.
Index 객체는 IQIndex.getIndex(code)를 통해 가져옵니다.
var kospi = IQIndex.getIndex('001'); logger.debug('code: ' + kospi.code + ', name: ' + kospi.name);
JavaScript
복사
주의: 코드 내 변수명으로 index를 사용하는 샘플이 많지만, 파라미터 index(과거 데이터 참조 인덱스)와 혼동하지 않도록 변수명을 kospi, sp500 등으로 명시하는 것이 권장됩니다.

index 파라미터 공통 설명

가격 데이터 함수(getClose, getOpen, getHigh, getLow, getDate)는 index 파라미터를 받습니다.
index
의미
0 (기본값, 생략 가능)
당일 데이터
1
1 거래일 전 (어제)
2
2 거래일 전
N
N 거래일 전
중요: 시뮬레이션 시작일 이전 데이터가 필요하면 loadPrevData(year, month, day) 함수로 미리 데이터를 불러와야 합니다.

1. 속성 (Properties)

code

지수 코드입니다.
한국 — 3자리 숫자 코드
코드
지수명
001
KOSPI
101
KOSPI 200
002
KOSPI 대형주
003
KOSPI 중형주
004
KOSPI 소형주
301
KOSDAQ
미국^로 시작하는 심볼
심볼
지수명
^DJI
Dow Jones Industrial Average
^GSPC
S&P 500 Index
^IXIC
NASDAQ Composite
^VIX
Volatility Index

name

지수 이름입니다.
var kospi = IQIndex.getIndex('001'); logger.debug('code: ' + kospi.code + ', name: ' + kospi.name); // 출력: code: 001, name: KOSPI
JavaScript
복사

2. 가격 데이터

모든 함수의 파라미터: index (거래일 기준 과거 일수, 기본값 0). 공통 설명 참고

getDate(index)

index 만큼의 과거 거래일에 해당하는 날짜를 가져오는 함수입니다.

파라미터

파라미터
타입
설명
index
number
거래일 기준 과거 일수. 기본값 0 (당일). index 파라미터 공통 설명 참고

반환값

stringindex에 해당하는 거래일의 날짜 문자열
var kospi = IQIndex.getIndex('001'); logger.debug('yesterday date: ' + kospi.getDate(1)); // 거래일 기준 전일을 가져옵니다.
JavaScript
복사

가격 함수 요약

함수
설명
반환값
getClose(index)
종가
index에 해당하는 일의 종가
getOpen(index)
시가
index에 해당하는 일의 시가
getHigh(index)
고가
index에 해당하는 일의 고가
getLow(index)
저가
index에 해당하는 일의 저가
var kospi = IQIndex.getIndex('001'); logger.debug('today close price: ' + kospi.getClose()); // 당일 종가 logger.debug('yesterday close price: ' + kospi.getClose(1)); // 하루전 종가
JavaScript
복사

3. 기술적 지표 (Technical Indicators)

모든 기술적 지표는 당일 기준으로 계산됩니다.
오류 발생 시 -99999999.0 반환.

단순 지표

함수
설명
파라미터
getMA(period)
이동평균 (MA)
period: 기간 (일)
getEMA(period)
지수이동평균 (EMA)
period: 기간 (일)
getWMA(period)
가중이동평균 (WMA)
period: 기간 (일)
getATR(period)
Average True Range (ATR)
period: 기간 (일)
getADX(period)
Average Directional Index (ADX)
period: 기간 (일)
getCCI(period)
Commodity Channel Index (CCI)
period: 기간 (일)
getRSI(period)
Relative Strength Index (RSI)
period: 기간 (일)
getWilliamsR(period)
Williams %R
period: 기간 (일)
getTrueRange()
True Range
없음
getOBV()
On Balance Volume (OBV)
없음
var kospi = IQIndex.getIndex('001'); logger.debug('MA(20): ' + kospi.getMA(20)); logger.debug('RSI(14): ' + kospi.getRSI(14)); logger.debug('ADX(10): ' + kospi.getADX(10));
JavaScript
복사

복합 지표 (JSON 반환)

getBollingerBand(period, devUp, devDown)

볼린저 밴드 값을 JSON 형태로 반환합니다.
파라미터
파라미터
타입
설명
period
number
기간 (일)
devUp
number
상위 밴드 표준편차 배수 (K배)
devDown
number
하위 밴드 표준편차 배수 (K배)
반환값 object{ upper: number, middle: number, lower: number } / 오류 시 -99999999.0
var kospi = IQIndex.getIndex('001'); var bb = kospi.getBollingerBand(10, 2, 2); logger.debug('Bollinger: ' + JSON.stringify(bb)); // 예: {"upper": 27719.57, "middle": 27468.5, "lower": 27217.47}
JavaScript
복사

getMACD(fast, slow, signal)

MACD 값을 JSON 형태로 반환합니다.
파라미터
파라미터
타입
설명
fast
number
단기 이동평균일
slow
number
장기 이동평균일
signal
number
시그널 이동평균일
반환값 object{ macd: number, signal: number, hist: number } / 오류 시 -99999999.0
var kospi = IQIndex.getIndex('001'); var macd = kospi.getMACD(12, 26, 9); logger.debug('MACD: ' + JSON.stringify(macd)); // 예: {"macd": 117.3, "signal": 128.1, "hist": -10.8}
JavaScript
복사

getStochastic(fastK, slowK, slowD)

스토캐스틱 값을 JSON 형태로 반환합니다.
파라미터
파라미터
타입
설명
fastK
number
fastK 이동평균일
slowK
number
slowK 이동평균일
slowD
number
slowD 이동평균일
반환값 object{ slowK: number, slowD: number } / 오류 시 -99999999.0
var kospi = IQIndex.getIndex('001'); var stoch = kospi.getStochastic(5, 3, 3); logger.debug('Stochastic: ' + JSON.stringify(stoch)); // 예: {"slowK": 71.75, "slowD": 56.58}
JavaScript
복사

getParabolic(acc, max)

Parabolic SAR 값을 반환합니다.
파라미터
파라미터
타입
설명
acc
number
가속변수
max
number
가속변수의 최대값
반환값 number — 당일 Parabolic SAR 값 / 오류 시 -99999999.0
var kospi = IQIndex.getIndex('001'); logger.debug('Parabolic SAR: ' + kospi.getParabolic(0.02, 0.2));
JavaScript
복사

4. 유틸리티 함수

loadPrevData(year, month, day)

시뮬레이션 시작일자 이전 기간(년, 월, 일)의 해당 지수 데이터를 로드합니다.
기본적으로 시뮬레이션 시작일~종료일 범위의 데이터만 로드되므로, 이전 일자의 데이터가 필요한 경우 이 함수를 사용합니다.

파라미터

파라미터
타입
설명
year
number
연 단위 (예: 1 = 1년 전)
month
number
월 단위 (예: 0 = 0개월)
day
number
일 단위 (예: 60 = 60일 전)
var kospi = IQIndex.getIndex('001'); // 10일 전 데이터 로드 kospi.loadPrevData(0, 0, 10); // 1년 전 데이터 로드 (예: 250일 MA 계산을 위해) kospi.loadPrevData(1, 0, 0);
JavaScript
복사

Index vs Stock 주요 차이점

항목
Index
Stock
객체 취득
IQIndex.getIndex(code)
IQStock.getStock(code)
코드 형식 (한국)
'001' (3자리 숫자)
'A005930' (A+6자리)
코드 형식 (미국)
'^GSPC' (^ 접두사)
'AAPL' (티커)
재무 데이터
없음
있음
투자자별 매매
없음
있음
기술적 지표
있음
있음
getBollingerBand 함수명
getBollingerBand
getBollingerBand

오류 처리 규칙

상황
반환값
기술적 지표 계산 오류
-99999999.0

관련 API

IQIndex 객체 — 지수 목록 조회 및 특정 지수 취득
Stock 객체 — 개별 주식 종목 데이터 조회