조던 김장섭 마삼룰 세계1등주식 투자법 백테스팅 수익률

지난번에 미국주식 연도별 시가총액 포스팅을 하면서,

시간이 나면 조던 김장섭 씨의 마삼룰도 백테스팅을 해봐야지 하고 마음먹었었다.

 

☑️ 미국주식 시가총액 TOP 20 순위변화 (1995-2022)

 

음... 사실 말도 많고 탈도 많은 조던 김장섭씨인데,, 간략히 소개하자면

코로나 시기에 대중의 주식참여가 늘어나면서

특히 미국주식에 대한 관심이 높아지면서 인지도를 올린 인물이기도 하다.

(이런 사람들이 등장하면서 미국주식 관심을 높이는데 기여한 부분도 있다)

 

     

    나스닥 -3%가 뜨면 공황으로 정의하고 팔아야 한다는 소위 마삼룰 매뉴얼을 제창하고

    아무것도 모르는 사람도 따라할 수 있는 세계1등주식 투자법을 제시하여 큰 인기를 끌었다.

     

    누구를 따라해야 하나 우왕좌왕하던 주린이들은 조던 김장섭의 다음카페 게시판에 모이게 되었고

     

    여기에서 얻은 인지도를 바탕으로 유튜브 유료구독과 (월 12만원) 온라인 강의 (56만원), 책 (내일의 부, 부의 체인저 : 한번에 꼭 1,2편 두권씩 출간) 등을 팔아 많은 수입을 올리는

    겉보기에는 전형적인 주식 버블기에 앞다투어 등장하는 투자 크리에이터 책팔이의 모습으로 오해할 수도 있겠다.

     

    뭐 조던 김장섭이 실제로 책팔이이던 어떻게 영업을 해서 돈을 벌던 알 바 아니고 (그렇다 해도 그 기술을 배우는 자세를 가져야 한다)

    개인적인 어떤 평가나 존경도 딱히 없이 순전히 호기심으로

    그저 그의 이론 중 핵심인 마삼룰+세계1등주식 투자 매뉴얼에 대한 효과를 검증해보고자 한다.

     

    왜냐면 조던 김장섭의 책 내일의 부를 읽으면서 한가지 안타까웠던 것이

    백테스트 결과를 실어놨는데 위키에서 분기별 시총1위 기업 정보를 긁어오는

    전문가라고 하기에는 상당히 빈약한,

    일반인이 대충 웹서핑해서 구한 이빨빠진 데이터로 엑셀 깨작깨작 돌려서 백테스팅한 느낌을 받았기 때문이다.

     

    마삼룰은 나스닥 일간 데이터를 사용하면서 시가총액은 분기별 데이터를 사용한다?

    데이터를 이거밖에 못구했기 때문에?

    아니 유료 데이터를 돈주고 사던 어떻게든 구해서 했어야하는거 아닌가 싶다.

     

     

    조던룰 마삼룰 규칙

     

     

    먼저 논란의 중심인 조던 김장섭의 마삼룰에 대해 간략히 소개한다.

     

     

    오랜 조사와 분석결과 세계 1등 주식을 23년간 가지고 있었을 때 158배가 되었다.

     

     

    조던 김장섭의 마삼룰

     

    나스닥 지수가 -3% 이상의 하락이 한 번 떴다면 전량매도 현금보유

    ▷ 한달동안 기다려서 더이상 -3%가 뜨지 않는다면 다시 매수

     

    나스닥 지수의 -3% 이상의 하락이 한달에 네 번 떴을때 공황으로 정의한다.

    ▷ 이 때는 마지막 마삼 뜬 날로부터 2개월 기다리면서 더 이상 마삼이 안뜨면 매수

     

    그럼 뭘 사고 파느냐 : 세계 1등주식 투자법

     

    ▷ 미국 시가총액 1등주식을 매수한다.

     

    ▷ 시가총액 2등 주식이 상승해서 1등을 제치면 1등주식을 반을 매도하고 2등 주식을 산다.

    1등 주식 : 2등 주식 = 50 : 50

     

    ▷ 그러다 시가총액 2등 주식이 1등에 비해 10% 이하로 떨어지게 차이나면

    2등 주식을 팔고 1등주식만 전량매수해서 가지고 간다.

     

     

    냅다 책을 써낸 후 여러가지 문제가 드러나고 지적을 받으면서

    그러한 부분들을 하나하나 추가해서 매뉴얼이 점점 과체적화의 극을 달리는 모양이지만

    여기까지가 내일의 부 출간당시 조던룰 오리지널 버전이니 일단 먼저 이거라도 백테스팅을 해보자.

     

     

    시가총액 데이터

     

    먼저 과거 시가총액 데이터가 있어야 뭘 해보던지 할텐데 이를 구하는 것이 생각보다 어려웠다.

    찾아보다가 위키에 정리된거 가져와서 백테스팅했을 조던 김장섭씨의 심정도 이해는 간다.

     

    잘 정리된 과거 데이터가 있어야 뭐라도 테스트를 해볼텐데

    평소에 주식투자 관련해서 여러가지 데이터를 모으고 분석하는걸 해오던 사람이 아니라면

    어떤 사이트에서 어떻게 찾아야 하는지부터 막막하다 이게

     

    그래도 구글링 좀 해보다보니

     

     

    General Electric (GE) - Market capitalization

    As of August 2022 General Electric has a market cap of $87.51 Billion. This makes General Electric the world's 148th most valuable company according to our data.

    companiesmarketcap.com

    2001년부터 월별 시가총액 그래프를 제공하는 사이트도 있고

     

     

     

    General Electric Market Cap

    Market Capitalization measures the total value of a company based on their stock price multiplied by the shares outstanding. This metric is important because it gives you an idea of the size of a company, and how the size has changed over time. When studyi

    ycharts.com

    일별 시가총액 데이터가 제공되는 사이트도 있었다.

     

     

    내가 잠깐 구글링해도 이정도까지는 나오던데...

    (엑셀 다운로드를 제공하지 않아서 이걸 20년치를 일일이 보면서 타이핑해야하는 노가다가 필요하지만,

    만약 내가 역사에 남을 투자매뉴얼을 발명해서 책을 집필할 생각이라면 그런 수고는 기꺼이 감수했을 것 같다.

     

    여기까지는 일반인이 구글 검색창에 historical market cap 같은걸 쳐보면서 이리저리 찾아보는 수준의 이야기이고...

     

     

     

    조던의 1등주(-3%) 전략 백테스트 (2) - 시가총액 데이터 크롤링하기

    1부에 이어서... https://blog.naver.com/tamiel/221834528114 ycharts.com 시가총액 데이터 크롤링하기 파...

    blog.naver.com

    여기 쩐군이라는 분이 블로그에 파이썬으로 조던룰 백테스트 하면서 크롤링한 시가총액 데이터를 공유해두셨다.

    1990년부터 2020년 2월까지 일별 시가총액 데이터를 엑셀에 담아놓고 파일까지 받을수 있게 해놓아서

    많은 수고로운 과정을 제끼고 이걸 다운로드 해서 작업을 시작했다.

     

     

     

    다만 쩐군님의 크롤링 파일에는 애플같은 경우 데이터가 계속 0이다가

    1997년 2월경부터 시가총액 데이터가 등장하는데

    실제로 애플의 historical price 데이터를 조회해보면 1980년부터 나온다.

    상장일이 1979년 이었으니...

     

    이부분이 약간 맞지않는게 있어서 이 데이터가 과연 시가총액이 제대로 되어있는지 살짝 검토도 해보았다.

     

    예를 들어 2010년 1분기말에 애플(AAPL), 엑손모빌(XOM), 마이크로스포트(MSFT) 시가총액을 보면 209B, 314B, 260B로 일전에 연도별 미국주식 시가총액 순위 포스팅했을때의 데이터와 유사하다.

     

    초반부의 데이터가 누락인 것이지 나중 데이터에 오류가 있는것은 아니라고 판단이 되고 이 데이터를 갈무리해서 작업하기로 결정했다.

     

     

    1등 or 1등+2등 보유

     

    일단 주식을 들고있는 시점에서는

    1등주식만 보유할지 1등 2등을 같이 보유할지에 대한 시그널도 만들어야 한다.

     

    내가 엑셀을 잘하는 것도 아니어서 매크로 같은걸로 뚝딱 할 실력도 없고

    정말 기초적인 함수 수식들만 가져다가 약간의 센스를 발휘해서 어떻게든 원하는 결과를 만드는 식이다.

     

    예를 들면 어떤 특정일에 1등주식과 2등주식이 무엇인지 추출하는 식은 

    위처럼 large 함수로 시총 순위값을 찾은 다음에 그 줄 맨밑에 티커를 한번 더 써놓고 그부분을 가져오도록 꼼수를 부렸다.

    어떤 값을 찾았을 때 그 줄 맨 위의 값을 불러와라 이런게 안되서 어쩔 수 없이 맨 밑에를 불러오도록 만든거

    총 7600줄이라 7601-줄번호 만큼에 있는 값을 가져오도록 해서 항상 동일하게 마지막 값이 읽히도록 했다.

     

    아무튼 이렇게 각 날짜별 시가총액 1위, 2위 티커를 불러오고

    그 때 1위값과 2위값의 차이가 10%가 넘으면 1등주식만 보유, 10% 이내이면 2등주식만 보유로 시그널을 만들었다.

     

    책을 다시 읽어보면 

    1등주식 들고가다가 2등이 치고와서 역전이 되면 반반씩 보유하고

    그러다 10% 차이가 벌어지면 2등 털고 1등만 보유하라는 것인데

     

    이부분은 약간 자세히 안봐서

    역전 유무에 상관없이 그냥 1,2등 차이 10% 이내면 둘다보유, 10% 넘게 차이나면 1등만 보유로 계산했다.

    (최초 1등 2등 역전되는 시점을 기준으로 이렇게 판단한다.. 라고 하면 훨씬 더 복잡해질거 같긴 하다;;)

     

     

    시가총액 데이터에서 1등한 날짜수, 2등한 날짜수를 집계해보면 이런 식인데

    5일 3일 1일 이런애들은 그냥 없애버렸다. 

    큰 의미없이 사팔사팔 횟수만 늘어날테니...

     

    그리고 밑에 마삼룰 매수매도 신호 만든후에 

    주식보유가 아닌 현금보유 기간에 1등을 하던 2등을 하던 어차피 의미없으므로

    그 그간만 순위에 올라온 녀석들도 없애버렸고

     

    그렇게 최대한 쳐내니 결국 남는 기업들은

     

    이렇게 딱 8개였다.

    며칠 정도의 삼일천하 들을 제하고 나니

    1990년부터 현재까지 시가총액 1위, 2위에 등극한 기업이 단 8개로 추려진 것이다.

     

     

    마삼룰 매수매도 시그널

     

    1등을 보유할지 1등+2등을 보유할지 정했다면

    이제는 매수를 해서 보유하고 있을지 매도를 해서 현금들고 있을지에 대한 마삼룰 시그널을 만들어야 한다.

     

     

    종가 기준으로 변동률 -3% 아래가 되면 마삼으로 표시를 한다.

     

    그리고 시그널의 기준이 될

    ① 한달내에 마삼이 몇 번 있었는지와

    ② 마지막 마삼일에서 경과한 거래일 수도 만들었다.

     

    대충 1년에 52주*5거래일=260거래일에서 휴장일 10일 정도를  빼고 250 거래일이라고 치고

    한달평균 거래일은 21일 정도로 계산된다.

    한달 내에 마삼이 몇 번 떳는가는 ▷ 최근 21거래일 내에 마삼이 몇 번 떳는가

    마지막 마삼에서의 경과일은 ▷ 마삼이 뜨면 0으로 리셋하고 그때부터 날짜를 세는 식으로 넣었다.

     

     

    일단 같은 기간동안의 나스닥 일별데이터를 추가하고 (인베스팅 닷컴에서 다운로드)

    마삼이 뜨면 매도를 하도록 수식을 넣었다.

    매도 시그널을 처음에 이렇게 했다가 사실 매도 시그널은 별도로 필요가 없고 마삼이 뜨면 무조건 현금화이니

     

    상태 부분에 마삼이 뜨면 현금으로 전환,

    매수 시그널이 뜨면 보유,

    그리고 아무것도 없을 경우는 전날과 동일한 상태 유지로 만들었다.

     

     

    중요한건 매수 시그널인데 과연 언제 주식을 다시 사느냐

    마지막 마삼 경과일에서 한달, 즉 21거래일 이후 다시 사도록 했고

    조던룰에 따른 공황 정의 = 한달(21거래일) 안에 마삼이 4회이상 떴을 경우에는

    마지막 마삼 경과일에서 두달을 기다리라고 했으니 21거래일이 아니라 42거래일이 되면 매수하도록 하였다.

     

    그런데 마삼이 21거래일 안에 집중적으로 4번 떳다가 이후 쭉 안뜨면서 42거래일 동안 평화로웠던 경우는 역사적으로 최근에 단 한번뿐이고

    대부분은 집중적으로 4번떠서 조던식 정의의 공황상태가 된 후에도

    마삼이 띄엄띄엄 뜨면서 서서히 안정화되기 때문에

    나머지 모든 경우에는 <직전 21거래일 내에 마삼이 4번이상 뜨지 않은, 공황이 아닌 상태에서> 최종 마삼 발생일로부터 21거래일 이후 재매수하는 결과가 나왔다.

     

    이렇게 매수 매도 시그널에 의해 오늘의 상태 부분까지 해놓았다면 그 다음은 쉽다.

    전날 보유 (종가기준 매수) 라면 오늘의 변동폭만큼 전날의 자산에 곱해주면 된다.

    이때 앞에서 작성한 1등/2등 보유 시그널을 같이 활용한다.

     

    보유일 경우에 한해

    1등 주식만 가져가는 경우는 1등 주식의 전날대비 오늘 종가기준 변동폭을 곱해주고

    2등 주식 같이 50:50 가져가는 경우는 전날대비 오늘 종가기준 변동폭을 1등,2등 주식의 평균값으로 곱해준다.

     

    이렇게 해서 쭉 긁으면 최초 시작일로부터의 누적 수익률이 계산되게 된다.

     

     

    세금계산

     

    백테스팅 기간인 1990년부터 2022년까지 거의 50여차례의 매수/매도가 이루어졌는데

    매매 비용은 제외하고라도 세금은 계산해야 현실성이 있을 것 같아서 추가해보았다.

     

    매도시 익절인 경우 해외투자수익에 대한 양도소득세율 22%가 반영되도록 계산식을 추가했다.

     

    매도 시그널이 뜬 경우, 직전 매수시그널 떠서 매수한 날짜의 가격과 매도시점의 가격을 비교하고

    그 이득분이 0보다 큰 경우 22%의 세금을 부과했다.

     

     

    그리고 그것을 원래 작성해놓은 수익률 계산 공식에 매도가 떴을 경우 차감하도록 하였다.

     

    내용이 길어져서 룰을 다시 간단히 정리하면

     

    - 종가기준 마삼이 뜨는날 당일 매도한다고 가정하고 상태가 현금으로 바뀜

    - 21거래일간 마삼이 4회 미만인 경우는 최종 마삼으로부터 21거래일 지나면 매수

    - 21거래일간 마삼이 4회 이상인 경우는 최종 마삼으로부터 42거래일 지나서 매수

      (역사적으로 1회만 발생)

    - 매수/매도의 행위는 종가로 이루어 졌으므로

      전날기준 보유 상태였으면 오늘은 보유주식이 가격변동 적용받았을 테니 오늘의 변동폭을 곱함

    - 시가총액 1등, 2등 차이가 10% 이내이면 50:50 보유, 10% 넘어가면 1등 주식만 보유

    - 전날기준 현금 상태였으면 오늘은 전날과 동일한 자산가치 유지

     

     

    백테스팅 결과

     

    과정이 매우 길었던 관계로

    바로 결론부터 얘기하도록 하겠음

     

    1990년 연초에 나스닥 인덱스에 몰빵하고 가만히 있었다면

    2022년 8월 19일 현재기준으로 2766% 즉 28배 정도가 된다.

    수익률은 2666%

     

    나스닥 지수에 마삼룰을 적용해서 사팔사팔 했을 경우는 2192%로 떨어진다.

    그냥 아무짓 안하고 가만있는게 나았었다는 얘기

     

    그렇다면 세계 1등 주식 투자법을 적용하면 결과는 920%로 벤치마크 지수에 비해 훨씬 낮은 결과를 보였다.

     

    문제는 세금을 고려한 경우이다.

    보통 다음해에 납부기간에 내고 그러는데 복잡하니 일단 매도시점에 낸다고 가정하고 하자 복리효과는 떨어지겠지만

    사팔사팔을 50여회가량 진행하기 때문에 익절할 때마다 이득분이 있는경우 22%를 징수당한다고 치면

    조던룰에 세금을 고려하면 총 누적수익률이 290% 밖에 안된다.

    연평균 수익률로 환산을 해서 보면 연 2% 수준으로, 은행 예금 넣어놓는 것보다 훨씬 못한 결과가 된다.

    (1990년대 이자율 ㅎㄷㄷ)

     

    고점이었던 2021년 연말 기준으로 계산을 해봐도 표와 마찬가지로 성과들이 안좋다.

    (나스닥 인덱스 자체가 고점이어서 가장 잘나가고 있었을 테니)

     

     

    아래는 각 연도별 수익률이다.

    각 연도별로 연초 첫 거래일의 자산가치 대비 연말 마지막 거래일 기준으로 변동폭을 정리하였다.

     

    이것을 보면 변동폭은 나스닥 지수가 커보이는데 뭔가 상승장에 못먹고 마이너스나고 지지부진한 모습이다.

    하락이 크더라도 그 후에 세게 올 반등을 잘 먹어야 장기적인 복리 누적수익률에는 유리하다는 것이 다시한번 증명된다.

     

    물론 마삼 집중발생 구간같이 현금보유하는게 나은 영역은 피할 수 있다면 피하는게 당연히 복리효과는 압도적으로 좋아진다.

    하지만 어떤 룰을 만들어놓고 시그널에 따라 사팔사팔을 할 경우 하락만 맞추고 상승은 먹는 식은 어렵다는 것이다.

    하락추세가 느껴질때 헷지를 하거나 현금화하고, 반등장 상승장의 기운은 최대한 받는 알고리즘도 가능은 하겠지만

    최소한 그것이 이 조던룰은 아닌 듯 하다.

     

     

    마지막으로 이번 백테스팅에서 검증한 

    ① 나스닥인덱스

    ② 나스닥지수+마삼룰

    ③ 세계1등주식투자법+마삼룰

    ④ 세계1등주식투자법+마삼룰+세금고려

    4가지 경우에 대해 각각의 연도별로 투자를 시작했을 경우 투자기간 경과에 따른 수익률은 어떻게 되는지도 살펴보았다.

     

    🔺 나스닥 지수를 각 연도별 연초(가로축)에 투자했을 경우 각 연도별 연말기준(세로축) 누적수익률

     

    🔺 나스닥 지수에 마삼룰 적용하여 각 연도별 연초(가로축)에 투자했을 경우 각 연도별 연말기준(세로축) 누적수익률

     

    🔺 조던룰 세계1등 주식 투자법으로 마삼룰에 따라 각 연도별 연초(가로축)에 투자했을 경우 각 연도별 연말기준(세로축) 누적수익률

     

    🔺 조던룰에 세금을 고려하였을 경우 연도별 연초(가로축)에 투자했을 경우 각 연도별 연말기준(세로축) 누적수익률

     

     

    마치며..

     

    엑셀 가지고 이리저리 수식오류 수정해가면서 이렇게나마 해봤는데...

    파이썬 알고리즘으로 수많은 경우의 수 고려하여 척척 뽑아낸 정도는 아니지만

    그래도 이정도면 최소한 조던 김장섭씨가

     

     

    2006년 이전은 연도별 자료만 있어서 위키에 2006년부터 분기별 시총 참조하여 분석

     

     

    라고 써놓은 것보다는 나름 더 많은 데이터를 가지고 꼼꼼하게 해본것이 아닌가 싶다.

     

    다만 조던룰 하면 삼척동자도 알 정도로 너무나도 유명한 것에 비해 생각보다 결과가 안좋아서 다소 놀랐는데

    조던 김장섭씨가 23년간 158배 성과를 확인했다는 그 백테스팅은

    대체 어떻게 하신 것인지 궁금해서 데이터를 직접 보고싶은 생각이 든다.

     

    이런 전문가이신 분이 '천기누설 제갈량 비밀공식' 이라고 자신있게 공개하신 투자비법이 틀릴리가 없는데

    내가 뭘 잘못해서 이렇게밖에 안나온건지 아무래도 실수한게 있는거 같아서...ㅠㅠ

    아무리 찾아봐도 내일의 부 책에는 마삼이 언제언제 떳고 그런것만 표로 실어져 있고

    기준날짜 투자금 대비 종료날짜 누적수익률 계산한 부분이 나와있지 않아서 알 수가 없었다.

     

     

    음... 한가지 떠오르는게 있는데

    내가 엑셀로 하다가 초반에 수식 잘못넣었을 때 누적수익률이 150배가 나왔던 적이 있었는데,

    검토하다보니 전날 종가 기준의 매수매도 시그널이 아니라 당일 기준으로 했을때 그렇게 나왔었다.

    무슨 말이냐면 마삼이 뜨면 일단 그날 마삼은 한번 때려맞고 종가에 팔아야하는데,

    그 전날 팔고 현금 상태인 것처럼 그날 마삼 하락분이 수익률에 반영이 안되는 오류가 있었다는 소리이다.

    즉, 최초 마삼뜨는 것을 전날 미리 예지하고 전날 종가에 팔았을 경우 누적수익률 150배 (....)

     

     

    혹시 그런건...??

    에이 설마 아니겠지

    내가 뭔가 잘못했을 거라고 믿고 더 많이 공부해야겠다.

    댓글