글 목차
근거와 범위
Fidelity는 회귀 지표를, statsmodels와NIST는 적합과 진단을 설명합니다. 어느 자료도 여기 제안한 채널 복귀 전략의 수익성을 확립하지 않습니다.
실전 적용 절차
- 과거에 맞추다검출 막대를 제외하고 절편이 있는 로그 가격 OLS를 사용합니다.
- 컨텍스트를 확인하세요등록된 경사 및 잔류 요건을 적용하십시오.
- 이탈 때 모형을 고정변경 불가능한 계수와 원점을 저장합니다.
- 밴드 복귀를 기다립니다종가가 밴드 안이면서 목표 중심보다 낮아야 합니다.
- 위험을 평가하세요개발 데이터 밖에서 손절, 시간 청산, 비용을 검증합니다.
적합된 직선은 관찰된 창을 나타냅니다.
피델리티는 N기간에 걸쳐 적합된 직선의 끝점([1])을 통해 선형 회귀 지표를 설명합니다. 이 글에서는 잔차 밴드를 사용하여 이러한 설명 방식을 확장합니다. 중심값이 기울어져 있다는 것은 직선보다 훨씬 아래에 있다고 해서 반드시 근본적인 저평가나 임박한 상승을 의미하는 것은 아니라는 것을 뜻합니다.
두 가지 질문을 분리해 보겠습니다. 첫째, 직선이 과거 기간을 얼마나 잘 설명하는지, 둘째, 오늘의 편차가 향후 수익을 예측하는지 여부입니다. R²는 첫 번째 질문에 대한 답을 제시합니다. 꾸준한 하락세는 높은 R² 값을 나타낼 수 있지만, 적합선 아래에서 반복적으로 매수하면 손실을 볼 수 있습니다.
채널은 평균 회귀 또는 추세 지속에 사용될 수 있지만, 이 두 가지는 서로 상충하는 가설입니다. 아래쪽 기준선은 하락 추세가 나타난 후 고정된 하단 밴드 안으로 되돌아오기를 기다립니다. 과거 평균 회귀 매매가 실패하더라도 모멘텀으로 전환하지는 않습니다.
탐지 막대 이전의 관측값만 적합시킵니다.
j=0…N−1에서y[j]=log(C[j])로 놓고 보통최소제곱법으로y=a+bj를 맞춥니다. 잔차는e[j]=y[j]−a−bj이고 그 척도는s=sqrt(sum(e²)/(N−2))입니다. 적합 창 너머h단계에서m(h)=a+b(N−1+h), 가격 밴드는exp(m(h)±ks)입니다. 제안 설정은N=60, k=2이며 양수가 아닌 가격과 영에 가까운s는 제외합니다.
statsmodels OLS는 설계 행렬에 절편을 자동 추가하지 않으므로[2] 상수 열을 넣습니다. t−1까지 적합한 뒤 t의 종가를h=1에서 평가합니다. t를 포함하면 충격이 자신을 판단하는 중심과 폭을 동시에 움직이게 됩니다.
제안된 범위 컨텍스트 필터 abs(b)×(N−1)/s≤1는 적합된 드리프트와 잔차 스케일을 비교합니다. 이는 정상성 테스트가 아닌 선별 규칙입니다. 편차로 인해 후보가 생성될 경우 a, b, s, 원점 인덱스 및 적합된 입력 윈도우를 저장합니다. 활성 후보는 절대 재적합하지 마십시오.
만료 처리가 트리거보다 먼저여야 합니다. 의사코드는 이 순서를 명시하고 최초 이탈 때previous_z를 초기화합니다. 누락 데이터, 유한하지 않은 적합 결과, 잔차 척도가 영인 경우에는 영으로 나누거나 인위적 극단z점수를 만들지 말고 후보를 비활성화합니다.
if no_candidate:
if invalid_or_nonpositive(close[t-N:t+1]): return
a,b,s = fit_log_ols(close[t-N:t], with_intercept=True)
if not finite(a,b,s) or s <= min_residual_scale: return
regime_ok = abs(b)*(N-1)/s <= 1.0
z = (log(C[t])-(a+b*N))/s
if regime_ok and z < -2:
freeze_candidate(a,b,s,origin=t-N,expiry=t+10,
previous_z=z,excursion_low=L[t])
else:
if t > candidate.expiry:
expire(); return
j = t-candidate.origin
z = (log(C[t])-(candidate.a+candidate.b*j))/candidate.s
update_excursion_low(L[t])
if candidate.previous_z < -2 and -2 <= z < 0:
emit_long(t)
candidate.previous_z = z
# Never refit an active candidate or backfill historical channels.
채널 안으로 돌아와도 성공하거나 실패할 수 있습니다
가상 예: 추정 중심 약100, 기울기0, 로그 잔차 척도s=0.01입니다. 두 시그마 아래 밴드는 약98.02, 위 밴드는102.02입니다.97.8은 아래 밴드 밖이며 다음 종가98.3은 안으로 돌아옵니다. 진입98.4, 손절97.5, 목표100이면 위험0.9와 잠재 보상1.6, 비용 전 약1.78R입니다.
가상 성공 경로는 먼저100에 닿습니다. 실패 경로에서는 새 정보로96, 이어94까지 내려갑니다.97.5부근의 체결 가능한 가격 또는 갭 때 더 나쁜 가격에 손절해야 합니다. 과거 적합도가 좋아도 가격 생성 환경의 변화는 막을 수 없습니다.
하락 후 시그마를 확대하고 이전 손절매가 실제로 깨지지 않았다고 주장하지 마십시오. 그렇게 하면 결과에 따른 의사결정 스냅샷이 변경됩니다. 향후 후보군에 대한 모델 업데이트는 기존 거래의 회계 처리를 변경해서는 안 됩니다.
또 다른 경로는 97.8에서 101로 직접 이동합니다. 이 경로는 밴드 안으로 돌아왔지만, 기준선은 z<0를 요구하므로 중심 목표치 이상에서는 매수하지 않습니다. 이 규칙은 위험 대비 수익률 차이가 큰 후에 추가되는 것이 아니라 사전에 고정되어 있습니다.
고정된 계수라도 중심이 이동하고 있음을 의미할 수 있습니다.
a와 b를 고정한다고 해서 예상 중심이 수평이 되는 것은 아닙니다. 시간 인덱스가 진행됨에 따라 원래의 기울기를 따라 계속 이동합니다. 신호가 발생하면 예상 진입 시간에 대해 예상된 중심과 동일한 목표값을 고정하고, 전체 변동 최저점에서 버퍼를 뺀 값 아래에 정지점을 설정합니다.
목표와 손절 어느 쪽도 닿지 않으면 열 봉 후 시간 청산하는 포지션을 제안합니다. 후보 만료는 복귀를 기다리는 시간, 포지션 시간 청산은 진입 후 보유시간을 제한하는 별도 시계입니다. 거래 개시 때 후보를 우연히 연장하지 않도록 둘 다 저장합니다.
예상 진입 시간보다 체결이 지연될 경우, 경제적 규칙에 따라 제출 전에 고정된 목표 가격을 유지할지 또는 취소할지 정의하십시오. 잠재적 수익을 매력적으로 유지하기 위해 체결 후 목표 가격을 변경하지 마십시오.
급변 때 다음 시가와 실제 체결 가능한 호가 가정을 비교합니다. 과거 선 교차가 그 선에서의 체결을 보장하지 않습니다. 목표가 대기 지정가 주문이면 활성화, 수량, 미체결 가능성을 모형화합니다. 뒤의 봉이 그 가격을 포함한다는 이유만으로 중심 가격 체결을 자동 인정하지 않습니다.
잔차 진단은 수익성 증명서가 아닙니다
NIST는 독립성과 일정한 분산 등 고전적인 잔차 가정을 설명합니다 [3]. 금융 가격은 이런 가정을 위반할 수 있습니다. 따라서 ±2s가 자동으로 다음 가격의 95% 예측 구간이 되는 것은 아니며, 통상적인 OLS 기울기의 p값은 거래 가능한 우위의 증거가 아닙니다.
잔차 자기상관, 꼬리 거동, 창 사이s의 안정성을 살핍니다. 잔차가 한쪽에 지속되면 새 추세를 거슬러 거래하고 있을 수 있습니다. 진단은 모형 작동을 설명해야 하며 유리한 과거 구간만 고르는 데 쓰면 안 됩니다.
실질적인 비교는 모든 후보에 대해 고정된 스냅샷을 유지하고 해당 스냅샷을 기준으로 가격 변동을 그래프로 나타냅니다. 만약 겉보기에 가격 회귀처럼 보이는 현상이 반복적으로 재조정된 중심점이 가격을 향해 이동하기 때문에 발생하는 것이라면, 이는 가격이 원래 기준점으로 되돌아간 것이 아니라 모델이 적응한 결과일 가능성이 높습니다.
R², 표준오차, z점수는 역할이 다릅니다. R²는 적합도, 표준오차는 창 안 잔차 척도, z점수는 고정 척도에서 현재 이탈을 나타냅니다. 어느 것도 다음 거래의 승률로 바꿔 부르면 안 됩니다.
볼륨을 사용하면 채널을 다시 작성하지 않고도 이벤트를 필터링할 수 있습니다.
한 가설은 이례적으로 높은RVOL이 재평가와 함께 나타날 수 있으므로 그 움직임에 역행하는 매매를 피합니다. 경쟁 가설은 이탈 때 큰 활동 뒤 조용한 복귀 활동을 찾습니다. 편의에 따라 두 이야기를 쓰지 말고 결과 확인 전에 특징을 선택·등록합니다.
동일 시점의 기준선을 사용하고, 스프레드와 타임스탬프가 찍힌 뉴스가 있으면 기록하며, 변동이 끝나기 전에 변동 완료 시점의 거래량이 의사 결정에 영향을 미치지 않도록 해야 합니다. 환수 확인 시 관찰된 변동을 요약할 수 있지만, 해당 기능의 available_at는 최신 입력값을 반영해야 합니다.
최소제곱법(OLS)을 물량 가중 회귀 분석으로 변경하면 모델 자체가 변경됩니다. 가중치가 적용되지 않은 기준 모델과 별도로 평가해야 합니다. 그렇지 않으면 물량으로 인한 이점이 중심점 변경, 잔차 규모 변경, 진입 필터 변경 등 여러 요인이 복합적으로 작용하여 어떤 요소가 중요한지 파악하지 못한 채 나타날 수 있습니다.
연대순 테스트 및 유용한 제어
동일한 진입·청산·비용 정책에서 회귀 채널을 평평한 Bollinger식 평균과 무기울기z점수 기준에 비교합니다. 개발 데이터로N,k,맥락 필터를 고르고 최종 미사용 시험을 보존합니다. 분할 경계 양쪽에 같은 이탈 결과가 공유될 경우 겹치는 거래 라벨 기간을 제거합니다.
시험 사례는 절편, 창의t−1종료, 로그 척도, 자유도, 영인s, 누락 데이터와 미래 추가 시 과거 결과 불변성을 검증해야 합니다. 만료 후보가 다음 봉에 밴드 안으로 돌아와도 늦은 신호를 내지 않고 만료 상태여야 합니다.
사전 정의한 시장 환경별 순수익률, 꼬리 손실, 비거래 시간과 성과를 보고합니다. 체결·갭 스트레스를 시험합니다. 경로가 모호한 갭 봉 안에서 중심가에 정확히 체결했다고 가정해야 수익이 나면 경제적 결론 전에 체결 모형을 고쳐야 합니다.
고차 다항식은 불안정한 외삽법과 더 많은 연구 선택지를 제공하면서 과거 데이터에 더 정확하게 부합할 수 있습니다. 선형 기준선은 계수, 예측 및 실패 사례를 직접 검증할 수 있다는 점에서 유용합니다.
흔한 실수
과거 채널을 다시 적합하기
현재 라인은 이전 신호를 덮어쓰고 차트가 일관되게 정확하게 보이도록 합니다.
R²를 승률로 변환
표본 내 설명력 적합도는 예측 거래 성과와 동일하지 않습니다.
시장 환경 변화에 역행해 거래하기
새로운 정보가 금융 상품의 가격을 재조정하면 기존 채널은 관련성을 잃을 수 있습니다.
이 기법을 사용하기 전 체크리스트
자신의 데이터로 확인한 뒤 각 항목에 체크하세요. 진행 상태는 이 브라우저에 저장되며, 전략의 수익성을 인증하지는 않습니다.
자주 묻는 질문
회귀 분석이 볼린저 밴드보다 항상 더 나은 선택일까요?
아니요. 기울기와 모델 선택 항목을 추가합니다. 일치하는 거래 및 실행 규칙 하에서 비교하여 그 가치를 분리해내세요.
다항식을 사용하면 적합도를 향상시킬 수 있을까요?
연구를 통해 검증할 수는 있지만, 예측의 자유도가 높아지고 외삽의 위험이 커집니다. 과거 데이터와의 유사성만으로는 더 나은 전략을 수립할 수 없습니다.
연구 출처
각 출처는 옆에 설명된 정의나 근거를 뒷받침합니다. 의사코드, 가상 예시와 제안된 매개변수는 별도로 검증해야 합니다.
- Linear Regression IndicatorFidelity. 회귀 지표의 종단값 정의를 읽었습니다. 확인일: .
- statsmodels OLSstatsmodels. OLS 절편, 누락 데이터, 적합 동작을 확인했습니다. 확인일: .
- Are the model residuals well-behaved?NIST/SEMATECH. 고전적 잔차 가정을 확인했습니다. 시장 예측 가능성의 결론은 아닙니다. 확인일: .
관련 기법
위험 안내
이 내용은 학습과 연구 설계를 위한 것이며 금융 조언이 아닙니다. Backtest는 과거 데이터 시뮬레이션으로, 미래 성과를 보장하지 않으며 실제 거래를 주문하지 않습니다. 이 라이브러리의 기법이 모두 앱에 구현된 기능은 아닙니다. 관련 정보: 검증 방법 및 학습 센터.
실제 자금을 투입하기 전에 규칙을 검증하세요
앱 지원 범위, 데이터와 개별 모의 거래를 확인하세요. 고급 탐지 기법은 별도 구현이 필요할 수 있습니다.
App Store에서 Backtest 다운로드