brunch

You can make anything
by writing

C.S.Lewis

by 김형식 Dec 25. 2021

가격 움직임의 패턴을 찾아서

가격 데이터에서 액션과 리액션의 연쇄 관계 포착하기

액션과 리액션


주가는 예측이 아니라 대응의 영역이라는 유명한 주식시장의 격언이 있다. 대응을 리스크 관리로 보고 리스크 관리의 중요성을 말하는 것일 수도 있으나, 필자가 보기에 이 격언은 이를 넘어선 중요한 개념을 이야기 하고 있는 것 같다.


대응 역시 크게 보면 예측의 영역에 포함된다. 장이 급락했을 때 이에 대한 대응으로 주식을 산다면 이는 향후 현재 가격보다는 주가가 오를 것이라는 예측에 가깝다. 그러나, 이러한 대응은 막연한 방향 베팅이 아닌 특정 이벤트(액션)에 대한 향후의 가격 움직임(리액션)에 대한 예측이고, 이러한 예측을 가능하게 하는 많은 패턴들이 시장에 존재하는 것도 사실이다. 필자가 몸담고 있는 크래프트테크놀로지스도 이러한 패턴들을 AI 기술을 통해 캡쳐하는 방법론을 연구하는 회사이다.


가격은 여러가지 원인에 의해 나타나는 결과이기도 하지만, 금융시장의 가장 재미있고 중요한 특성은 가격 움직임(액션) 자체가 이후의 가격움직임(리액션)을 이끌어내는 상당히 중요한 요인으로 작용한다는 점이다. 모든 시장참여자는 스스로의 의사결정으로 가격움직임에 기여하기도 하지만, 가격움직임에 의해 본인의 의사결정에 큰 영향을 받으며, 본인의 가설을 끊임없이 시장가격으로부터 피드백을 받아 테스트하고 수정한다. 이는 주식시장 뿐 아니라 모든 시장에서 공통적으로 나타나는 현상이자, 가장 큰 알파의 원천이다. 소로스의 재귀성 이론 역시 큰 틀에서는 같은 내용이라고 감히 말할 수 있다.


가격 움직임에 의해 후속 가격움직임이 영향을 받는 형태의 패턴은 매우 많이 발견된다. 이러한 패턴은 주로 모멘텀 또는 평균회귀의 형태로 나타나고, AI 자산운용 보고서에서 등장한 전략 C의 경우도, 매일매일 많이 오른 주식들을 오른 비율대로 공매도하고, 가장 많이 떨어진 주식들을 떨어진 비율대로 매수하였을때 상당히 좋은 성과가 나오는 평균회귀 전략이다.


이번 글에서는 좀더 주식시장의 가격 구조에 대한 의미를 들여다볼 수 있는 패턴의 사례를 살펴보려고 한다.



갭 수익률과 장중 수익률의 패턴


대부분의 주식시장은 오프닝과 클로징이 존재하고, 뉴욕증권거래소 NYSE같은 경우에는 오프닝과 클로징때 매일 벨을 울려서 이를 기념하는 세레모니를 한다. 크래프트 팀도 AI로 무인운용되는 ETF를 NYSE에 상장하면서, 거래소에 초대받아 이 벨을 울려본 적이 있다.

Qraft on NYSE 발코니


클로징과 오프닝 사이에는 상당한 시간이 존재하고, 이 시간동안 발생한 정보들이 오프닝시의 가격변화로 한번에 반영된다. 이 가격변화를 갭(gap)으로 부른다. 갭상승했다고 하면, 전일 종가보다 올라서 시가가 시작한 것이고 갭하락은 전일 종가보다 시가가 내려서 시작한 것이다. 그래서 일간 수익률(P)은 갭수익률(G)과 장중 수익률(D)의 합이 된다.


P = G + D,

좀더 정확하게 복리 개념으로 보면 (1+P) = (1+G)*(1+D) 가 될것이다.


