서론: 고가와 저가의 한가운데만 본다

중앙가격(Median Price)은 그날의 고가와 저가를 더해 둘로 나눈 값이다. 시가는 계산에 들어가지 않는다. 종가도 들어가지 않는다. 장중에 가장 높이 간 값과 가장 낮게 간 값, 이 두 점의 중간 하나만 본다.

종가는 마감 동시호가의 주문 몇 건에도 움직인다. 고저의 중간값은 하루 전체의 범위에서 뽑으니 마지막 몇 분의 소란을 덜 탄다. 이동평균의 재료로 종가 대신 이 값을 쓰는 사람이 있는 까닭이다. 이 글은 그 가설을 삼성바이오로직스 일봉으로 시험한다. 종가 기반 신호와 중앙가격 기반 신호를 같은 파라미터로 나란히 놓고, 어느 쪽이 나았는지 따진다.

이 종목을 고른 이유는 종가와 중앙가격이 크게 벌어지는 날이 구간 안에 여럿 있기 때문이다. 7월 24일은 시가 1,380,000원에서 출발해 종가 1,518,000원으로 마감했고 거래량은 198,056주였다. 8월 20일은 시가 1,622,000원으로 열어 놓고 종가는 1,574,000원이었다. 이런 날에는 어떤 가격을 쓰느냐에 따라 이동평균의 모양이 달라진다.

이 글의 데이터 범위
종목      삼성바이오로직스
코드      207940 (KRX)
구간      2026-07-22 ~ 2026-10-02, 50거래일
출처      stockanalysis.com 일봉
--------------------------------------------------
최고가    1,645,000원 (8/20)
최저가    1,350,000원 (10/2)
종가      1,354,000원 (10/2)
낙폭      고가 대비 마지막 종가 -17.69%

데이터에는 한계가 있다. 규격은 60거래일 이상을 요구하지만 이 출처가 내주는 일봉은 7월 22일부터 10월 2일까지 50거래일이 전부였다. 기본 요청, 3개월 요청, 6개월 요청, 1년 요청을 모두 시도했고 겹치는 행의 값은 전부 일치했다. 그러나 7월 22일 이전 행은 어느 요청에서도 나오지 않았다. 출처가 하나뿐이라 다른 곳과 대조하지는 못했다. 8월 17일과 9월 24일, 25일은 표에 행이 없어 계산에서도 뺐다.

이 글은 투자 권유가 아니다. 지표를 계산하고 그 결과를 검증한 학습 기록이다.

본론: 계산하고, 신호를 세고, 틀린 것을 센다

삼성바이오로직스 50거래일 캔들과 거래량

계산식은 두 줄이다. 먼저 중앙가격, 그다음 그 값의 단순이동평균(SMA)이다.

계산식
중앙가격   M(t) = ( H(t) + L(t) ) / 2
이동평균   SMA(M,k)(t) = ( M(t) + M(t-1) + ... + M(t-k+1) ) / k
--------------------------------------------------
매수  SMA(M,5) 가 SMA(M,10) 을 아래에서 위로 교차
매도  SMA(M,5) 가 SMA(M,10) 을 위에서 아래로 교차
평가  신호일 종가 대비 5거래일 뒤 종가의 방향

파라미터는 5와 10으로 잡았다. 5거래일은 일주일, 10거래일은 이주 치다. 50거래일 표본에서 이보다 긴 기간은 값이 너무 적게 남는다. 이동평균은 기간만큼 앞쪽 값이 비는 예열 구간이 있다. 5일 이동평균은 46개, 10일은 41개, 20일은 31개만 유효하다. 20일짜리는 신호가 나올 틈이 거의 없었고, 그 사실은 아래 민감도에서 다시 나온다.

먼저 종가와 중앙가격의 간격부터 본다. 50일 중 종가가 중앙가격보다 높게 끝난 날이 28일, 낮게 끝난 날이 22일이다. 평균 간격은 +2,830원이고 절댓값 평균은 15,070원이다. 중앙가격 대비로는 평균 1.02%만큼 벌어진다. 2%를 넘긴 날은 8일이다. 가장 큰 날은 7월 24일로 중앙가격 1,458,500원에 종가 1,518,000원, 차이 +59,500원이었다.

종가와 중앙가격, 그리고 두 값의 차이

고점의 날짜도 다르게 찍힌다. 종가 기준 최고치는 8월 11일의 1,609,000원이다. 중앙가격 기준 최고치는 8월 27일의 1,597,500원으로, 거래일로 11일 뒤다. 8월 11일은 시가 1,571,000원에서 종가 1,609,000원까지 오른 날이고 고가가 1,623,000원이라 종가가 고가 근처에서 끝났다. 8월 27일은 고가 1,611,000원, 저가 1,584,000원의 좁은 하루였다. 같은 구간을 보고도 두 가격은 정점을 서로 다른 날로 지목한다. 저점도 마찬가지다. 중앙가격의 최저치는 9월 29일의 1,376,000원인데 종가의 최저치는 마지막 날 1,354,000원이다.

하루 변동폭은 평균 50,620원이었고 가장 컸던 날은 7월 24일의 157,000원이다. 고가에서 저가를 뺀 이 폭의 어디에서 마감했는지를 따로 계산해 보면, 종가 위치는 평균 56.02%였다. 저가를 0%, 고가를 100%로 놓았을 때 대체로 중간보다 조금 위에서 끝났다는 뜻이다. 중앙가격과 종가의 간격이 양수인 날이 28일로 더 많았던 것과 같은 이야기다.

마지막 날은 반대 방향으로 벌어졌다. 10월 2일 중앙가격은 1,389,500원이고 종가는 1,354,000원, 차이는 -35,500원(-2.55%)이다. 이날 종가는 전일 1,429,000원보다 -5.25% 내렸다. 중앙가격은 전일 1,415,000원에서 -1.80% 내리는 데 그쳤다. 이게 이 지표의 성격을 가장 잘 보여주는 장면이다. 급락을 덜 흔들리게 보여주는 대신, 급락이 얼마나 컸는지도 덜 알려 준다.

이제 신호를 전수로 나열한다. 5일과 10일 이동평균 교차는 구간 안에 다섯 번 나왔다.

중앙가격 SMA 5/10 교차 신호 전수
신호일  방향  신호일 종가   5거래일 뒤 종가   변화율   판정
--------------------------------------------------
08-05   매도  1,491,000원   1,549,000원   +3.89%   빗나감
08-10   매수  1,569,000원   1,531,000원   -2.42%   빗나감
08-20   매도  1,574,000원   1,594,000원   +1.27%   빗나감
08-26   매수  1,599,000원   1,501,000원   -6.13%   빗나감
09-01   매도  1,520,000원   1,440,000원   -5.26%   적중

중앙가격 SMA 5/10 교차 신호

다섯 개 중 네 개가 틀렸다. 8월 5일 매도 뒤에는 가격이 +3.89% 올랐고, 8월 20일 매도 뒤에도 +1.27% 올랐다. 8월 10일 매수 뒤에는 -2.42% 내렸다. 가장 아픈 것은 8월 26일 매수다. 종가 1,599,000원은 이 구간 종가 중 두 번째로 높았고, 5거래일 뒤 -6.13%로 내려앉았다. 신호는 고점 근처에서 따라 사라고 말한 것이다. 맞은 하나는 9월 1일 매도인데, 8월 26일 종가 1,599,000원에서 이미 -4.94% 내려온 뒤에 나온 신호였다. 하락의 초입이 아니라 중간에서 울린 경보다. 중앙가격의 최고치인 8월 27일에서는 3거래일 뒤였고, 종가의 최고치인 8월 11일에서는 14거래일 뒤였다. 어느 고점을 기준으로 삼느냐에 따라 같은 신호가 빠르게도 늦게도 읽힌다. 그래도 방향은 맞았다. 이 신호 이후 마지막 종가까지는 -10.92%가 더 빠졌으니 늦은 경보도 값어치가 전혀 없었다고는 못 하겠다. 다만 사후에 고른 시점이라는 점은 밝혀 둔다.

민감도: 종가로 바꾸면, 기간을 바꾸면

같은 평가 방식으로 기간 조합과 재료를 바꿔 봤다.

기간 조합별 신호 수와 적중 수

3일/10일 조합은 중앙가격 기준으로 신호가 7개 나왔고 마지막 하나는 5거래일 뒤 값이 없어 평가에서 뺐다. 6개 중 2개가 맞았다. 종가 기준은 신호 5개, 평가 가능 4개, 적중 1개다. 중앙가격 쪽이 한 건 많이 맞았지만 이 한 건은 8월 24일 매수, 25일 매도, 26일 매수로 사흘 연속 방향이 뒤집힌 구간에서 나왔다. 하루 만에 뒤집히는 신호가 우연히 한 번 맞은 것이다. 이걸 중앙가격의 장점이라고 부를 수는 없다.

5일/10일은 중앙가격 신호 5개에 적중 1개, 종가 신호 6개에 적중 1개로 같다. 재료를 바꿔도 적중률은 20.00% 근처에서 움직이지 않았다. 5일/20일과 10일/20일은 신호가 각각 하나뿐이다. 9월 1일과 9월 3일에 매도 신호가 나왔고 둘 다 맞았지만, 표본 한 개로 적중률 100.00%를 말하는 것은 무리다. 앞선 5/10 신호들이 줄줄이 틀린 구간에서 20일선은 침묵했다는 사실만 기록해 둔다. 그 침묵이 현명했는지는 이 표본으로 가리지 못한다.

결론: 봇 게이트에는 넣지 않는다

중앙가격 자체는 방향을 말하지 않는다. 이동평균에 얹어야 비로소 신호가 된다. 이번 구간에서는 그렇게 얹은 신호가 종가 기반보다 나을 게 없었다. 5/10 조합에서 신호 수는 1건 적었고 적중은 같았다. 이 정도 차이로 게이트에 새 조건을 넣을 이유는 없다. 봇 진입 조건에는 넣지 않는다.

남길 것은 두 가지다. 하나는 중앙가격이 급락의 크기를 줄여서 보여준다는 점이다. 10월 2일의 -5.25%가 -1.80%로 보였다. 손절 기준을 중앙가격으로 잡았다면 그날 청산이 늦어졌을 것이다. 다른 하나는 신호 수가 적을수록 해석이 위험해진다는 점이다. 50거래일에 신호 다섯 개는 어느 쪽으로도 결론을 내기에 모자란다.

이 검증의 약점도 적어 둔다. 평가 기준을 5거래일 뒤 종가 하나로 고정했다. 신호 뒤 3거래일이나 10거래일을 기준으로 삼으면 판정이 바뀌는 신호가 있을 수 있다. 이번에는 그 변형을 계산하지 않았다. 구간이 50거래일뿐이어서 기준을 여러 개 돌리면 우연히 좋아 보이는 조합이 나올 위험이 오히려 커진다고 판단했다.

풀리지 않은 것이 하나 있다. 마지막 날 종가는 중앙가격보다 2.55% 아래에서 끝났다. 고가에서 저가 쪽으로 밀리며 마감한 날이다. 이런 마감이 다음 날의 약세로 이어졌는지는 이 표본에 답이 없다. 같은 종목이 다시 순서에 돌아오면 그날부터의 일봉으로 확인해 볼 숙제다.

이 글은 학습용 기록이며 매수·매도 권유가 아니다. 투자 판단과 손익의 책임은 투자자 본인에게 있다.

약어 풀이

* 이 글에 나온 영어 약어를 풀어 둔다.

  • SMA (Simple Moving Average): 단순이동평균. 최근 k일 값을 모두 더해 k로 나눈 평균이다.
  • KRX (Korea Exchange): 한국거래소. 종목코드가 상장된 시장이다.