주식 AI모델 개발과정 리포트 - 231213

주식 AI모델 개발과정의 중간 업데이트 자료(23년 12월 워크샾 자료)
AI development

안지환

0 • 0 • 2024-02-03 17:53:14.0

주식 AI모델 개발과정 업데이트 


2023. 12. 13

 

1.    개발 동기

 

l  주식을 투자하는선정 기준을 어떤 식으로 정할 것인가?에 대한 질문


-       Active:매니져 또는 팀의 재량


-       Passive: Index투자(복제전략/비율추종전략)


-       Quant:일정한 기준에 따른 투자


-       Active투자의 경우, 펀더멘털, 수급, 기술적분석등 여러가지 요소를 고려하여 종목을 선정함


l  Active운용에 대한 신뢰 상실


-       훈련되고, 일정한 레코드를 가지고 있으며, 신뢰할 만한 Active운용을 구축하고 유지하는데 많은 시간과 비용이소요되며, 그 성과도 일부를 제외하고는 크게 벗어나지 않는 것이 현실


-       원인: 합의에 따른 분산된 의사결정과 인간의선입견과 팀의사결정의 문제, 정보전달 속도의 증가에 따른 시장의 급격한 변화 등 인간 또는 Active운용 팀이 적응하기 어려운 상황이 시장에서 펼쳐지고 있음


-       보다 낮은 수수료로 Investment theme에기반한 ETF로 자금 쏠림이 심화되고 있음   


l  해결책으로서의AI를 활용한 주식랭킹 산출


-       빅데이터를 활용할 수 있는 여건이 마련되고 있음(FnguideData프로그램의 활용)


-       AI관련 기술의 발전: AI를 활용해서 문제를 해결할 수 있는 기반이 확충되고 있음


-       AI기술을 활용하여 대규모 종목군에 대한 주가수익률예측 프로그램을 만든다면, 기존의 Active운용에서는 얻을수 없는 결과를 얻을 수 있을 것이라는 기대


-       AIPM을대체할 수 없다고 해도, AI를 활용하는 PM이 그렇지 않은PM을 대체하는 시대가 올 것임

   

 

2.    개발과정

 

l  기본구성:


-       Active투자의 의사결정에서 중요한 요소들과주가수익률의 관계식을 구성


-       중요한 입력요소와 실제주가수익률을 모델에 입력하여 가장 작은 오차를 발생하는 파라미터 값을찾아냄


-       이렇게 구성된 모델에 최근의 입력치를 입력해서, 향후의3개월 이후의 주가상승률의 순위를 예상하는 구조


-       3개월 주기로 예측을 하는 이유: 재무제표의 발표 주기(1~4분기 실적발표 마감일 + 5영업일)에 따라 변수의 큰 변화가 발생한다는 점


-       순위를 쓰게 된 이유: 주가수익률과 높은 관계가있는 것으로 예상되는 항목(Item, Factor, Feature)를 선정해서, 주가수익률을 예측하는 시스템을 만드는 것이 가장 이상적이지만, 주가의절대수익률을 예측하는데 필요한 항목은 너무 방대하다는 단점이 있음.


-       주식의 상대적인 랭킹을 예상할 수 있는 모델이 나온다면,주식시장의 전반에 미치는 변수는 소거하고, 개별주식에 영향을 미치는 변수를 통해 예측할수 있을 것이라는 가정으로 모델링을 시작하였음.

 

l  모델 개발의 허들


-       주가상승률 랭킹의 학습 곤란성


ü  주식의 랭킹을 학습시켜서, 랭킹을 예측하는 방법에 대해서 구현하는데 기술적으로 어려움이 있음.


ü  때문에 그 대안으로써, 주가수익률에 대한 예상과 실제 주가수익률 값을 비교하고,학습을 시켜서, 예측치와 실제치의 오차를 가장 작게 만들어주는 것을 목표함수로 하는 AI모델을 구성하기로 함


ü  이렇게 정해진목표함수(예상주가상승률과 실제주가상승률의 오차를 최소화하는 함수)와 데이터를 기반으로 모델을 학습시키고, 그 결과치를 검토하였음.

 

-       데이터를 확보하는데 시차가 존재한다는 후행성의 이슈(23926)


ü  모델의 돌리기위해 데이터를 확정하고 얻는 과정에서 시차가 존재한다는 이슈가 있음


ü  , 주가는 실적에 6개월 선행해서 움직인다는 속설이 있는 것처럼 1사분기 실적 발표가 완료되는 시점에서는 이미 주가는 이미 선반영되는 특성이 있었음


 