보통 갭은 (+) 수익률을 가지고, 장중 수익률은 (-) 수익률을 가진다는 패턴은 많이 알려져 있다. 이 패턴은 전세계 주식시장에서 높은 확률로 나타나며, 소형주에서 특히 잘 나타난다. 갭과 장중 수익률의 방향은 지수마다 다소 다르지만, 1920년대로 거슬러올라가는 S&P 지수와 1949년부터 산출된 니케이지수를 비롯한 많은 지수에서도 비슷한 현상이 관찰되고 있다.


코스닥 종합지수와 G, D 의 수익률 누적그래프


위 그래프의 하단은 2010년 부터 현재까지의 코스닥종합지수 일봉 그래프를 가지고, 매일의 수익률을 갭수익률 G(푸른 선) 와 장중 수익률 D(핑크선)로 분해하여 각각 누적하여 그린 그래프이다. 코스닥 지수 일봉 수익률 P를 누적한 그래프(코스닥 종합지수 그래프와 거의 같다)는 랜덤하게 보이지만, 내부를 들여다보면, 갭수익률 G 는 상당히 강한 (+) 경향성을 가지고 있었고, 장중수익률 D는 상당히 강한 (-) 경향성을 가지고 있었음을 볼 수 있다. 코스닥 지수의 경우, (확률적으로) 갭으로는 계속 상승했고 장중에는 계속 떨어졌던 것이다. 복리로 보면, 더욱 드라마틱한 그래프가 된다. 이 패턴의 원인은 "개인은 주로 시가에 매매하고 기관은 주로 종가에 매매하기 때문이다", "가격에 대한 과잉반응 효과 때문이다" 등으로 다양하게 분석되고 있으나 명확한 결론이 나와있지는 않다.


이 패턴만을 이용하여 장내 트레이딩으로 수익을 내는 것은 거래세 및 거래비용이 높은 국내 주식시장의 구조상 좀더 강한 시그널을 찾는 연구가 병행되어야 한다. 2002~지금까지의 G성분의 누적 단리수익률은 1200% 정도이고, 일간으로는 약 0.1~0.2% 수준으로 거래세보다 낮다. 그러나, 최소한 주식을 매도하는 경우 시가에 매도하는 것이 좋고, 주식을 매수하는 경우에는 종가에 매수하는 것이 유리한 것은 분명하다. 그리고 마켓메이커나 execution broker 라면, 이러한 패턴을 트레이딩에 이용하여 추가적인 수익창출이 가능하다.


다시 원래 하던 이야기로 돌아가서, 가격움직임이 후속 가격 움직임에 영향을 준다는 내용과 관련하여 좀더 자세히 살펴보자. 자연스러운 가설은 G의 크기나 방향(수익률의 부호)이 후속 D 에 영향을 주지는 않을지, 또는 D의 크기나 방향이 후속 G 에 영향을 주지 않을까 하는 생각일 것이다.


이를 검증해보기 위해 G를 다시 두 성분으로 분해해보자.

G1: 갭 이전의 D의 수익률이 0 또는 양수인 경우. 즉, 장중 수익률이 (+) 였을때 바로 다음 갭의 수익률이다. 아니라면 0로 본다.

G2: 갭 이전의 D의 수익률이 음수인 경우, 즉 장중 수익률이 (-) 였을때 바로 다음 갭의 수익률이다.


이제 G = G1 + G2 일 것이고, 매일 G1과 G2 중 하나는 0이다.


D도 마찬가지로 분해하면 D = D1 + D2 이고 매일 D1과 D2 둘 중 하나는 0이 된다.


단리로 생각하면, 일간 수익률 P = G1 + G2 + D1 + D2 이다. 엄밀하게는, (1+P)=(1+G1)*(1+G2)*(1+D1)*(1+D2) 이지만 차이는 그리 크지 않다.


만일, G1과 G2가 차별되는 특성을 가지거나 D1과 D2가 차별되는 특성을 보여준다면, 이는 바로 앞의 가격변화인 G와 D의 수익률 부호가 후속 가격 움직임에 영향을 준다는 유력한 증거가 된다. 그리고, 실제로 이런 현상이 관찰된다.


1997~2021 코스닥 종합지수 G1, G2, D1, D2 의 분해


