본문 바로가기
투자/퍼플트레이딩

새로운 지표 개발하기 7 : 누적변동률 지표 생성

by 주식하는 개발자 퍼플 2023. 11. 24.

누적변동률 지표 생성
누적변동률 지표 생성

 

 

목차

     

    안녕하세요?

    주식하는 개발자, 퍼플입니다.

     

    1. 공유하기

    공유하기

     

    누적 수익률(Cumulative Return)은 투자 시작점 이후부터 특정 시점까지의 총 수익률을 나타내는 지표입니다. 이는 투자의 성과를 평가하는 데 중요한 지표로 사용되며, 특히 장기 투자의 성과를 파악하기 위해 사용됩니다.

     

    누적 수익률을 계산하는 이유는, 개별적인 수익률을 단순히 더하는 것이 아니라 시간에 따른 수익률의 변동을 고려하기 위함입니다. 이를 통해 투자의 전체적인 효과를 더 정확하게 파악할 수 있습니다.

     

    누적 수익률은 시장의 전반적인 흐름을 파악하는 데에도 유용합니다. 예를 들어, 누적 수익률이 상승하고 있는 경우, 시장이 상승 추세에 있음을 나타내며, 반대로 누적 수익률이 하락하고 있는 경우, 시장이 하락 추세에 있음을 나타냅니다.

     

    오늘은 누적 수익률 개념을 적용한 누적 변동률 지표를 생성하고 어떻게 활용해야 하는지 알려드리도록 하겠습니다.

     

    2. 누적 수익률이란?

     

    누적 수익률이란?

     

    누적 수익률이란 말 그대로 특정 기간 동안 누적된 수익률을 의미합니다. 즉, 우리가 투자를 시작한 시점을 기준으로 얼마나 수익이 쌓였는지를 나타내는 지표라고 생각하면 됩니다.

     

    예를 들어, 1년 동안 매달 수익률이 그림과 같았다고 가정해봅시다. 1월: 5%, 2월: -3%, 3월: 10%, 4월: -5%, 5월: 7%, 6월: -2%, 7월: 8%, 8월: -4%, 9월: 6%, 10월: -1%, 11월: 9%, 12월: -3%.\

     

    이 때, 각 달의 수익률을 모두 합치면 누적 수익률이 아니라 단순히 각 달의 수익률을 합친 것이 됩니다. 그러나 우리가 원하는 것은 누적된 수익률, 즉 투자 초기에 비해 얼마나 증가했는지를 알고 싶은 것입니다.

     

    따라서 누적 수익률을 계산할 때는 그림과 같이 각 달의 수익률을 '곱'해야 합니다. 즉, (1+1월 수익률) * (1+2월 수익률) * (1+3월 수익률) * ... * (1+12월 수익률) - 1을 계산하는 것입니다. 이렇게 계산하면 특정 기간 동안 얼마나 원금이 증가했는지를 볼 수 있으며, 이것이 바로 누적 수익률입니다.

     

     

    3. 누적 변동률 지표의 생성

     

    1). 지표조건설정

    지표조건설정

     

    지표를 생성하기전에 조건을 먼저 정의합니다. 오늘은 조건이 하나입니다. period 조건은 개별 변동률의 합계를 구하는 기간을 나타냅니다.

     

    2). 수식 1

    수식 1

     

    pr = ( C / C(1) - 1 );
    expr = sum ( log ( 1 + pr ), period );
    cr = pow( 2.718 , expr ) - 1;
    
    //2.718⇒ 자연상수

     

    다음은 수식입니다.  pr = ( C / C(1) - 1 ); pr은 전일대비 주가변동률을 의미합니다. 이 부분은 개별적인 변동률을 계산하는 식입니다. 'C'는 종가이며, 'C(1)'은 이전 종가를 나타냅니다. 이를 통해 가격의 변동률을 계산합니다.

     

    expr = sum ( log ( 1 + pr ), period ); expr은 각 시점의 수익률에 1을 더한 값에 로그를 취한 후, 그 결과들중 특정기간(period) 동안의 값을 모두 더하는 과정입니다. 이 과정을 통해 시간이 지남에 따른 수익률의 변동을 반영합니다. log(1 + pr)은 자연로그 함수를 이용한 변동률의 변환을 나타냅니다.

     

    여기서 pr은 개별적인 변동률을 의미하며, 이 변동률에 1을 더한 값에 로그를 취합니다. 이렇게 하면 변동률이 음수일 때도 계산이 가능하며, 변동률의 스케일을 조정하여 더 큰 변동률을 가지는 값들의 영향력을 줄일 수 있습니다.

     

    또한, 이 변환은 복리 효과를 고려하는 데 도움이 됩니다. 로그를 취하면, 변동률의 덧셈이 원래의 곱셈 연산에 해당하게 되므로, 이는 시간에 따라 변동률이 복리로 쌓이는 것을 반영하고 있는 것입니다. 따라서, log(1 + pr)는 변동률의 변동성을 관리하고 복리 효과를 반영하는 데 사용되는 수학적인 변환입니다. 이 변환을 통해, 시간에 따른 가격 변동의 누적 효과를 더 정확하게 측정하고 분석할 수 있습니다.

     

    cr = pow(2.718, expr) - 1; pow 함수는 특정 숫자를 다른 숫자의 거듭제곱으로 계산하는 함수입니다. 이 함수는 일반적으로 프로그래밍 언어에서 제공되며, 주로 두 개의 인자를 받습니다. pow(x, y)라고 하면, x는 베이스(base)를, y는 지수(exponent)를 나타냅니다. 따라서 pow(x, y)는 "x의 y제곱"을 계산합니다. 예를 들어, pow(2, 3)는 2의 3제곱을 계산하므로 결과값은 8이 됩니다. 

     

    위에서 언급한 누적변동률 계산에서 pow(2.718, expr)는 자연상수 e(약 2.718)를 expr만큼 거듭제곱하는 것을 의미합니다. 이 부분은 변동률의 변동을 누적하여 계산하는 과정에서 지수함수를 사용하는 것을 나타냅니다. 이를 통해 복리 효과를 반영하고, 시간에 따른 가격 변동의 누적 효과를 계산합니다.

     

    자연상수(e)는 수학과 물리학에서 광범위하게 사용되는 중요한 상수로, 그 값은 약 2.71828입니다. 이 값은 무리수로, 소수점 아래의 숫자가 무한히 반복되며 규칙적이지 않습니다. 자연상수는 복리 이자, 지수 함수, 로그 함수, 확률, 통계 등 다양한 분야에서 사용됩니다. 특히, 복리 이자 계산에서는 자연상수가 굉장히 중요한 역할을 합니다. 복리 이자는 이자가 계속해서 더해지는 것을 의미하며, 이 때 이자율이 매우 작고, 이자가 매우 자주 더해질 때 이자의 총합은 자연상수 'e'에 가까워집니다.

     

    3). 라인 설정

    라인 설정

    계속해서 라인설정입니다.

    색상은 검정색, 과열은 붉은 계통의 색, 침체는 파란 계통의 색으로 지정하고 기준값은 모두 0입니다.

     

    4). 기준선 설정

    기준선 설정

    기준값이 0이므로 기준선은 0으로 설정합니다.

     

     

    4. 누적 변동률 지표의 완성

    누적 변동률 지표의 완성

     

    지표가 완성되었습니다. 일반적으로 주가가 상승하면 누적 변동률도 상승하고, 주가가 하락하면 누적 변동률도 하락하는 것이 기본적인 움직임입니다.

     

    또한, 지표의 값이 0보다 큰지 작은지, 지표의 값이 상승하고 있는지 하락하고 있는지 등을 살펴서 분석할 수 있습니다. 이러한 분석은 일반적인 지표의 분석과 동일합니다.

     

    하지만, 주가는 상승하는데 지표가 하락하면서 주가의 상승을 반박하거나, 주가는 하락하는데 지표가 상승하면서 주가의 하락을 반박하는 상황에 집중해야 합니다. 대부분의 변곡점은 이러한 상황에서 나옵니다.

     

    우리는 이러한 패턴을 확증과 미확증을 포함하는 다이버전스라는 개념과 연계해서 생각할 수 있습니다. 완성된 차트에서 다이버전스 구간을 살펴보시기 바랍니다. 감이 오시나요?

     

    기능 제한 없이 완전 무료 공개합니다.✨

     

    퍼플의 프리모 : 균형복원 트레이딩 시스템 - 공개 다운로드

    안녕하세요? 주식하는 개발자 퍼플입니다. 균형복원 트레이딩 시스템 퍼플의 프리모 다운로드 및 커뮤니티를 안내해드립니다. 1. 균형복원 트레이딩 시스템 - 퍼플의 프리모 📈.키움증권 계좌

    joannesoft.tistory.com

    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오툭 공유하기
    • 네이버 블로그 공유하기
    • 네이버 밴드에 공유하기

    댓글