ü  분기 이익증가율과주가 상승율을 동일한 종목에 대해서, 랭킹을 메겼을 때, 1사분기영업이익의증가율 순위와 2~5월간의 주가수익율은 상관계수가 0.23에이르지만, 5~8월간의 주가수익율 랭킹 간에는 -0.04의상관계수가 발생하였음. (, 영업이익의 증가에 따른 주가의영향력은 2월부터 시작되어서, 5월까지 선반영되고, 그 이후에는 오히려 역의 상관관계가 생길 수 있다는 의미)


ü  이런 재무지표상의 데이터 확보의 후행성은 수급과 밸류에이션 지표, 가격 지표 등으로 보완하는 쪽으로 가정하고 모델개발을 계속하였음


l  두번째 이슈(개발 시스템 선정/데이터 정리/과최적화방지방안) – 231023


-       개발시스템 결정: 구글 텐서플로우를 통해서 AI시스템을 개발하였으며, 선정 이유로는 순위예측 알고리즘이 존재하고, 어느 정도의 복잡한 수정도 가능할 것이라는 판단으로 선정하였음. 최초에는연간단위의 하나의 모델로 통합해서, 개발을 진행하였음


-       데이터정리: 데이터의 누락된 부분을 처리하고, 인공지능망에 연결하는 작업을 수행하였음. 데이터를 처리하는 과정에서표시된 데이터를 수치로 읽어 들이는 데 기준을 잡는 과정이 있었음


-       딥러닝 트레이닝시 과적합이 발생하는 문제에 대해서 고민이 있었음


ü  과적합: 신경망이 훈련 데이터에만 지나치게 적응되어 그 외의 데이터에는 제대로 대응하지 못하는 상태를 말함


ü  데이터양을늘이고, 모델의 복잡도를 줄이고, 가중치를 적용하는 등의방법을 고려하기도 함


ü  Drop out: 학습과정에서 신경망의 일부를 사용하지 않는 방법. 드롭아웃의비율이 0.5라고 한다면, 학습마다 랜덤으로 절반의 뉴런을사용하지 않고, 절반의 뉴런만을 사용함을 의미


ü  Batch Normalization(배치 정규화): 데이터 분포를 통일시켜서과적합 방지

 

l  다양한 시도– 231103


-       모델 선정하기 위한 다양한 시도가 이루어졌음.


-       데이터 정규화 작업


-       함수 변경 - Relu함수로 Elu함수로 변경하였음


-       과최적화 방지를 위해 L1규제도 실행하였음


-       Layer를 늘이고, 노드 수를 더 늘이기도 하였으나, Training결과치 대비 Test결과치가 부진한 문제 발생(과최적화의 이슈)


-       데이터 입력이상 교정 최초에 구성한 방식이실상을 반영하지 못하고 있어, 밸류에이션 데이터를 역수화하는 작업진행


-       하이퍼 파라미터 최적화를 진행


ü  모델 학습시 중요한 하이퍼파라미터(노드수, Dense, Epoch수 등)를 조정하며, 예측치와실제치의 오차를 최소화하는 환경을 찾는 작업을 수행했음


ü  for 구문을 활용하여 반복 실행하며, 2023 3월 결산 기준으로 RMSEMAE 수준을 최소화하는 하이퍼파라미터 조합을 찾았음



 

ü 매우 좋은 결과를 얻었지만, 기존 결과 데이터를활용해야 얻을 수 있는 모델 결과였으며, 실제 활용가능한 데이터로 모델을 돌려서 예측한 결과 결과치는만족스럽지 못한 결과를 보였음.    

 

l  분기별 모델개발


-       주식시장의 계절성에 따른 모델의 특성 변화를 반영하기 위해 분기모델로 나누어서 학습시켜서모델을 개발하였음


-       이유는, 계절성에 따른 실적이 반영되는 부분및 상대주가의 강도가 반영되는 부분 등이 다른 영향력을 가지고 작용할 수 있기 때문임


-       , 1사분기 실적의 어닝서프라이즈에 따른 투자전략은분기가 지속될수록 그 영향력이 줄어드는 것이 당연한 일일 것임


-       상대주가의 경우도, 1사분기에는 시장대비 아웃퍼폼한종목들이 우위를 보일 가능성이 큰 데 반해, 3사분기로 접어들수록 아웃퍼폼한 폭이 크면 클수록, 되돌림 현상이 나타날 가능성이 크다는 것을 예상할 수 있기 때문임