G1 수익률 누적그래프


G2 수익률 누적그래프


D1 수익률 누적그래프


D2 수익률 누적그래프


[1997-06-02~2021-12-24 까지 코스닥 종합지수 일봉]

G1 사건 : 2752번 / 누적수익률 976% / 시행당 평균 수익률 0.35%
G2 사건:  3380번 / 누적수익률 334% / 시행당 평균 수익률 0.10%
D1 사건:  4544번 / 누적수익률 -1067% / 시행당 평균 수익률 -0.23%
D2 사건:  1588번 / 누적수익률 -161% / 시행당 평균 수익률 -0.10%

갭상승확률: 74%
장중하락확률 (음봉확률): 55%

G1 과 D1 의 성과가 강하다는 사실로부터 갭수익률은 트렌드 성향이, 장중수익률은 리버전 성향이 강하다는 것을 알 수 있다. 양봉이 나오면 다음날 갭상승의 힘이 강하고, 갭상승이 나오면 그 날은 음봉으로 마감하려는 힘이 강하다.


G1과 G2의 수익률 분포 차이, D1 과 D2 의 수익률 분포 차이가 상당히 뚜렷하다. 평균수익률은 약 2~3배 증가하고, 변동성은 15~30% 정도 줄어든다. 이는 갭수익률의 부호가 이후의 장중 수익률에 영향을 미친다는, 그리고 장중 수익률의 부호가 다음날 갭 수익률에 영향을 미친다는 좋은 증거가 될 수 있다. (물론 이것이 직접적인 인과관계인지, 다른 요인에 의해 동시에 영향을 받는 것인지에 대한 규명은 필요하다)



Markov Model


평균적으로 G 는 상승의 힘을 가지고있고, D는 하락의 힘을 가지고 있다는 사실로부터 다음과 같은 전이 흐름도를 생각해볼 수 있다.


전이 흐름도


G는 (+)의 경향성은, D는 (-)의 경향성을 지니고 있으므로 확률적으로 갭상승->장중하락->갭상승->장중하락 패턴의 성과가 높을 것이다. 특히 G1의 강한 (+)의 경향성에 의해서 중간에 다른 요인으로 인해 장중 상승(양봉)이 나오더라도 G1 의 힘을 통해 갭상승으로 다시 복귀할 확률이 높고, 이후 D1의 강한 (-) 경향성으로 장중하락이 이어져 다시 갭상승->장중하락->갭상승->장중하락의 체인이 이어질 확률이 높다.


오렌지 색 화살표는 확률과 보상이 높은 전이방향


이를 마코프 체인으로 나타내면 아래와 같다.



이러한 프레임웍 하에서, 각 상태 및 상태 간의 전이확률을 좀더 정교하게 추측해볼 수 있다.  위 프로세스는 갭상승, 갭하락, 장중상승, 장중하락 간의 관계만을 나타내고 있지만, 결국 모든 퀀트가 하는 작업은 이 마르코프 체인에 다양한 요인에 따른 상태(상태가 hidden인 경우도 있다)와 전이확률을 추가, 업데이트 하는 것과 유사하며, 크래프트에서 AI 기술을 통해 데이터에서 논 랜덤 패턴을 포착하는 것의 최종 결과물도 이 다이어그램으로 표현가능하다. 이 프레임웍을 바탕으로 머신러닝을 하는 것도 유효한 방법이다. 예를 들어, 갭상승 스테이트를 단순한 갭상승이 아닌 갭의 크기별로 나누어서 복수개의 스테이트로 분리하거나 (예시: 갭의 크기가 클수록 후속 리액션이 크다) 다른 변수를 통해서 상태의 숫자를 늘리고(예시: 갭상승과 좋은 센티먼트의 뉴스가 결합될 경우 후속 리액션이 크다), 히든 스테이트를 추가하여 히든마코프 구조를 만드는 등의 방식을 머신러닝으로 접근할 수 있다.


예시: 좀더 복잡한 Markov 모델



IT 버블 시기로부터 얻는 인사이트


