안녕하세요. 인텔리퀀트의 마케터, Devin입니다.
오늘은 많은 분들이 관심을 가져 주셨던 국민연금 추종 전략의 2024년도 성과를 iQ 스튜디오의 백테스트 기능을 활용해 분석해 보았습니다.
국민연금 추종 ETF의 인기
구글 서치 콘솔(Google Search Console)는 사용자가 인텔리퀀트 웹페이지를 어떤 키워드로 접속했는지 알려주는 기능을 제공합니다.
Top3 키워드 중 ‘인텔리퀀트’ 와 ‘퀀트 전략 종류’는 예상 가능한 키워드였는데요. 하지만 ‘국민연금 추종 ETF’는 인텔리퀀트 팀이 예상하지 못한 반전의 키워드였습니다. 아마도 해당 키워드를 검색하신 분들은 2020년 올라온 ‘소센세’님의 포스팅을 읽어보셨을 텐데요.
한국국민연금 추종 포트폴리오 by 소센세
포스팅 내용은 홍춘욱 이코노미스트의 책 <디플레 전략>에서 나온 전략을 바탕으로 국민연금 추종 포트폴리오를 구성하여 백테스트 성과를 확인한다는 것이었습니다. 포트폴리오 비중은 다음과 같았는데요.
2018~2020 기간 백테스트 결과, 수익률은 16.62%, 연평균 수익률은 8.11%, 샤프 비율과 최대 손실폭(MDD)는 각각 0.94 / 11.78%로 나왔습니다.
그렇다면 2024년 버전의 국민연금 추종 전략은 어떤 성과를 기록할까요?
인텔리퀀트의 퀀트 매니저, 푸른주전자님이 작성한 스크립트를 바탕으로, iQ 스튜디오에서 백테스트 성과를 측정해 보겠습니다.
2024 ver)국민연금 추종 전략
전략 구성
*비중: 소센세님의 전략과 동일
*백테스트 기간: 2023.01.01~2024.07.01
//***********************************************************************
// 포트폴리오 주식 비중, 수량 결정
//***********************************************************************
var kstock_port;
var ostock_port;
var kbond_port;
var obond_port;
var other_port;
var money_port;
var kstock_weight = 0.19 * 0.95;
var ostock_weight = 0.138 * 0.95;
var kbond_weight = 0.52 * 0.95;
var obond_weight = 0.042 * 0.95;
var other_weight = 0.105 * 0.95;
var money_weight = 0.005 * 0.95;
var stock_num = 1; // 주식 종목 갯수
//***********************************************************************
// 계좌, 바스켓 설정
//***********************************************************************
function initialize() {
logger.debug('init..');
IQEnvironment.stockCommission = 0.0015; // commission for stocks 0.0015
IQEnvironment.etfCommission = 0.0015; // commission for ETFs 0.0015
IQEnvironment.stockTax = 0.003; // trade tax for stocks
// IQAccount.getDefaultAccount()는 알고리즘이름으로 디폴트 계좌를 가지고 옴
kstock_port = new Basket(IQAccount.getDefaultAccount(), stock_num, IQEnvironment.aum * kstock_weight);
ostock_port = new Basket(IQAccount.getDefaultAccount(), stock_num, IQEnvironment.aum * ostock_weight);
kbond_port = new Basket(IQAccount.getDefaultAccount(), stock_num, IQEnvironment.aum * kbond_weight);
obond_port = new Basket(IQAccount.getDefaultAccount(), stock_num, IQEnvironment.aum * obond_weight);
other_port = new Basket(IQAccount.getDefaultAccount(), stock_num, IQEnvironment.aum * other_weight);
money_port = new Basket(IQAccount.getDefaultAccount(), stock_num, IQEnvironment.aum * money_weight);
kstock_port.setPortfolioBuilder(kstockPortfolioBuilder);
ostock_port.setPortfolioBuilder(ostockPortfolioBuilder);
kbond_port.setPortfolioBuilder(kbondPortfolioBuilder);
obond_port.setPortfolioBuilder(obondPortfolioBuilder);
other_port.setPortfolioBuilder(otherPortfolioBuilder);
money_port.setPortfolioBuilder(moneyPortfolioBuilder);
// 리밸런싱 주기를 설정 : 매월 1일
IQDate.addRebalSchedule(IQDate.setMonthlyStart(1));
}
function kstockPortfolioBuilder(targetSize) {
// tiger 200
var ETF = IQStock.getStock("A102110");
var portfolio = [];
portfolio.push(ETF);
return portfolio;
}
function ostockPortfolioBuilder(targetSize) {
// kodex 선진국MSCI World
var ETF = IQStock.getStock("A251350");
var portfolio = [];
portfolio.push(ETF);
return portfolio;
}
function kbondPortfolioBuilder(targetSize) {
// kosef 국고채10년
var ETF = IQStock.getStock("A148070");
var portfolio = [];
portfolio.push(ETF);
return portfolio;
}
function obondPortfolioBuilder(targetSize) {
// tiger 미국고채10년선물
var ETF = IQStock.getStock("A305080");
var portfolio = [];
portfolio.push(ETF);
return portfolio;
}
function otherPortfolioBuilder(targetSize) {
// kodex 골드선물
var ETF = IQStock.getStock("A132030");
var portfolio = [];
portfolio.push(ETF);
return portfolio;
}
function moneyPortfolioBuilder(targetSize) {
// kodex 단기채권
var ETF = IQStock.getStock("A153130");
var portfolio = [];
portfolio.push(ETF);
return portfolio;
}
//***********************************************************************
// 리밸런싱
//***********************************************************************
var isFirst = true; // 첫날 포트폴리오 생성 판단을 위한 변수
function onDayClose(now) {
// initialize에서 설정한 리밸런싱 주기 체크
if (IQDate.isRebalancingDay(now) || isFirst === true) {
var totalEquity = IQAccount.totalEquity();
kstock_port.setBudget(totalEquity * kstock_weight);
kstock_port.buildPortfolio();
ostock_port.setBudget(totalEquity * ostock_weight);
ostock_port.buildPortfolio();
kbond_port.setBudget(totalEquity * kbond_weight);
kbond_port.buildPortfolio();
obond_port.setBudget(totalEquity * obond_weight);
obond_port.buildPortfolio();
other_port.setBudget(totalEquity * other_weight);
other_port.buildPortfolio();
money_port.setBudget(totalEquity * money_weight);
money_port.buildPortfolio();
isFirst = false;
}
}
//***********************************************************************
// 전략 종료 직전에 호출
// iQ Live 연동을 위한 필수 설정
//***********************************************************************
function onComplete() {
// 투자 계획 수립에서 설정한
// Basket 객체와 비중 설정
IQLive.addPortfolio(kstock_port, kstock_weight);
IQLive.addPortfolio(ostock_port, ostock_weight);
IQLive.addPortfolio(kbond_port, kbond_weight);
IQLive.addPortfolio(obond_port, obond_weight);
IQLive.addPortfolio(other_port, other_weight);
IQLive.addPortfolio(money_port, money_weight);
}
백테스트 결과
*백테스트 기간: 2023.01.01~2024.07.01
2018~2020 기간 백테스트와 비교해 보았을 때 수익률/연평균 수익률/샤프비율/최대손실폭(MDD) 모두 개선된 것을 확인할 수 있습니다.
단순한 정적자산배분 전략으로 기록한 성과라는 점을 감안하면 나쁘지 않은데요. 하지만 실전투자용으로 운용하기엔 2% 아쉬운 전략이긴 합니다.
다른 전략과 비교해보면 어떨까요? iQ마켓의 대표 자산배분 전략인 iQon 하이브리드 동적자산배분 및 퀀린이 투자 첫걸음전략과 비교해 보겠습니다.
전략비교: 특징
1.국민연금 추종 전략: 대표적인 정적자산배분 전략
2.iQon 하이브리드 동적자산배분: 정적자산배분 전략에 비해 유연하게 시장 대처가 가능
3.퀀린이 투자 첫걸음: 정적자산배분 전략 + 주식 투자 비중이 높은 편으로 좀 더 하이 리스크 하이 리턴 형태
전략비교: 백테스트 결과
국민연금 추종 전략
iQon 하이브리드 동적자산배분
퀀린이 투자 첫걸음
전락비교: 성과 분석
국민연금 추종 전략은 안정추구형답게 수익률이 안정적 우상향을 보여주고 있습니다. 최대 손실폭이 4.89% 로 낮으며, 샤프지수가 1.60으로 상당히 높은 편이네요.
iQon 하이브리드 동적자산배분 전략은 국민연금 추종 전략보다 연환산 표준편차나 최대 손실폭(MDD)이 낮아 더 안정적임에도 비슷한 수익률을 기록했습니다. 뿐만 아니라 국민연금 추종 전략 같은 정적 자산배분 전략에 비해 시장 상황에 더 유연하게 대처할 수 있는 장점도 있는데요. 그래프 상에서도 2022년 하락장에서 국민연금 추종 전략보다 적은 최대 손실폭(MDD)을 기록한 것을 확인할 수 있습니다.
iQ market에서 초보 퀀트 투자자를 위해 출시한 퀀린이 투자 첫걸음 은 국민연금 추종 전략과 같은 정적 자산배분 전략이긴 하지만, 자산 포트폴리오에서 주식 비중을 좀 더 높게 가져가기 때문에 연환산 표준 편차나 최대 손실폭(MDD)이 다소 높게 나왔네요. 하지만 그만큼 수익률과 샤프지수 역시 더 높은 성과를 기록했습니다.
결론
국민연금 추종 퀀트 전략은 안정성을 추구하는 투자자에게 매력적인 선택입니다. 다만 국민연금이 운용하는 세부 종목 비중까지 100% 따라하기 어렵고, 초 장기적 관점과 매머드급 자금력으로 운용되는 국민연금의 특성을 고려한다면 일반 투자자의 관점/자금과 다소 맞지 않는 부분이 있을 수 있습니다.
투자를 시작할 때 우리는 많은 요소를 고려해야 합니다. 투자 수익률,안정성,세금,수수료,환율,시장 리스크 등 끊임없는 리서치와 고민이 뒷받침되어야 현명한 투자를 이어나갈 수 있는데요.
장기적 관점의 투자를 고려한다면, 저는 무엇보다도 ‘지속 가능성’이 중요하다고 말씀 드리고 싶습니다. 투자는 고통스럽습니다. 예측을 할 수 없음에도 내 방법이 옳다는 신념을 잃지 않아야 하기 때문입니다. ‘누가 00 종목을 사서 대박이 났다더라!’와 같은 소식에 혹하기 전에 나의 투자 목표는 어디인지, 손실은 어디까지 감내할 수 있을지를 고민하는 과정이 반드시 필요합니다.
오늘은 국민연금 추종 퀀트 전략의 2024년 백테스트 성과를 확인해 보면서, 인텔리퀀트의 iQ 마켓에서 확인할 수 있는 두 가지 자산배분 전략과 성과를 비교해 보았습니다. 이 밖에도 iQ마켓에는 다양한 유형과 특성을 가진 퀀트 전략들이 많이 있으니, 여러분의 투자 철학을 완성하셨다면, 아래 링크를 눌러 ‘나만을 위한 퀀트 투자’를 시작해 보세요!