Sentiment / News Alpha

강병오·2026년 3월 7일
  • sentiment alpha
    해당 문장은 감성 데이터가 뉴스, SNS, 블로그, 포럼 등 온라인 플랫폼에서 수집된 텍스트를 자연어처리(NLP)로 분석해 특정 기업이나 시장에 대한 대중의 감정이 긍정적인지 부정적인지를 수치화한 것이며, 이러한 투자자 심리는 주가 움직임에 선행하는 지표(leading indicator)가 될 수 있다고 설명한다는 의미이고, BRAIN에서는 기업이 얼마나 자주 언급되는지(social buzz)와 그 언급이 긍·부정 중 어느 쪽인지 등을 정량화한 데이터 필드를 제공해 이를 알파 설계에 활용할 수 있다는 내용이다.

    - mixed with pv data / sentimen alpha
    	-ts_regression(scl12_buzz, volume, 20)
    	- 오케이, ML식 “예측” 프레임은 잠깐 버리고 **“정규화/이상치(이탈) 추출”**로 보면 바로 이해됨: ts_regression(volume, scl12_buzz, 20)은 매일 각 종목에 대해 최근 20일 데이터로 **“buzz가 이 정도면 보통 volume은 이 정도”**라는 기준선  (=정상관계 대비 과대/과소)를 신호로 뽑아내는 연산자야; 여기서 잔차를 알파로 쓰는 이유는 “절대 거래량”은 종목마다 스케일이 달라 비교가 안 되는데, **buzz로 설명되는 부분(공통/정상 반응)**을 제거하고 남은 **비정상 반응(과열/과소반응)**만 남기면 그게 곧 cross-sectional 스코어가 되기 때문이고, 네 식 -ts_regression(volume, scl12_buzz, 20)은 그 잔차의 부호를 뒤집어 (잔차가 음수=volume이 buzz 대비 덜 터짐) → 롱, (잔차가 양수=volume이 buzz 대비 과도하게 터짐) → 숏으로 베팅하는 “과소반응 추종/과열 되돌림” 가설을 한 줄로 구현한 거다.
  • news alpha
    브레인에서 제공하는 news data의 출처
    - Financial reports (earnings, investments, dividends)
    - Analysts' recommendations (expectations, ratings, opinions)
    - Company products (new products, approvals)
    - Legal events (investigations, bankruptcies)

    - trading session을 고려해야 함
    뉴스가 주로 프리·애프터 세션에 나오면 그 정보는 정규장 시작 전에 이미 시장에 알려진 상태이므로 실제 매매 아이디어를 만들 때 당일 장중 수익률과 바로 연결할지, 다음 거래 구간의 움직임과 연결할지 판단해야 하며, 즉 뉴스 발표 시점과 가격 반영 시점 사이의 시간 구조를 고려하지 않으면 모멘텀인지 과잉반응 후 리버전인지 해석이 꼬일 수 있어서 세션 정보를 먼저 알려주는 것이다. 뉴스는 주로 pre, post에 나옴
    	- Pre session: 4:00 am to 9:30 am
    	- Main session: 9:30 am to 4:00 pm
    	- Post session: 4:00 pm to 8:00 pm
    
    - 뉴스 데이터는 보통 벡터 데이터이므로, 바로 알파 적용이 안됨. 알파는 행렬에 대해서 적용이 안되기 때문임
    	- 뉴스 필드인 nws12_afterhsz_sl은 하루에 뉴스가 여러 개라 종목별 값이 여러 개 존재하는 vector 타입이라 바로 못 쓰기 때문에 vec_avg, vec_sum 같은 vec_ 연산자로 “하루·종목별 하나의 대표값”으로 집계해 matrix로 변환한 뒤 그 다음에 ts_mean, rank 같은 연산을 적용하라는 뜻이다.
    
    - 모멘텀 / 리버전을 할거냐가 큰 브랜치
    	nws12_afterhsz_sl가 각 뉴스 이벤트마다 “롱이 유리한지 숏이 유리한지”를 나타내는 값이고, 한 종목에 하루에도 뉴스가 여러 개 나올 수 있기 때문에 이 필드는 벡터 타입으로 저장된다는 설명이며, 만약 어떤 종목이 ‘long position advantage’ 뉴스가 많이 쌓이면 그 종목은 긍정 뉴스가 연속적으로 발생한 것이므로 모멘텀(상승 지속) 성향을 보일 가능성이 있고, 반대로 그런 뉴스가 적거나 부정 쪽이 많으면 과잉반응 이후 리버전(되돌림) 가능성을 생각해볼 수 있다는 의미이고, 그래서 아이디어는 조건부 전략으로, “long advantage 뉴스가 충분히 많은 경우에는 모멘텀 신호(롱 포지션)를 적용하고, 그렇지 않으면 리버전 신호(숏 포지션)를 적용한다”는 구조를 조건 ? 모멘텀 : 리버전 형태로 구현하라는 설명이다.
    
    - 구현
    	- 뉴스로 먼저 종목을 분류(필터링)한 뒤, 그 안에서 PV 알파 논리를 적용하라
    	- identifying stocks with more 'long position advantage' news events
    	-To reduce noise in this daily data and extract a clearer signal, apply time series operators like ts_sum or ts_mean with an appropriate period
    	- 데이터를 랭크로 변환한 뒤 임계값(threshold)을 설정해 조건을 만들라”는 뜻으로, 예를 들어 rank(X) > 0.5라고 하면 전체 종목을 단면에서 정렬했을 때 상위 50%는 True, 하위 50%는 False로 분류하라는 의미이며, 이렇게 하면 뉴스 감성 집계값처럼 연속적인 수치를 단순한 이진 조건으로 바꿔 ‘이 조건을 만족하는 종목에는 모멘텀을 적용하고, 나머지에는 리버전을 적용한다’ 같은 분기 구조를 구현할 수 있다는 설명이다.
    	-선택된 문장은 조건을 만든 뒤 PV 알파에서 배운 방식대로 모멘텀 신호와 리버전 신호를 설정하라는 뜻이며, 특히 `vec_avg(nws12_afterhsz_sl)`를 기반으로 만든 조건 자체가 이미 최근에 long advantage 뉴스가 많이 나온 종목을 고르는 구조라 모멘텀 성격을 내포하고 있으므로 그 조건을 만족하는 종목에는 복잡한 가격 모멘텀을 또 계산할 필요 없이 단순히 상수 1로 롱 포지션을 주는 것만으로도 모멘텀 신호가 되고, 조건을 만족하지 않는 종목에만 리버전 신호를 적용하되 두 신호의 절대값 크기를 적절히 맞춰 한쪽 효과가 과도하게 지배하지 않도록 스케일을 균형 있게 조정하라는 의미다.
    	-Stocks with more 'long position advantage' news events might exhibit momentum, while companies with fewer such events could exhibit a potential reversion.
    	- 맞다, 여기서 의도한 건 하나의 알파 식 안에서 조건부로 모멘텀과 리버전을 동시에 구현하라는 것이고, 구조는 “뉴스가 충분히 긍정적이면 모멘텀(롱), 아니면 리버전(숏)”이라는 분기다; 예를 들어 이미 작성한 news = ts_mean(vec_avg(nws12_afterhsz_sl), 4)를 기준으로 rank(news) > 0.5이면 단순히 1을 줘서 롱 모멘텀을 만들고, 그렇지 않으면 -rank(returns) 같은 리버전 신호를 주는 식으로 if_else(rank(news) > 0.5, 1, -rank(returns))처럼 하나의 식으로 결합하는 것이 의도이며, 핵심은 뉴스 기반 조건이 모멘텀 구간을 정의하고 나머지 구간에서 가격 기반 리버전을 적용하는 조건부 혼합 알파를 만드는 것이다.
    	-news = ts_mean(vec_avg(nws12_afterhsz_sl), 4);
    	if_else(rank(news) > 0.5, 1, -rank(returns))
    		-지금 네 식 if_else(rank(news) > 0.5, 1, -rank(returns))는 True 쪽이 “전부 동일 가중 롱”으로 고정돼서 그 구간 안에서는 **서열 정보(얼마나 더 좋은지)**가 사라지고 “상위 50%를 그냥 담는다”만 남아; 그래서 의미가 있는 부분은 (1) 상위 50%를 롱으로 필터링했다는 점과 (2) 하위 50%에서만 -rank(returns)로 숏 강도를 차등했다는 점 두 가지뿐이고, 네가 말한 대로 True인 애들은 “어차피 다 매수”가 맞다(동일 노출)
  • sentiment vs news
    - Sentiment: Social media, news sites, blogs, forums / News: Financial reports, analyst reports, company announcements
    - Sentiment Analysis
    - Uses scl12_buzz vs transaction volume
    - Indicates market psychology
    - Implemented through ts_regression
    - News Analysis
    - Uses nws12_afterhsz_sl
    - Requires vector averaging
    - Combines momentum/reversion idea
    - Both approaches require proper data processing and careeful condition setting for effective signal generation.

profile
Computer Science @Kyung Hee University | Quantitative Finance | Leveraging fundamental, technical, and machine learning approaches to solve financial problems

0개의 댓글