1. 가격 데이터 처리
본 플랫폼은 국내 바이오 및 헬스케어 상장 종목의 거래소 가격을 수집하여 정량 분석 모델에 활용합니다. 기본 키(Primary Key)로는 한국거래소(KRX)의 6자리 표준 종목 코드를 사용합니다. 시계열 일봉 데이터(시가 OHLCV)는 1차적으로 서버측 네이버 금융(Naver Finance) 이력 API를 호출해 동적 수집하며, 만약 해당 제공자의 네트워크 장애, 호출 제한 혹은 데이터 정합성 검증 실패 시 2차 백업 제공자인 야후 파이낸스(Yahoo Finance)의 KOSPI/KOSDAQ 종목 코드(.KS / .KQ) 데이터 스트림을 조회합니다.
수집된 가공 데이터는 다음과 같은 엄격한 데이터 품질 필터링(Data Filtering Rule)을 거칩니다:
- 정합성 체크: 각 일자별 시가(Open), 고가(High), 저가(Low), 종가(Close), 거래량(Volume) 데이터 배열의 길이가 완전히 일치하는지 검증합니다.
- 정렬 검증: 날짜 시계열이 누락 없이 과거부터 현재까지 오름차순(Chronological Order)으로 엄격하게 정렬되어 있는지 확인합니다.
- 이상치 필터링: 가격 값이 유한한 양의 실수(\(P_t > 0\))인지 확인하고, 거래정지일의 거래량이 0으로 올바르게 매핑되었는지 검사합니다.
브라우저 캐시 및 가격 데이터 백업 엔진
외부 금융 데이터 제공업체의 일시적인 API 전송 지연 또는 일일 호출 제한 한도로 인해 화면 렌더링이 중단되거나 유저가 빈 대시보드를 보게 되는 상황을 원천 방지하기 위해 이중 캐시(Dual Cache) 정책을 시행합니다. 사용자가 특정 종목을 선택하면 로컬 스토리지에 저장된 최근 30분 이내의 시세 데이터를 우선 검사하여 화면에 즉시 로드합니다.
만약 캐시가 만료되었거나 존재하지 않는 경우, API 통신 시간 제한(Timeout)을 4.5초로 설정하여 백그라운드 호출을 개시합니다. 동기화 도중 데이터가 도착하지 않으면, 내장된 15년 장기 가격 랜드마크 데이터셋과 해시 기반의 연속성 복원 알고리즘을 가동하여 '연속성 백업 시계열'을 화면에 렌더링합니다. 이후 외부 데이터 스트림이 최종 도달하는 즉시 실제 일봉 데이터로 정밀하게 업데이트하며, 상태 인디케이터를 통해 사용자에게 데이터 신뢰 등급을 직관적으로 고지합니다.
2. 뉴스·공시 이벤트 분류
본 시스템은 주가 변동이 일어난 사후에 인위적으로 이유를 끼워 맞추는 정성 분석을 지양합니다. 사전에 검증된 공시 및 보도자료 데이터베이스를 기반으로 사건(Event)을 먼저 타임라인에 등록한 뒤, 해당 사건 발생일 전후의 시장 종가를 연동하여 정량적인 통계 반응을 추적합니다. 모든 이벤트는 학술 및 실무 분석 목적에 적합하도록 다음 4가지 핵심 대범주로 강제 분류됩니다:
- 임상 (Clinical Trial): 임상시험계획 승인(IND 신청/승인), 환자 투약 개시, 중간 결과 발표, 최종 탑라인 데이터 발표, 안전성 위원회(DSMB) 권고 및 개발 잠정 중단 공시 등.
- 계약 (Licensing & Contracts): 기술수출(L/O) 계약 체결, 공동 연구개발 협약, 원료의약품 공급 계약, 대규모 정부 국책과제 선정 및 계약 조기 해지/반환 공시 등.
- 허가 (Regulatory Approval): 식약처, 미국 FDA, 유럽 EMA 등 글로벌 규제기관 앞 품목허가 신청(NDA/BLA), 심사 개시, 승인 완료, 보완요구서한(CRL) 수령 및 반려/재신청 공시 등.
- 자금·경영 (Corporate Finance & Governance): 주주배정/제3자배정 유상증자 발행, 전환사채(CB) 및 신주인수권부사채(BW) 등 메자닌 증권 발행, 인수합병(M&A), 최대주주 변경, 감사의견 거절 및 상장적격성 실질심사(거래정지) 등.
만약 하나의 공시가 여러 속성을 동시에 내포하고 있는 복합형 이벤트인 경우(예: '글로벌 파트너사로부터의 품목 허가 승인에 따른 기술료 유입'), 시장 가격에 가장 본질적이고 장기적인 영향력을 미치는 독립 변수의 성격(이 사례에서는 '허가 승인')을 기준으로 분류 우선순위를 기계적으로 결정합니다.
3. 사건 이후 가격 반응 계산
공개된 이벤트 정보가 시장 주가에 반영되는 시간적 경로와 정보 소화 강도를 정량 측정하기 위해, 사건 발생 직후의 단기 단일 수익률 및 누적 수익률을 아래의 수식을 기반으로 연산합니다.
이벤트 발생 당일 시장의 최초 반응 속도를 측정하는 당일 변동 반응(\(R_{day}\))은 이벤트일 시가(\(P_{open, t}\)) 대비 당일 종가(\(P_{close, t}\))의 변동 비율로 정의됩니다:
\[R_{day} = \frac{P_{close, t} - P_{open, t}}{P_{open, t}} \times 100 (\%)\]이어서, 시장 참가자들의 정보 재해석과 매도/매수 공방이 수렴하는 단기 누적 효과를 측정하는 3거래일 누적 수익률(\(R_{3day}\))은 이벤트 발생일 시가 대비 3거래일 뒤의 종가(\(P_{close, t+3}\))의 변화 비율로 정의됩니다:
\[R_{3day} = \frac{P_{close, t+3} - P_{open, t}}{P_{open, t}} \times 100 (\%)\]이 수식들은 실제 개장 시간과 장 마감 시점 간의 정보 격차를 통제합니다. 장 마감 이후 공시된 정보(이벤트 발생 시간 \(T > 15:30\))의 경우, 통계적 왜곡을 막기 위해 차기 거래일을 분석 기산일(\(t\))로 강제 보정합니다. 또한, 이벤트 기간 도중 상장적격성 심사나 기타 이유로 주식 매매 거래정지가 발생한 경우, 거래 정지 기간 동안의 무변동 일수는 분모 및 분자 기간에서 제외하고 실제 시장 거래가 재개된 거래일 기준으로 시계열을 수축(Time Compression)하여 계산을 완료합니다.
4. 세 가지 시나리오 모델
본 플랫폼의 핵심인 'AI 미래 시나리오 예측 엔진'은 과거의 가격 움직임과 통계 모델의 결합을 통해 향후 6개월(120거래일)간의 확률적 주가 전개 밴드를 도출합니다. 사용자는 각기 다른 가정을 기반으로 설계된 세 가지 알고리즘을 독립적으로 선택하여 대조 분석할 수 있습니다.
A. 역사적 패턴 매칭 (Pearson Correlation Matching)
최근 6개월(또는 3, 9개월) 동안의 타깃 종목 주가 시계열 리턴 벡터 \(X = [x_1, x_2, \dots, x_n]\)와 데이터베이스 내 전체 국내 바이오 종목들의 역사적 15년 시계열 임의 구간 리턴 벡터 \(Y = [y_1, y_2, \dots, y_n]\) 간의 피어슨 상관계수(Pearson Correlation Coefficient) \(r\)을 전수 연산합니다:
\[r = \frac{\sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n} (x_i - \bar{x})^2 \sum_{i=1}^{n} (y_i - \bar{y})^2}}\]상관계수 \(r \ge 0.75\)의 강력한 정(+)의 형태 유사성을 충족하는 매칭 구간들을 추출한 뒤, 과거 사례의 유사 시점 이후 6개월 가격 경로를 가중 합산 및 정규화하여 투영합니다. 이는 과거 시장 참여자들의 심리적 지지와 과열 국면이 유사한 형태의 차트 흐름에서 반복된다는 기술적 가정을 전제합니다.
B. 몬테카를로 시뮬레이션 (Geometric Brownian Motion)
주가의 움직임을 금융 공학적 확률 과정인 기하 브라운 운동(GBM, Geometric Brownian Motion) 모형으로 정형화합니다. 자산 가격 \(S_t\)는 다음의 확률 미분 방정식(SDE)을 따릅니다:
\[dS_t = \mu S_t dt + \sigma S_t dW_t\]여기서 \(\mu\)는 자산의 기대 평균 로그 수익률인 Drift(추세 성분)이고, \(\sigma\)는 자산의 로그 수익률 표준편차인 Volatility(변동성 성분)입니다. \(W_t\)는 표준 브라운 운동(Wiener Process)으로, 연속 시간 상의 확률적 충격을 나타냅니다. 이 방정식의 해석적 해(Analytical Solution)는 다음과 같습니다:
\[S_t = S_0 \exp\left( \left(\mu - \frac{\sigma^2}{2}\right)t + \sigma W_t \right)\]최근 6개월 일봉 가격 데이터로부터 최우추정법(MLE)을 통해 \(\mu\)와 \(\sigma\) 매개변수를 실시간 추정합니다. 이후 컴퓨터 알고리즘을 통해 독립적인 무작위 표준 정규 분포 난수를 1,000회 이상 생성하여 미래 120거래일의 가격 경로를 시뮬레이션합니다. 도출된 전체 시나리오 중 상위 5% 경계를 낙관 시나리오, 하위 5% 경계를 비관 시나리오, 중앙값(Median)을 중심 예측 경로로 정의하여 90%의 통계적 신뢰 구간을 차트에 시각화합니다.
C. 이벤트-드리븐 모멘텀 모델 (Event-Driven Decay Model)
개별 바이오텍의 파이프라인 마일스톤 도달 및 예정된 연구 발표 일정이 미치는 가격 충격과 시차 변동을 통계적으로 공식화합니다. 과거 동일 이벤트 범주 내의 평균 당일 반응값 \(\alpha\)와 시장 정보 소화에 따른 감쇄 계수 \(\lambda\)를 결합한 **정보 모멘텀 감쇄 방정식**을 사용합니다:
\[I(t) = \alpha \cdot e^{-\lambda t}\]여기서 \(\lambda\)는 뉴스의 영향력이 시장에 완전히 소화 및 소멸하기까지 걸리는 반감기를 결정하는 지수적 감쇄 상수(Decay Constant)입니다. 국내 바이오 시장의 경우 역사적 통계치 기준 평균 반감기는 약 3.8거래일로 측정됩니다. 이 모멘텀 충격파 함수를 몬테카를로 시나리오 엔진의 Drift 매개변수에 시간에 따른 함수 \(\mu(t) = \mu_0 + I(t)\) 형태로 동적으로 합성하여, R&D 모멘텀이 존재하는 시기의 독특한 주가 비대칭 랠리와 급락 패턴을 시뮬레이션합니다.
5. 품질 관리와 갱신
수집된 통계 연산 결과와 동적 데이터베이스의 완전성을 유지하기 위해 자동화된 코드 무결성 검증 프로세스를 구축했습니다. 개발자는 코드 릴리즈 전 모든 하위 컴포넌트의 모듈 호출을 점검하고, 자바스크립트 컴파일 문법 오류, 데이터 파일 정합성, 모듈 의존성 등을 사전 검사합니다. 특히 시세 제공자 API 데이터 포맷에 미세한 변화가 발생하더라도 백업 엔진으로의 폴백 동작이 차단 없이 원활히 가동되는지 교차 통합 테스트를 수행합니다. 과거 시나리오 예측 모델의 예측치와 사후 실제 주가 사이에 오차가 발생하더라도, 모델의 통계적 검증 가능성 및 객관성을 해치지 않기 위해 과거 예측 테이블 값을 임의로 사후 갱신하는 조작 행위를 엄격히 금지합니다.
6. 해석할 때 피해야 할 오류
- 상관성과 인과성 혼동: 역사적 패턴 매칭에서 도출된 유사한 과거 차트의 흐름이 두 기업 간의 사업적 협력이나 실질적인 영업 가치 유사성을 보증하는 인과 지표가 아닙니다.
- 임상 성공 단정: 임상 1상 또는 2상 단계의 성공 결과 발표 공시를 최종 상업화 및 품목 허가 성공으로 오해해 과도한 프리미엄을 부여해서는 안 됩니다.
- 계약 규모 착시: 총 기술 수출 규모 금액만을 보고 대규모 매출 유입을 기대해서는 안 되며, 반환 조건 유무와 선급금의 절대 비중을 기준으로 실질 수취 가치를 평가해야 합니다.
- 백업 차트 오인: 시스템의 시세 갱신 지연 상태에서 가동되는 연속성 백업 데이터를 최신의 즉각적 호가 상태로 혼동하여 실제 증권 거래의 실시간 참고 수치로 활용해서는 안 됩니다.
- 확률적 한계 인식: 모델이 제시하는 상승 예측 확률은 과거 입력 데이터와 기하 브라운 운동 모형의 수학적 분포 연산 결과일 뿐이며, 거시경제 충격, 지배구조 이슈, 분식회계 등 통계 모형에 포착되지 않는 비정형 외생 변수를 반영하지 못하므로 맹신해서는 안 됩니다.