좀더 인사이트를 얻기위해 잠시 코스닥 IT 버블 시기의 데이터를 살펴보자. 코스닥에서 가장 큰 격동의 시기는 1997년 부터 2001년까지의 시기다. 97년말 IMF 사태가 발생했으며, 이후 IT 버블이 생기고 완전히 붕괴하기까지의 시기이다. 1년이 채 안되는 기간동안 6배의 급등이 있었으며, 역시 1년이 채 안되는 기간동안 80% 이상의 급락이 있었다.


1999~2001 격동기의 코스닥종합지수 및 G1, G2, D1, D2


상단 그래프는 코스닥 종합지수, 하단 그래프는 단리로 분해한 G1(오렌지), G2(핑크), D1(그린), D2(블루) 이다. 이 시기에는 다른 시기와는 다른 몇가지 특이한 현상이 관찰된다.


1) D1 성분의 상승


재미있는 것은 이 시기에 코스닥 급등이 일어나고 2차 고점까지 주로 D 성분, 특히 D1을 통한 상승이 있었다는 것이다. D 성분이  상승하는 경우는 코스닥 지수가 탄생한 이래 지금까지 이 시기가 유일하다.


1997~2021 까지 D 성분의 상승은 IT 버블기가 유일하다


1997~2021 까지 긴 구간으로 보면 가장 강하게 하락하는 성분은 D1이고, 가장 강하게 오르는 성분은 G1 이다. 그러나, 이 시기에는 달랐다. 코로나 급락 이후 D 수익률을 누적한 그래프의 하락속도가 완만해지기는 하지만, D 성분 자체가 상승한 경우는 IT 버블 시기가 처음이자 마지막이다. 또한, 이 시기 D 성분의 상승은 거의 다 D1 성분에 의해서 이루어졌고(2차 고점까지 계속적으로 상승), D2의 수익률은 마지막 상승추세(2차 고점이후의 단기저점에서 3차 고점까지)에서만 잠깐 상승을 보이고, 다시 하락세로 접어든다.


2) G2 성분의 하락


G1 성분은 이 시기에 조차 상승추세를 이어나갔다. IT 버블이 무너지는 시기에도 G1 성분의 상승은 지속된다. IT 버블 붕괴에 의한 강한 하락장에서도, 장중수익률이 (+) 인 경우 종가에 매수해서 다음날 개장 동시호가에 매도하는 전략 (G1 성분)은 꾸준한 수익을 낼 수 있었다. (거래비용을 포함하지 않는다면 약 9개월 동안의 IT 버블 붕괴기간 동안에도 약 35% 가량의 수익이 발생한다) G1 이 꾸준히 우상향하는 것은 이 시기에도 예외는 아니었다.


특이한 것은 G2 성분이다. G2는 이 시기 동안 줄곧 하락한다. 누적 G2 수익률의 그래프가 3년 이상 장기간 하락하는 것은 이 시기가 처음이자 마지막이다. (2008년 금융위기때 1분기 정도 잠깐 하락한다)


3) IT 버블 상승 및 하락

IT 버블을 하드 캐리한 것은 2차 고점까지는 주로 D1 성분이다. 최고점(3차 고점)을 향한 상승은 주로 G1과 D2 가 이끌었다. 보통 D 성분은 음의 수익률을 지니는 경향이 있음을 감안하면 이례적인 일이다. D1의 (+) 수익률은 시장이 갭상승했을때 장중에도 상승흐름이 이어졌다는 것을 의미한다.


일반적으로 D1 은 가장 강한 (-) 흐름을 보인다. 갭상승은 장종료 후 다음날 개장까지의 정보에 대한 반응이다. 이 반응은 주로 오버리액션이 일어나기 때문에 보통은 갭상승의 크기가 과장되고, 갭상승에 따른 차익실현 욕구도 커지기 때문에 장중에는 하락흐름이 일어나는 경우가 코스닥 지수의 일반적인 모습이다. 그 결과, 대부분의 구간에서 D1 은 마이너스 흐름을 보인다.


