CHAPTER 08 / SECTION 03
8.3 로지스틱 회귀로 거래 방향 예측하기
방향 확률을 학습하고 보정한 뒤 주문 규칙으로 연결합니다.
주문에 필요한 답을 라벨로 만든다
연구자가 금요일에 ETF를 보며 다음 21거래일 수익률이 0%를 넘을지 판단한다고 하자. +2%와 +50%를 모두 상승으로 기록하면 드문 급등이 수익률 제곱 손실을 지배하는 문제를 피할 수 있다. 대신 그 두 수익률의 크기 차이가 사라진다. 열 번 중 여섯 번 +1%를 맞히고 나머지 네 번 −3%를 겪으면, 같은 원금을 건별로 투자한 손익 합은 비용 전에도 다. 방향을 얼마나 자주 맞혔는지와 맞거나 틀렸을 때 얼마를 버는지 함께 봐야 한다.
상승 여부를 Binary Label(이진 라벨)로, 매수·관망·매도를 Three-class Label(세 범주 라벨)로 만들 수 있다. 양 극단만 거래한다면 과거 상위·하위 분위만 사용해 분류할 수 있다. 중간 관측을 빼면 모델의 확률은 양 극단으로 한정한 표본에서 학습된 값이다. 전체 시장에서 상위 분위에 들 확률로 사용하려면 전체 관측에서 별도로 평가하거나 보정해야 한다.
점수를 상승 확률로 바꾼다
Linear Score(선형 점수)는 절편에 모멘텀, 변동성 등의 가중합을 더한 값이다. 이 값은 음수나 1보다 큰 수가 될 수 있다. Logistic Regression(로지스틱 회귀)은 Sigmoid Function(시그모이드 함수)으로 점수를 0과 1 사이로 변환한다. 점수 0은 확률 50%이며 점수가 커질수록 확률은 100%에 가까워진다.
- Positive Class Probability(양성 범주 확률). 0에서 1 사이, 단위 없음.
- Linear Score or Log-odds(선형 점수 또는 로그 오즈). 양성 대 음성 확률 비율의 자연로그, 단위 없음.
- Euler’s Number(자연로그의 밑). 약 2.718, 단위 없음.
표준화한 모멘텀의 계수가 0.5면 모멘텀이 표준편차 한 단위 오를 때 로그 오즈에 0.5를 더한다. 초기 확률이 50%라면 새 확률은 다. 초기 확률이 90%라면 오즈는 9이고 여기에 를 곱해 약 14.84를 얻는다. 새 확률은 다. 계수만큼 일정하게 움직이는 값은 확률 자체가 아니라 로그 오즈다.
모델은 실제 상승 행에서 높은 상승 확률을, 하락 행에서 낮은 상승 확률을 줬을 때 손실이 줄도록 계수를 학습한다. Cross-Entropy(교차 엔트로피) 또는 Log Loss(로그 손실)는 실제 범주에 준 확률의 음의 로그다. 상승한 날 80%를 줬다면 손실은 약 0.22이고, 20%를 줬다면 약 1.61이다. 조건부 확률을 잘 표현할 수 있는 모형과 안정적인 데이터에서는 이 손실을 줄이는 일이 확률 추정과 맞물린다.
세 범주의 확률을 한 번에 계산한다
예를 들어 미래 수익률이 +1%보다 크면 매수, −1%보다 작으면 매도, 그 사이는 관망으로 라벨링한다. 경계 근처의 작은 움직임이 바로 매수에서 매도로 바뀌는 일을 줄인다. Multinomial Logistic Regression(다항 로지스틱 회귀)은 범주별로 별도 계수를 적합한다. Softmax(소프트맥스)는 범주 점수 각각의 지수값을 그 합으로 나눈다.
- Class Probability(범주 확률). 범주별 합이 1인 확률, 단위 없음.
- Class Scores(범주 점수). 각 범주의 절편과 특성 가중합, 단위 없음.
- Class Count(범주 수). 개.
- Class Index(범주 번호). 단위 없음.
- Euler’s Number(자연로그의 밑). 약 2.718, 단위 없음.
세 지수값이 6, 3, 1이면 확률은 60%, 30%, 10%다. 범주를 늘리면 중간 결과를 구분할 수 있지만 적합할 계수가 늘고 각 범주에 충분한 학습 사례가 필요하다.
확신이 무한히 커지는 학습을 막는다
훈련 표본에서 양성 행의 모멘텀이 모두 양수이고 음성 행은 모두 음수라고 하자. 모멘텀 계수를 계속 키우면 모든 훈련 확률이 정답 쪽의 0 또는 1로 다가가므로, 벌점이 없으면 유한한 최대우도 해가 없을 수 있다. 이를 Complete Separation(완전 분리)이라고 한다. 입력이 많으면 이런 경계가 우연히 생기기 쉽고 거의 분리된 경우에도 계수가 커질 수 있다. 로지스틱 회귀는 제곱오차 대신 로그 손실에 L1, L2 또는 혼합 벌점을 더해 이를 억제한다. 강도의 역수로 쓰는 설정값 가 커지면 벌점이 약해지는 표기 방식도 있으므로 모델 간 수치를 그대로 옮기지 않는다.
70%라는 점수가 실제 빈도와 맞는지 확인한다
상승 확률을 약 70%로 낸 ETF 관측 100개 중 실제 상승이 55개라면, 이 구간에서 예측은 15%p 높다. Probability Calibration(확률 보정)은 새 표본에서 비슷한 확률을 받은 관측의 실제 양성 비율이 그 확률과 맞도록 한다. 방향만 제대로 정렬해도 확률 수준은 어긋날 수 있다. 정규화는 극단 점수를 기본 발생률 쪽으로 당길 수 있고, 모델이 관계의 굴곡을 못 담거나 표본에 가중치를 주거나 시장이 변해도 보정이 틀어질 수 있다.
시간 순서로 모델 훈련과 보정 기간을 분리한다. 보정 기간에서 기본 모델을 고정한 채 점수와 실제 라벨을 모은다. Platt Scaling(플랫 보정)은 원점수에 다시 시그모이드를 적합한다. Isotonic Regression(등장 회귀)은 점수 순서가 높을수록 확률이 낮아지지 않는 계단 함수를 적합한다. 계단이 여러 개면 더 다양한 오차를 보정할 수 있지만 데이터가 적을 때 우연한 빈도 차이를 따라가기 쉽다. 보정 함수까지 고정한 다음 더 늦은 시험창에서 확인한다.
보정 그래프의 가로축은 각 확률 구간의 평균 예측, 세로축은 실제 양성 비율이다. 두 값이 같은 대각선과 비교한다. 예측이 60%에서 80%로 커지며 실제 빈도도 50%에서 60%로 커지면 순서는 맞지만 두 구간 모두 과신이다. 표본 수가 적은 극단 구간은 빈도의 흔들림도 함께 읽는다.
같은 확률도 주문 규칙에 따라 다르게 쓰인다
세 ETF의 상승 확률이 각각 68%, 57%, 35%라고 하자.
| 주문 변환 | 이 입력에 적용 | 확인할 조건 |
|---|---|---|
| Threshold Rule(임계값 규칙) | 60% 초과는 매수, 40% 미만은 매도라면 매수·관망·매도 순이다. | 확률 수준과 비용이 중요하다. 공매도 비용이 크면 매도 기준을 더 엄격하게 둘 수 있다. |
| Probability Weighting(확률 가중) | 50%에서 뺀 차이 18%p, 7%p, −15%p에 비례해 비중을 정한다. | 50%가 중립인 설정에 맞는지 확인한다. 실제 손익 크기와 비용이 비대칭이면 손익분기 확률도 다르다. |
| Rank Rule(순위 규칙) | 셋 중 상위 한 개를 매수하고 하위 한 개를 매도한다. | 단조 보정은 동점이 생기는 경우를 제외하면 순서를 보존한다. 모든 확률이 낮아도 상대 순위로 거래할 수 있다. |
- 이전 창
라벨 기준을 확정하고 모델과 보정기를 별도 시기에 적합한다. 검증에서 주문 문턱과 비용 가정을 정한다. - 판단 시점
당시 관측 가능한 입력만으로 확률을 계산하고, 같은 시점 자산에 고정 규칙을 적용한다. - 체결과 보유 후
확정 라벨로 확률을 채점하고, 이전 비중에서 바뀐 거래량과 비용을 손익에 반영한다.
나중에 결과를 보고 주문 문턱을 바꾸면 같은 시험 기록의 독립성이 사라진다.
드문 사건에서는 맞힌 비율의 분모부터 확인한다
100개 중 큰 상승이 5개라면 모두 음성이라고 해도 정확도가 95%다. 이 모델은 큰 상승 후보를 한 개도 골라내지 못했다. Class Weighting(범주 가중)은 학습 중 희귀 범주의 오분류에 더 큰 비용을 준다. 빈도 역수 가중에서 5개와 95개라면 양성 한 행의 비중은 음성 한 행의 19배다. 학습한 경계나 확률도 달라질 수 있으므로, 원래 발생률에 맞는 시험 데이터에서 다시 평가한다. 고유성·최신성 가중과 함께 쓰면 소수 위기 시점에 비중이 몰릴 수 있다. 유효 표본 수와 국면별 표본 분포를 점검한다.
10개를 상승 후보로 골랐고 그중 3개가 실제 상승, 전체 상승은 5개라고 하자. Precision(정밀도)은 로, 낸 신호 중 맞은 비중이다. Recall(재현율)은 로, 실제 사건 중 찾은 비중이다. 문턱을 낮춰 후보를 늘리면 더 많이 찾을 수 있지만 오탐도 늘 수 있다. Precision–Recall Curve(정밀도–재현율 곡선)는 희귀 사건을 얼마나 많이 잡는 대신 얼마나 자주 틀리는지 보여 준다.
Receiver Operating Characteristic Curve(수신자 조작 특성 곡선, ROC)는 문턱을 움직일 때 양성을 찾아낸 비율과 음성을 양성으로 잘못 고른 비율을 비교한다. Area Under the ROC Curve(ROC 곡선 아래 면적, AUC)는 무작위 양성에 무작위 음성보다 더 높은 점수를 줄 확률로 읽을 수 있으며 동점은 반으로 계산한다. 0.5는 무작위 순위 기준이다. 금융에서 유난히 높은 값이 나오면 미래 정보나 특정 추세 구간에 성과가 몰렸는지 확인한다. F1 Score(F1 점수)는 정밀도와 재현율의 조화평균이다. 둘 중 하나가 낮으면 F1도 낮아지지만, 오탐 한 건의 거래 비용과 놓친 기회의 가치를 직접 반영하지는 않는다. 점수가 좋아도 어느 문턱에서 거래할지는 별도로 정한다.
Brier Score(브라이어 점수)는 확률과 실제 0·1의 제곱 차이를 평균한다. 로그 손실은 실제 범주에 거의 0을 부여한 경우 특히 큰 벌점을 준다. 순위에 민감한 AUC, 실제 문턱의 정밀도·재현율, 확률값을 쓰는 브라이어 점수·로그 손실을 목적에 맞춰 함께 읽는다. 마지막으로 이 문턱이 얼마나 자주 주문을 바꾸고 비용을 내는지도 같은 기록에 남긴다.