-       퀀트 애널리스트들의 전략도 계절별로 변화되는 경우가 있는데, 계절적으로 잘 들어맞는 전략이 있고, 그런 기준에 따른 투자가 어느시기에는 상당히 높은 확률로 적용되는 경우가 있기 때문임


-       이런 부분은 어떻게 보면, 동일한 데이터에 대해전혀 다른 로직으로 output을 가져오는 경향성을 드러내기 때문에,계절에 따른 모델을 별도로 학습시킬 경우, 더욱 탁월한 성과를 거둘 수 있을 것이라는 가정을할 수 있음

 

l  항목 간의상관성에 따른 모델의 과적합 문제를 줄이기 위해 Drop Out방식을 사용하였음. 해당 모델이 최근 4개분기의 성과에 대해 안정적인 결과치를 보였기때문에 이 모델을 1차 완성 모델로 선정하였음.

 


3.    1차 완성 모델

 

l  1120일 직전연도의 분기실적까지 학습에 사용하여 나온 결과치를반영한 모델로 상위 1~10위의 종목들로 최초로 AI모델을 적용한 포트폴리오를 구성하였음. (직전 3개분기의 예측에 대해 안정적인 결과가 나타났던 관계로 일단 Drop Out 방식으로결정하였음. (상관계수가 223분기 : 0.16, 224분기: 0.21, 231분기:0.06, 232분기: 0.07)


l  상위 1~10위의 종목으로 구성된 포트폴리오와 비교하기 위해, 상위 11~50위까지의 종목들 중 PM이선정한 10종목으로 AI-PM 포트폴리오를 구성하였음


l  또한 향후절대수익추구형을 목표로 PM이 선정한 단기매매 절대수익 추구형 포트폴리오를 설정하여 운용중임


l  AI AI/PM종목의 경우, 정해진기간 동안의 종목선정 효과를 보는 것이 목적이므로, 주어진 평가기간(모델구성으로는 3개월, 포트폴리오 평가 주기로는 1개월)동안 매매 없이 성과를 추적 관찰하는 상황임.



4.    모델 운용 결과 및 개선방안 고려


l  초기에 시장상황보다양호한 성과를 보이던 AI모델 및 AI/PM모델이 BM인덱스 대비 언더퍼폼하는 상황이 발생. AI모델의 언더퍼폼 폭은더욱 벌어지고 있으며, AI/PM모델은 다시 BM을 아웃퍼폼하고있는 상황임

 

l  이후 기존방식을 개선하는 차원에서 데이터의 모델에 대한 영향력을 안정적으로 관리하기 위해, 배치정규화 방식을적용하고 결과치를 비교하였으나, 최근의 4개 분기의 자료에서는기존방식(Dropout 직전train)이 우위에 있는 것으로나타나고 있으며, 현재 운용중인 239월 모델의 중간치를 평가한 부분도 오히려 기존방식(Dropout 직전train)이 우위에 있는 것으로 파악되고 있음.

 


5.    향후의 발전 방향

 

l  함수에 대해제약을 가하는 방식으로 과최적화를 방지하는 방식: (제한을 +-10%수준에서 가하는 방식, +-20% 수준에서 가하는 방식,상방 +40%, 하반-20%로 규제를 가하는방식


l  함수자체를커스터마이즈하는 방식: 목적함수를 구성하는 함수를 중간랭킹에서의 차별성을 강조하는 방식으로 함수를 조정하는방식


l  최초에 설정한항목(item, Factor, Feature)이 주가상승률과 어떤 관계를 가지고 있는지를 검증하며, item과 주가상승률의 상관관계 및 개별 item간의 상관관계가 어떻게 이루어지는 지에 대한 확인을 할 계획


l  분석된 결과를활용해 상호 독립적인 아이템으로 아이템을 줄이는 작업을 진행해 볼 계획임


l  어느 수준까지안정적인 예측력을 보이는 수치가 확인되는 모델이 검증될 경우, 기간을 월간 단위까지 확대해서 모델을개발할 계획임


l그 결과를 보고 연간, 분기, 월간모델에서 나온 랭킹을 조합해서, 성과를 검증해 볼 계획임

Settings

Set your own customized style

Color Scheme

Choose the perfect color mode for your app.


RTL Mode

Switch your language direction

RTL Documentation

Fluid Layout

Toggle container layout system

Fluid Documentation

Navigation Position

Select a suitable navigation system for your web application


Vertical Navbar Style

Switch between styles for your vertical navbar

See Documentation

Like What You See?

Get Falcon now and create beautiful dashboards with hundreds of widgets.

Purchase
customize