그러나, IT 버블 시기에는 상황이 완전히 달랐다. 소설을 써보면, 이 시기에는 시장자체의 에너지가 들끓고 수많은 개인 투자자들이 투기심리로 무장하고 있었으며 HTS 의 도입과 큰 변동성에 힘입어 엄청난 수의 데이트레이더들이 양산되었던 시기다. 이 투자자 그룹은 장 종료 후 개장까지의 정보를 해석하는 수고를 하기보다는, 갭상승이 일어나면 이를 강한 호재로 인식하여 장중에 매수를 하고, 이 매수에 의한 상승이 또다른 매수를 부르는 연쇄가 일어났다. 이에 따라 D1 성분이 하락이 아닌 강한 상승흐름을 보일 수 있었던 것이다. 이런 관점에서 보면 보통 (+) 흐름이었던 G2 성분이 별볼일 없었던 것이 이해가 된다. G2 는 장중수익률이 (-) 일 경우 다음날 갭 수익률을 의미한다. 데이트레이더 입장에서는 장중 수익률이 (-)였던 다음날 시가에 굳이 베팅할 유인이 별로 없었을 것이다. 이 시기는 철저하게 장중 모멘텀 트리거에 따른 데이트레이딩이 지배했던 시장이었다. 최종 붕괴를 앞둔 마지막 고점까지의 최후의 상승을 D1 이 아닌 G1 (양봉후 갭상승), D2(갭하락후의 반발 양봉)가 이끌게 된 것도 결코 우연은 아닐 것이다.


아직은 프로토타입이지만 G1, G2, D1, D2 또는 이와 유사한 지표들의 움직임에 대한 분석을 통해 전체시장 또는 개별종목의 regime 의 지속성 및 변화시점을 예측하는 것도 어느 정도 가능하며, 특정 그룹이 지속적으로 매수하거나 매도하는 상황의 포착이 가능하다는 유의미한 연구결과들이 나오고 있다. 장중 데이터에서도 비슷한 결과들이 나오는 경우도 있다. 



Working: Integrated Alpha with ML process


코스닥 지수는 모든 종목이 종합되어 있는 인덱스지만, 개별종목으로 들어가면 좀더 다양하고 재미있는 패턴들이 많이 발견된다. 이 중에는 개선을 거쳐 바로 실제 거래에 이용할 수 있는 패턴들도 있다.


개별주식선물 A: G1


위 그래프는 국내 모 종목의 개별주식선물의 그래프(일봉)로, G1 성분이 뚜렷하게 우상향하고 있음을 볼 수 있다. 개별주식선물이기 때문에 거래비용의 부담이 낮으며, 거래량만 충분하다면 양봉일 경우 종가 동시호가에 선물을 매수하여, 다음날 시가 동시호가에 청산하는 전략을 반복하여 연간 20% 이상 (레버리지를 감안하면 100% 이상)의 수익이 가능하다. 복리로 계산하면 20배의 수익률이다.(거래비용과 거래량을 감안하지 않았을 경우이다) 같은 기간 해당 종목은 반토막이 난 것에 비하면 매우 뛰어난 성과다.


개별주식선물 B:  D2


또다른 종목의 개별주식선물에 대한 D2 성분이다. 뚜렷하고 꾸준하게 하락추세가 나오고 있고, 선물이므로  D2 short 전략을 통해 연간 30% 이상의 수익률이 가능하다. (거래비용과 거래량을 감안하지 않았을 경우이다) 많은 시장에서 많은 종목을 테스트하여 유효한 성분들을 포트폴리오하는 것도 좋은 전략이 될 수 있다.


코인 시장 역시, 액션에 따른 강력한 리액션의 연쇄가 일어나고 있는 시장이다. 아마도 많은 투기적 참여자와 데이트레이더가 존재하고, 행동경제학적으로 잘 움직여주는 개인 참여자들의 비중이 높기 때문에 이러한 비효율성이 크게 나타나는 것으로 보인다. 코인시장은 24시간 거래가 되어 갭이라는 개념은 존재하지 않지만 가격변동, 거래량, 특정 이벤트 등의 변수를 사용하여 적절한 커널을 정의하면(또는 학습시키면) 액션->리액션 구조의 모델을 만들 수 있고, 이런식으로 발견된 패턴들은 상당히 잘 작동하고 있는 것으로 보인다.


