퀀트 트레이딩 개발이 쉬워졌어요.
rsi 를 추가하여 결과를 차트에 보여줘
RSI(상대강도지수)란?
RSI(Relative Strength Index)는 일정 기간 동안의 주가 상승폭과 하락폭의 평균을 이용해, 현재의 과매수(overbought)·과매도(oversold) 상태를 파악하는 대표적인 기술적 지표입니다. 일반적으로 0~100 사이의 값으로 계산되며, 70 이상이면 과매수, 30 이하면 과매도로 해석합니다.
RSI 계산 공식
RSI는 다음과 같이 계산합니다.
AU (Average Ups): n일 동안의 상승분 평균
AD (Average Downs): n일 동안의 하락분 평균
RS (Relative Strength): AU / AD
RSI=AUAU+AD×100RSI=AU+ADAU×100
또는
RSI=RS1+RS×100RSI=1+RSRS×100
여기서 n은 보통 14일을 많이 사용합니다.
RSI 계산 함수 예시 (JavaScript)
아래는 차트 데이터에 RSI를 추가하는 함수 예시입니다. (14일 기준, 종가 사용)
javascript
function calculateRSI(closePrices, period = 14) { const rsi = []; for (let i = 0; i < closePrices.length; i++) { if (i < period) { rsi.push('-'); // 데이터 부족 구간 continue; } let gains = 0, losses = 0; for (let j = i - period + 1; j <= i; j++) { const diff = closePrices[j] - closePrices[j - 1]; if (diff > 0) gains += diff; else losses -= diff; // 음수값을 더함 } const AU = gains / period; const AD = losses / period; const RS = AD === 0 ? 100 : AU / AD; const rsiValue = AD === 0 ? 100 : (AU / (AU + AD)) * 100; rsi.push(rsiValue.toFixed(2)); } return rsi; }closePrices는 종가 배열입니다.반환값은 차트에 바로 쓸 수 있는 RSI 배열입니다.
RSI를 차트에 추가하는 방법
데이터 준비
기존 차트의 종가 데이터 배열을 준비합니다.
RSI 계산
위 함수로 RSI 배열을 생성합니다.
차트 옵션에 RSI 시리즈 추가
ECharts 등에서 line 타입으로 RSI 시리즈를 추가합니다.
RSI는 별도의 y축(0~100)과 x축(날짜)을 사용합니다.
기준선(30, 70)도 추가하면 좋습니다.
ECharts 예시 (option.series에 추가)
javascript
{ name: 'RSI(14)', type: 'line', data: rsiArray, // 위에서 계산한 RSI 배열 yAxisIndex: 5, // RSI 전용 yAxis를 추가했다면 lineStyle: { color: '#ff9900' } }yAxisIndex는 기존 차트의 y축 배열에서 RSI용 축 인덱스입니다.
RSI 기준선(30, 70)은
markLine옵션으로 추가할 수 있습니다.
차트 옵션에 RSI 추가 예시
javascript
option.yAxis.push({ type: 'value', min: 0, max: 100, gridIndex: 5, // RSI용 그리드 인덱스 splitLine: { show: true } }); option.series.push({ name: 'RSI(14)', type: 'line', data: rsiArray, xAxisIndex: 0, yAxisIndex: 5, lineStyle: { color: '#ff9900' }, markLine: { data: [ { yAxis: 70, lineStyle: { color: '#ff0000', type: 'dashed' } }, { yAxis: 30, lineStyle: { color: '#0000ff', type: 'dashed' } } ] } });이처럼 RSI를 별도 시리즈와 y축으로 추가하면, 메인 차트와 함께 RSI를 한눈에 볼 수 있습니다.
요약
RSI는 종가 배열로 계산하며, 일반적으로 14일 기준을 많이 사용합니다.
RSI는 별도의 y축(0~100)과 함께 라인 차트로 추가하고, 30/70 기준선을 표시하면 해석이 쉽습니다.
실제 적용 시, 기존 차트 옵션에 RSI 시리즈와 y축을 추가하면 됩니다.
차트에 RSI를 추가하는 구체적인 예제와 함수는 위 내용을 참고해 구현하시면 됩니다
딸칵!!

10분도 안되어서 추가했네요.
코스피 2880을 축하합니다.

이런 것도 추가해보고..

딸칵!!
