지식그래프

그래프 데이터베이스가 비싼 SQL이 되는 순간: 그래프 피처 의무화 결정

2026. 08. 23

온톨로지까지 갖춘 지식그래프를 만들어 놓고, 정작 ML 모델에는 1-hop 조회 feature 2개만 쓰고 있었습니다. 그래프 활용을 하드 룰로 강제한 결정(ADR-023)과, 그래프 전용 feature 7종의 기여를 검증한 기록입니다.

프로젝트 배경

소속
개인 연구 프로젝트 (진행중)
프로젝트
stock-kg · 한국 주식시장 지식그래프
기간
2026 ~ 진행중
담당
단독 · 온톨로지 설계-파이프라인-백테스트

한국 주식시장의 공시·뉴스·수급·임원 네트워크를 지식그래프(Neo4j)로 연결하고, 그래프에서 추출한 feature로 ML 스코어링을 수행하는 개인 연구 프로젝트입니다. FIBO 정렬 온톨로지와 SHACL 검증 등 그래프 인프라에 상당한 투자를 했으며, 이 글은 그 투자가 정당한지 스스로 감사한 기록입니다.

지식그래프Neo4jFeature EngineeringMLADR

1. 연구 배경: 그래프 인프라에 투자한 이유

이 프로젝트는 초기부터 그래프 인프라에 크게 투자했습니다. FIBO 정렬 OWL 온톨로지, SHACL 폐쇄세계 검증, PROV-O 계보 추적까지 갖췄고, 임원·공급망·테마 같은 관계 데이터를 꾸준히 적재했습니다. 근거는 명확했습니다. "모회사의 주요주주 지분변동이 자회사 섹터에 미치는 파급" 같은 질의는 관계형 모델로는 표현이 고통스럽고, 그래프 순회로는 자연스럽기 때문입니다.

그런데 ML 파이프라인을 붙이고 몇 주가 지난 시점에 파이프라인을 감사해 보니, 그래프는 그 역할을 거의 하지 않고 있었습니다.

2. 문제 정의: 감사 결과 — 그래프 활용 실태

점검 결과는 다음과 같았습니다.

항목실태
그래프 적재 데이터 중 시계열 비중약 70% (일별 수급 150만 노드 등 — Parquet이 더 적합한 데이터)
ML feature 60종 중 그래프 파생2종 (테마 peer, 공급망 1-hop)
Multi-hop(2-hop 이상) 탐색 사용0건
임원 노드 3.2만 개에 대한 질의0건
서브그래프 패턴 매칭·그래프 알고리즘0건

요약하면, 그래프 데이터베이스를 비싼 SQL처럼 쓰고 있었습니다. 1-hop 집계는 관계형 DB로도 동등하게 계산할 수 있습니다. 그래프여야만 하는 이유였던 multi-hop 관계와 네트워크 구조는 손도 대지 않은 상태였습니다.

부끄러운 부분도 기록해 둡니다. 이 프로젝트는 AI 코딩 에이전트와 함께 개발하는데, 이 실태는 스스로 점검하기 전까지 드러나지 않았습니다. 쉬운 feature부터 채우는 관성은 사람이든 에이전트든 동일했고, "그래프를 왜 이 정도밖에 못 쓰고 있는가"라는 질문을 명시적으로 던진 뒤에야 우선순위 오판이 인정됐습니다.

3. 기술적 난점: 그래프 feature가 어려운 이유

그래프 파생 feature가 뒤로 밀린 데에는 이유가 있습니다.

첫째, 계산 비용입니다. 종목 × 날짜 패널 전체에 대해 2-hop 탐색을 매일 수행하면 질의 비용이 큽니다. 사전 계산(materialization) 계층 없이는 학습 파이프라인에 넣기 어렵습니다.

둘째, 동명이인 문제입니다. 임원 겸직 네트워크를 만들려면 "A사 임원 김OO"과 "B사 임원 김OO"이 동일인인지 판별해야 합니다. 무리하게 병합하면 가짜 연결이 생기고, 병합하지 않으면 네트워크가 끊깁니다.

셋째, 시간 차원의 누수 위험입니다. 현재 시점의 임원 명단으로 과거를 백테스트하면 미래 정보가 새어 들어갑니다. 재직 기간 데이터가 불완전한 상태에서는 이 위험을 완전히 제거할 수 없습니다.

셋 다 실재하는 난점이지만, 되짚어 보면 "어려워서 안 했다"가 아니라 "검토조차 하지 않았다"에 가까웠습니다. 그래서 해결책도 기술이 아니라 절차에서 찾았습니다.

4. 대안 검토

1안. 현상 유지 — 그래프는 조회·시각화 용도로만

  • 장점: 추가 작업 없음.
  • 단점: 온톨로지·그래프 투자의 근거가 사라집니다. 1-hop 집계만 쓸 것이라면 관계형 DB로 충분했습니다.