개별 주식에 대해서도 섹터, 팩터, 가격, ... 등의 다양한 관점으로 여러가지 액션-리액션 구조를 만들고, 유의미한 패턴들을 뽑아내어 계산하여 합쳐서 운용한다면 로버스트한 성과가 나오고 거래비용도 매우 줄어드는 효과를 볼 수 있다. G1, G2, D1, D2 와 같은 일간 거래의 경우, 회전율이 상당히 높기 때문에 거래비용 관리가 매우 중요한데 다양한 모델에서 계산되는 시그널을 받으면, 개별 종목 단으로 보면 어떤 시그널은 매수 / 어떤 시그널은 매도가 되기 때문에 이를 네팅한 수량만 최종적으로 주문집행을 진행하면 된다. 이에 따라 거래비용이 상당히 줄어든다. 특히 G1, G2, D1, D2 와 같이 종가, 시가 거래로만 이루어지는 경우에는 거래시점을 정확히 일치시킬 수가 있어 이 효과가 더 커진다. 이렇게 네팅된 포트폴리오는 또다시 강화학습 기반의 AXE 주문집행 기술을 통해 틱데이터 레벨의 데이터로 학습된 알파가 적용되어 다시 한번 거래비용을 절감할 수 있다.




금융시장만큼 연구의 결과가 직접적인 성과와 큰 보상으로 이어지는 분야는 흔치 않습니다. AI 기술을 통해 금융시장의 가격움직임의 비밀을 같이 풀어나갈 다방면의 인재분들의 많은 지원을 부탁드립니다. 금융과 자산운용, 트레이딩에 대한 경험이 없더라도 자연과학, 공학, AI 분야의 전문성과 GRIT이 있다면 크래프트라는 플랫폼 안에서 큰 성과를 낼 수 있습니다.


크래프트 채용페이지 가기


이전글 보기: AI 자산운용 보고서



크래프트테크놀로지스는

AI 기술을 활용해 자산운용업의 비효율성을 혁신하고 있는 기업입니다. 데이터처리부터 알파리서치, 그리고 포트폴리오 주문집행까지 자산운용업의 각 단계별 비효율성을 기술로써 해결하고, 이를 통해 높은 수준의 알파를 낮은 비용으로 제공하는 것을 목표로 합니다. 복잡한 금융 데이터 전처리를 자동화하고, 병렬컴퓨팅을 통해 고속화하며, 이를 통해 완성된 시뮬레이션 환경에서 autoML 기술을 통해 알파 팩터를 자동으로 서칭합니다. 이렇게 찾아진 알파 팩터들을 활용해 정해진 펀드 컨셉에 따른 펀드 유니버스에 따라 Strategy Factory을 통해 딥러닝 기반의 deep asset pricing model을 만들고, 모델을 통해 생선된 최종 포트폴리오는 강화학습 기반의 주문집행 엔진 AXE로 효율적인 주문집행을 하는 것을 목표로 합니다. 위 시스템을 통해 제작되고 뉴욕증권거래소에 상장된 크래프트테크놀로지스의 AI ETF 라인업은 인공지능 시스템으로 100% 무인운용되고 있으며, 상장 후 벤치마크지수(S&P500, S&P500모멘텀 지수)를 20%p 이상 아웃퍼폼하는 등 동종 ETF 중 최고의 성과를 보여주고 있습니다.


크래프트 웹페이지: http://www.qraftec.com


크래프트 뉴스레터 구독: https://www.qraftec.com/newsletter 


Disclaimer

*과거의 성과가 미래의 성과를 보장하지 않습니다.

*본 자료는 정보제공을 위해 작성되었으며, 펀드 등 금융투자상품의 판매를 권유하기 위한 목적으로 사용될 수 없습니다.

*본 자료는 크래프트테크놀로지스가 특허출원 중이거나 특허등록한 내용을 포함하고 있을 수 있습니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari