서론: 왜 이 지표, 왜 이 종목
최소제곱 이동평균(LSMA, Least Squares Moving Average)은 최근 n개 종가에 직선을 하나 긋고, 그 직선이 오늘 가리키는 값을 지표로 삼는다. 단순 이동평균이 창 안의 평균값을 그대로 보여 준다면, LSMA는 창 안의 기울기를 반영해서 한 걸음 앞을 본다. 그래서 같은 기간을 써도 단순 이동평균보다 가격에 바짝 붙는다. 바짝 붙는 대신 방향이 꺾일 때 잔 흔들림도 그대로 따라간다. 이 글은 그 양면을 실제 일봉으로 재 본다.
종목은 현대로템이다. 7월 15일 종가 167,700원에서 출발해 9월 28일 115,700원까지 내려왔다. 장중 고점 173,400원과 저점 113,100원을 잡으면 낙폭이 34.78%다. 7월 27일 하루에만 종가가 158,400원에서 132,500원으로 16.35% 꺼졌고, 이틀 뒤 거래량은 1,243,811주로 구간 최대를 찍었다. 급락, 반등, 완만한 재하락이 모두 들어 있어서 추세 추종 성격의 지표를 시험하기에 좋은 표본이다.
종목 현대로템 (KRX 064350)
구간 2026-07-15 ~ 2026-09-28 (50거래일)
출처 stockanalysis.com 일봉
--------------------------------------------------
최고가 173,400원 (07-15)
최저가 113,100원 (07-29)
종가 167,700원 (첫날) → 115,700원 (마지막날)
종가 등락 -31.01%한 가지 한계를 먼저 밝힌다. 이번에 확보한 일봉은 50거래일이 전부다. 요청 파라미터를 바꿔 여러 번 더 받아 봤지만 같은 표가 돌아왔다. 겹치는 행의 값은 요청마다 일치했다. 다만 표본이 짧아서 결론이 두꺼워질 수는 없다.
이 글은 지표 계산 결과를 기록한 것이며 투자 권유가 아니다. 매매 판단과 손익은 본인 책임이다.

본론: 계산, 실측, 검증
계산식
기간 n의 LSMA는 창 안의 종가 y(0)부터 y(n-1)까지에 최소제곱 직선을 맞추고, 그 직선의 마지막 지점 값을 취한다. x는 0부터 n-1까지의 순번이다.
기울기 b = (n·Σxy - Σx·Σy) / (n·Σx² - (Σx)²)
절편 a = (Σy / n) - b · (Σx / n)
LSMA = a + b · (n - 1)
--------------------------------------------------
동치식 LSMA = 3 · WMA(n) - 2 · SMA(n)
교차 신호 종가가 LSMA를 아래에서 위로 뚫으면 매수
위에서 아래로 뚫으면 매도동치식은 계산이 맞는지 확인하는 데 썼다. 9월 28일 값을 회귀식으로 구하면 116,271.38원이고, 가중이동평균(WMA)과 단순이동평균(SMA)으로 3배 빼기 2배를 해도 똑같이 116,271.38원이 나온다. numpy로 직접 짰고 지표 라이브러리는 쓰지 않았다.
파라미터와 예열 구간
기본은 25일로 잡았다. 널리 쓰는 기본값이라 다른 글과 비교하기 쉽다. 여기에 14일과 10일을 붙여 민감도를 봤다. 50일은 시도조차 할 수 없다. 데이터가 50개뿐이라 유효값이 딱 하나 나오기 때문이다.
예열 때문에 유효값이 줄어든다. 25일선은 첫 24거래일 동안 값이 없고 8월 20일에야 시작한다. 유효값은 26개다. 14일선은 37개, 10일선은 41개다. 25일선의 첫 교차 판정은 그 다음 날부터 가능해서, 아래 신호는 모두 8월 하순 이후에 몰려 있다. 그 앞의 급락과 반등 구간은 25일선의 계산에 아예 들어오지 못했다.
신호 여섯 개를 전수로 본다
25일선에서 종가와 LSMA가 교차한 날은 6일이다. 각 신호를 다음 반대 신호가 나올 때까지 들고 갔다고 보고, 그 사이 종가 변화율로 방향을 채점했다. 마지막 신호는 9월 28일 종가까지만 본다.
날짜 신호 종가 LSMA 다음 신호까지
--------------------------------------------------
08-27 매수 138,600원 137,969원 +0.36% 맞음(간신히)
08-28 매도 139,100원 140,093원 -9.20% 맞음
09-08 매수 126,300원 126,278원 -5.38% 틀림
09-16 매도 119,500원 119,828원 +2.34% 틀림
09-17 매수 122,300원 119,477원 -2.86% 틀림
09-21 매도 118,800원 119,077원 -2.61% 맞음(진행 중)맞은 것부터 적는다. 8월 28일 매도는 이후 9월 8일 매수 신호까지 종가가 9.20% 밀리는 동안 방향을 지켰다. 9월 21일 매도도 9월 28일 종가 115,700원까지 2.61% 더 내려가서 지금까지는 맞았다. 다만 아직 다음 신호가 나오지 않았으니 진행 중이다.
빗나간 쪽이 더 인상적이다. 9월 8일 매수는 종가가 LSMA 위로 고작 22원 올라선 날이었다. 126,300원과 126,278원의 차이다. 이 정도 교차는 잡음과 구분되지 않는다. 그 뒤 종가는 5거래일 만에 121,400원까지 내려 3.88% 빠졌고, 9월 16일 매도 신호가 나올 때는 119,500원이었다. 5.38% 손실이다.
9월 16일 매도는 더 나빴다. 하루 뒤 종가가 122,300원으로 뛰어 매수 신호가 켜졌고, 매도 시점보다 2.34% 비싸게 되사게 된다. 그러고 9월 17일 매수 신호를 따라 산 뒤로는 9월 21일에 118,800원, 9월 28일에 115,700원으로 미끄러졌다. 매수 후 5거래일 종가로 재면 5.40% 하락이다. 8월 27일 매수는 신호 다음 날 바로 매도 신호가 나와 0.36%로 겨우 체면을 지켰고, 그 종가에서 5거래일 뒤를 보면 126,400원으로 8.80% 낮다. 채점 방식에 따라 결과가 크게 갈린다는 뜻이다.
여섯 개 중 세 개가 맞았다. 매수 신호만 따로 보면 세 개 중 하나, 매도 신호는 세 개 중 둘이다. 하락 추세에서 매도가 더 잘 맞는 건 당연하다. 눈여겨볼 대목은 신호가 9월 8일부터 9월 21일 사이 2주 안에 네 개나 몰렸다는 점이다.

파라미터를 바꾸면
같은 규칙을 10일선과 14일선에 적용했다.
기간 유효값 신호 수 맞은 수
--------------------------------------------------
10일 41개 8개 4개
14일 37개 7개 3개
25일 26개 6개 3개10일선은 신호가 8개로 가장 많고 4개가 맞았다. 7월 31일 매수는 다음 신호까지 12.34% 올랐고, 8월 10일 매도는 10.65% 하락을 피했다. 그러나 9월 이후에는 15일, 17일, 21일 사이에 신호가 이틀 간격으로 엇갈려 채점이 무의미할 만큼 잘게 쪼개졌다. 14일선은 8월 13일 매도가 7.59% 하락을 잘 잡았지만 8월 26일 매수와 9월 8일 매수는 각각 4.47%, 5.38% 손실로 끝났다. 세 기간 모두 맞은 비율이 절반 언저리에서 움직이고, 기간을 늘려도 개선되지 않았다.

봇 게이트에 넣을 것인가
단독 게이트로는 넣지 않는다. 이유는 셋이다. 첫째, 하락 추세에서 종가와 LSMA가 붙어서 움직이면 교차가 잦아지고 교차 폭이 22원 수준까지 얇아진다. 둘째, 표본이 50거래일이라 승률 3/6과 4/8을 통계로 읽을 수 없다. 셋째, 신호가 맞은 날이 방향 필터 덕이지 LSMA 자체의 예측력 덕인지 이 데이터로는 갈라낼 수 없다. 넣는다면 종가와 LSMA의 이격이 일정 폭 이상일 때만 신호를 인정하는 필터를 붙이는 쪽이다. 그 폭을 얼마로 잡을지는 더 긴 표본으로 다시 재야 한다.
결론: 개인 소회
이번 표본에서 남길 것은 두 가지다. 하나는 LSMA가 가격에 너무 잘 붙어서 횡보와 완만한 하락에서 교차를 남발한다는 점이다. 9월 8일의 22원 차이 신호가 그 사례다. 다른 하나는 예열이다. 25일선은 50거래일 중 26일에만 값이 있었고, 7월 말 급락과 8월 초 25.06% 반등은 지표가 보지 못했다. 반등 뒤 고점 종가 150,200원에서 9월 28일까지는 22.97% 내려왔는데, 그 하락의 앞 절반도 25일선 바깥이다.
지표가 꺾이는 시점을 앞당긴다는 LSMA의 장점은 이번 표본에서 확인되지 않았다. 8월 28일 매도 신호는 종가 139,100원에서 나왔고 그 뒤 종가는 9월 28일까지 16.82% 더 내려갔으니 방향은 맞았다. 하지만 같은 날 LSMA는 140,093원이라 종가 바로 위에 있었을 뿐, 꺾임을 미리 알린 신호는 아니었다. 그 이전 8월 13일에 이미 14일선이 매도를 냈다는 점을 생각하면 25일선의 매도는 오히려 늦었다.
9월 28일 종가는 115,700원, LSMA는 116,271원으로 종가가 0.49% 아래에 있다. 다음 교차가 매수로 나올지, 하락 속의 반짝 반등일지는 이 데이터로 판단할 수 없다. 표본을 더 늘려 다시 확인할 숙제로 남긴다.
이 글은 교육과 기록 목적의 분석이며 투자 권유가 아니다.
약어 풀이
* 이 글에 나온 영어 약어를 풀어 둔다.
- LSMA (Least Squares Moving Average): 최소제곱 이동평균. 최근 n개 종가에 회귀 직선을 맞추고 그 끝점을 값으로 쓴다.
- SMA (Simple Moving Average): 단순 이동평균. 최근 n개 종가의 산술평균이다.
- WMA (Weighted Moving Average): 가중 이동평균. 최근 종가에 더 큰 가중치를 준다.
- KRX (Korea Exchange): 한국거래소. 코스피가 속한 시장이다.