2안. 그래프 임베딩(node2vec)으로 일괄 해결

  • 장점: 개별 feature 설계 없이 그래프 구조를 통째로 벡터화.
  • 단점: 해석 불가능하고, 커버리지가 불완전한 그래프에서는 노이즈가 됩니다. (실제로 이후 검증에서 기각됐습니다 — 6절)

3안. 도메인 근거가 있는 명시적 feature + 절차 강제

  • 장점: 해석 가능하고, 임원 네트워크 효과는 학술 근거(Cohen et al. 2008, Larcker et al. 2013)가 있습니다.
  • 단점: feature마다 Cypher 패턴을 설계해야 하고, 사전 계산 계층이 필요합니다.

5. 설계 결정 및 근거: 하드 룰 + 그래프 전용 feature 7종

3안을 채택하고, 재발 방지를 위해 하드 룰을 프로젝트 규칙 문서에 명문화했습니다(ADR-023). 새 feature 파이프라인을 추가할 때는 multi-hop 탐색, 서브그래프 패턴, 그래프 알고리즘(중심성·커뮤니티) 세 가지를 반드시 검토하고, 의도적으로 생략할 경우 그 사유를 ADR에 명시해야 합니다. 침묵 생략은 규칙 위반으로 간주합니다.

함께 구현한 그래프 전용 feature는 7종입니다.

Feature의미그래프 패턴
interlock_count임원 겸직으로 연결된 peer 수(회사)→(임원)←(다른 회사)
interlock_alpha_avg겸직 peer들의 최근 알파 평균임원 네트워크 스필오버
interlock_news_burst겸직 peer들의 최근 뉴스 급증네트워크 경유 이벤트 전파
interlock_centrality겸직 네트워크 내 중심성degree centrality
supply_2hop_avg공급망 2-hop peer 수익률 평균가변 길이 경로 탐색
theme_supply_intersect테마와 공급망이 교차하는 peer두 관계의 교집합
disclosure_news_flow_pattern공시→뉴스→외국인 매수 순서 패턴시간 순서 서브그래프 매칭

동명이인 문제는 확정 병합 대신 "추정 동일인" 관계를 별도 엣지로 저장하는 방식을 택했습니다. 불확실성을 데이터 모델에 그대로 표현해, 병합의 위양성 위험을 감수하지 않으면서 네트워크 분석은 가능하게 한 절충입니다.

6. 실험 결과

그래프 feature 7종을 추가한 버전(v8)의 백테스트 변화입니다(2026-06 시점).

지표추가 전 (v6)추가 후 (v8)
IC (정보 계수)+0.058+0.142
LS Sharpe+0.34+0.60

feature 중요도에서도 임원 겸직 스필오버(interlock_alpha_avg)가 전체 상위 5위 안에 들었습니다. 가격·거래량 파생이 상위권을 독점하는 것이 보통이라는 점을 감안하면, 그래프 파생이 상위권에 진입한 것은 그래프 투자의 근거가 됩니다. 흥미로운 부수 발견은 겸직 네트워크의 허브가 대기업 계열사에 집중된다는 점으로, 최대 허브 종목의 겸직 연결은 400건을 넘었습니다. 한국 시장 특화 신호인 셈입니다.

같은 검증에서 기각된 것들도 기록해 둡니다. 그래프를 쓴다고 다 좋아지는 것은 아니었습니다.

시도Sharpe 기여기각 사유
node2vec 임베딩 (64차원)-0.07커버리지 83%에 그침, 노이즈 추가
HMM 레짐 확률-0.10시장 단일값이라 종목 간 구분 정보 0
모델 스태킹-0.08작은 데이터에서 메타 모델 과적합
SHAP 기반 feature 축소-0.05전체 유지가 최적

7. 결론 및 시사점

기술 선택은 사용 실태로 재감사해야 합니다. "그래프 DB를 쓴다"와 "그래프여야만 가능한 계산을 한다"는 다른 명제입니다. 도입 시점의 근거가 아무리 타당해도, 실제 활용이 1-hop 집계에 머물면 그 투자는 정당화되지 않습니다.

관성은 규칙으로 교정합니다. 쉬운 feature부터 채우는 경향은 사람과 AI 에이전트 모두에게 있었고, "검토 의무 + 생략 시 사유 명시"라는 절차를 문서에 박아 넣는 것이 실효적인 해법이었습니다.

그래프의 가치는 도메인 근거가 있는 곳에서 나왔습니다. 학술 문헌이 뒷받침하는 임원 네트워크 스필오버는 유효했고, 근거 없이 구조만 벡터화한 임베딩은 기각됐습니다. 저장 모델의 선택보다, 그 모델이어야만 표현되는 신호를 찾는 일이 본질이었습니다.