시장을 보는 수학적 렌즈 — 사양서¶
무엇을 보는 렌즈인가, 무엇이 아닌가¶
작성일: 2026-06-23 성격: 흐름 렌즈 백테스트(kill) + 수정사항 문서 위에서, 그 과정이 역추출해낸 렌즈 자체의 정의를 하나로 묶은 것. 변경 로그가 아니라 도달한 사양.
한 줄 요약: 이것은 시장을 맞히는 만능키가 아니라, 시장 상황이 바뀔 때마다 살아 움직이는 확률분포로 현재 상태의 기댓값을 정직하게 매기는 렌즈다.
0. 정체성 — 무엇이 아닌가부터¶
| 이 렌즈는 ~가 아니다 | 이 렌즈는 ~다 |
|---|---|
| 다음 가격을 맞히는 예측기 | 현재 상태의 조건부 기댓값을 매기는 측정기 |
| 사라/마라(O/X) 신호기 | 확률·기댓값으로 표현되는 연속 렌즈 |
| 모든 상황을 맞히는 만능키 | 모를 때 모른다고 정직하게 말하는 렌즈 |
| 안정 알파를 약속하는 시스템 | 레짐 따라 분포가 변하는 것을 사양으로 받는 렌즈 |
→ 만능키를 기준으로 보면 실패할 수밖에 없고, "체계적·반증가능한 렌즈"를 기준으로 보면 흐름 렌즈의 kill조차 렌즈가 작동한 증거다 (가려내는 것이 렌즈의 일이므로).
1. 공리계 — 시장에 대해 무엇을 믿는가¶
A1. 가격은 능동주문(시장가)이 움직이고, 호가는 지정가 동학도 움직인다¶
- 체결가(last): spread를 가로지르는 능동주문이 호가를 들어올린다.
- 호가(mid): 체결 없이도 매도 지정가의 취소/신규 placement로 움직인다.
- → 가격 형성은 "시장가 + 지정가"의 합. 한 축만 보면 절반을 놓친다. (OFI가 둘을 통합)
A2. 시계열 인과는 없다 — "오늘 오름 → 내일 오름"은 거짓¶
- 오늘 오른 종목이 내일 오르는 데에는 인과가 없다.
- 인과는 시계열에 있지 않고,
오름이라는 행동 → 참여자 심리·행동 → 가격변화라는 동시적 메커니즘에 있다. - → 흐름 렌즈가 죽은 이유의 본질:
B=Φ(Δp/σ)는 결국 "오늘 오름"을 매끄럽게 한 것이라, A2가 부정하는 그 시계열 인과를 몰래 가정했다. 죽어 마땅했다.
A3. 가격변화는 심리의 결과다 (원인이 아니라)¶
- 따라서 가격으로 심리를 읽는 것은 역추론이며, 본질적으로 역문제(inverse problem)다 (→ 3장).
2. 패러다임 — 조건부 기댓값 상태 모델¶
목표는 E[수익 | 상태] > E[수익] 인 상태(state)를 식별하는 것. 단순 확률.
다음 ΔP의 부호/크기를 맞히는 예측이 아니다.
- falsification이 이미 이 구조였다: 초과수익 = 트레이드 − (같은 종목·같은 보유일·랜덤시점) = "이 상태 진입이 무작위 진입보다 기댓값이 높은가" = 조건부 기댓값 우위 검정.
- 동시성은 약점이 아니라 자산: OFI가 같은 구간 ΔP를 설명(동시적)하는 것은, 예측 모델에선 약점이지만 상태 기댓값 모델에선 "반복 가능한 상태냐"만 물으면 되므로 OK.
- 진짜 적은 비정상성: 상태의 기댓값이 레짐 따라 부호가 뒤집히는 것. 단 이것도 7장에서 "버그가 아니라 사양"으로 재해석된다.
3. 역문제 구조 — 왜 가격 한 축으로는 안 되는가¶
A3에서 가격→심리는 역추론이다. 그런데 이 역문제는 다대일(多對一)이다:
같은 양봉(강세에 큰 물량이 받아쳐짐) ──┬─→ 흡수(매집): 받은 쪽이 더 산다
└─→ 분산(종료): 받은 쪽이 턴다
같은 관측이 정반대 심리에서 나온다. 가격 하나로는 심리가 갈라지지 않는다.
→ 그래서 가격 × 거래대금의 2축이 필연이다 (선택이 아니라 역문제의 요구):
| 체결강도(AI) | 저항 ρ (거래대금 대비 가격이동) | 심리 해석 | Wyckoff |
|---|---|---|---|
| 강한 매수(+) | 작음(안 오름) | 강세에 물량 던짐 = 양봉인데 베어리시 | 흡수(absorption) |
| 강한 매수(+) | 큼(훅 오름) | 매도호가 텅 빔 = 저항 소멸. 단 얇아서 신뢰 낮음 | (얇은 markup) |
| 강한 매수(+) | 중간 + 거래대금 동반 | 정상 추세 | markup |
체결강도 하나면 셋 다 "매수 우위". 저항(두 번째 축)을 넣는 순간 흡수가 분리된다. → 렌즈가 가격이 아니라 가격×거래대금인 것은 역문제를 풀기 위한 필연이었다.
거래대금의 두 역할 (분리 명시 — 같은 정보 이중계산 방지): - (a) 확률분포의 가중치: "얼마나 믿을까" (자금 실린 가격변동 = 강한 증거) - (b) 흡수 판정의 분모: "그 자금에 비해 가격이 움직였나" (저항/λ) (※ 진짜 Kyle λ를 원하면 분모는 거래대금이 아니라 부호있는 OFI/signed flow)
거래대금-가중 가격분포의 비대칭(skew) = 처음에 원했던 "확률분포 비대칭(매수우위)" = 출처에 이미 있던 Amaya(2015) realized skewness. 의도=논문=같은 객체였다.
4. 환원 불가능한 분기 — 매집이냐 종료냐는 사전에 알 수 없다¶
이것은 시스템의 결함이 아니라 대상(시장)의 본질이다.
- 흡수와 분산은 실시간에 동일한 관측을 낸다. 차이는 받아친 주체의 의도뿐인데, 의도는 관측 가능한 양이 아니다.
- 무엇이 그것을 갈랐는지는 다음에 무슨 일이 일어나는지로만 정의된다. 더 사면 매집이었던 것, 털면 분산이었던 것.
- → 라벨이 미래에 의해 정의되므로, 그 미래가 오기 전엔 라벨이 아직 존재하지 않는다. 모르는 게 아니라 아직 정해지지 않은 것. 사후 추론만 가능한 것이 당연하다.
재료 prior(5장)로도 이 잔차는 0이 안 된다. 줄일 뿐 없앨 수 없다. → 따라서 렌즈의 일은 분기를 없애는 게 아니라 분기 확률을 정직하게 매기고, 갈라지는 순간을 빨리 포착하는 것이다 (9장).
5. 재료 축 = prior — 역문제를 닫는 외부 정보¶
미시 렌즈(가격×거래대금)만으로 남는 역문제의 다의성을, 재료·뉴스·이벤트·글로벌 자산· 증시 흐름·정책·실적·매출이 사전분포(prior)로 좁힌다.
- 역할은 "신호 하나 추가"가 아니라 역문제의 다의성 축소. 같은 흡수 패턴이라도 — 실적 쇼크 다음 날이면 "악재에 던지는 분산", 정책 수혜 직후면 "강세 확인 매물 소화"로 해석이 갈린다.
- 분업:
- 미시 렌즈 = 무슨 일이 일어나는가 (흡수/markup)
- 재료 축 = 왜, 그리고 그것이 지속되는 종류인가
종합은 합산이 아니라 합의(agreement): - 두 층(미시 × 재료)을 하나의 식으로 합치지(곱해 단일점수) 않는다. - 두 독립 증거의 일치/불일치를 본다 (1-4의 병치 구조의 일반형). - 일치(흡수 + 악재 = 강한 베어) → 확률 ↑ - 불일치(흡수인데 호재) → 판단 유예 - BUY/WATCH/PASS 인코딩이 아니라, 두 축의 합치도가 곧 확률. - 종합은 max도 가중합도 아닌 증거 간 합의다.
6. 비정상성 = 사양 (버그가 아니라)¶
"시장 상황이 바뀔 때마다 분포가 변하는 렌즈가 필요하다" — 이것이 비정상성을 결함에서 사양으로 뒤집는 진술이다.
- 안정 알파를 찾을 때: IS/OOS 부호 반전 = kill 사유 (옳음).
- 살아 움직이는 렌즈로서: 분포가 레짐 따라 변하는 것은 고장이 아니라 작동.
- s3가 2024엔 음, 2025엔 양 — 안정 신호로는 실격이지만, "지금 레짐에서 이 상태의 기댓값은 +/−다"를 매 순간 다시 말하는 렌즈로는 제 일을 한 것.
- 같은 데이터, 정반대 결론, 둘 다 옳음. 대상이 바뀌었으니까.
7. 출력 형식 — 확률·기댓값 (이진 거부)¶
이진 신호(O/X)는 변화를 담을 해상도가 없다. 0.61→0.59를 O/X는 못 담지만 연속 확률은 담는다. 이번에 내린 설계 결정이 전부 이 원리의 하위 명령이었다:
| 결정 | 무엇을 지키는가 |
|---|---|
| BUY/WATCH/PASS 인코딩 거부 | 이진 붕괴 금지 |
| max 폐기 → 3상태(추세/지지/변화) 분리 추정 | 각 상태의 기댓값을 따로 살림 (winner's curse 제거) |
| 거래대금-가중 분포 | 모든 날 동등취급 폐기, 증거량 반영 |
| nested 윈도(20/60/120) + 스케일 divergence | 변화를 노이즈 미분(Accel) 없이 포착 |
| 가변 보유 (확률 깨지면 철회) | 확률이 포지션을 실시간 조종 |
| 흡수/분산을 라벨이 아니라 모호도로 | 5:5와 8:2를 구분 |
8. 의사결정 — 모를 때 어떻게 행동하는가¶
4장(사전엔 라벨이 없음)을 받아들이면, 질문이 "맞히기"에서 둘로 바뀐다:
- 모호도를 측정한다. 흡수/분산 5:5와 8:2는 같은 "모름"이 아니다. → 모호할수록 작게/유예, prior가 기울수록 키운다. 불확실성이 곧 포지션 사이징.
- 분기 실현을 감시한다. 받은 물량이 다음에 더 사는가 터는가 — 드러나는 첫 신호(후속 OFI·거래대금·재료 갱신)에 반응. → 가변 보유의 진짜 의미: 처음부터 맞히는 게 아니라, 틀렸다고 시장이 말해주는 순간 빠르게 인정하는 구조.
즉 이 시스템은 "추세 끝/눌림"을 아는 기계가 아니라 — 모를 때 모른다 말하고(모호도) · 작게 들어가고(사이징) · 분기가 드러나면 즉시 갱신하는(가변보유) 기계다. 사후에만 라벨이 정해진다는 한계가 역설적으로 이 설계 전체의 정당화다. (사전에 맞힐 수 있었으면 이 구조가 필요 없었을 테니까.)
9. 살아있는 렌즈의 대가 — 검증은 선택이 아니다¶
분포가 매 순간 변하는 렌즈의 비용은 검증 비용이다. - 고정 신호: 백테스트 한 번으로 끝. - 살아 움직이는 분포: "지금 분포가 맞게 갱신되고 있나"를 계속 물어야 함.
→ 그래서 forward 수집과 검정 하니스(거래비용·트레이드 독립성·벤치 독립성·풀 rolling)가 선택이 아니라 필수가 된다. 살아있는 렌즈일수록 진짜로 살아있는지 끊임없이 확인해야 한다. (verdict_list가 매 세션 갱신되는 구조도 같은 이유.)
10. 사양 압축 (네 한 문단의 구조화)¶
"오늘 오른 게 내일 오름과 인과 없고, 다만 오른 행동 때문에 발생하는 참여자 행동·심리, 그것을 통해 나타난 가격변화를 능동적으로 해석하는 수학적 렌즈에, 시스템이 수집하는 재료·뉴스·이벤트·글로벌·정책·실적·매출과 같이 보면서 확률을 높이는 것."
| # | 진술 | 사양 |
|---|---|---|
| 1 | 시계열 인과 부정 | 상태 기댓값 모델 (2장) |
| 2 | 가격→심리 능동 해석 | 역문제 (3장) |
| 3 | 그래서 가격×거래대금 2축 | 역문제를 푸는 필연 (3장) |
| 4 | 매집/종료는 사전에 모름 | 환원불가 분기, 사후 라벨 (4장) |
| 5 | 재료와 같이 봄 | prior로 다의성 축소 (5장) |
| 6 | 같이 봐서 확률을 높임 | 합산 아닌 합의 (5장) |
| 7 | 상황 바뀔 때마다 분포 변화 | 비정상성 = 사양 (6장) |
| 8 | 사라/마라 아닌 확률·기댓값 | 연속 출력 (7장) |
이 한 문단이 시스템의 정확한 사양이다. ats_cpt 통합은 (5)(6) — 미시 렌즈가 verdict를 내고 재료 에이전트가 prior를 대는 — 을 어떤 자료구조로 박느냐의 문제로 떨어진다.
부록 A. 공리·개념의 수식 표현¶
표기: [일봉] = 현재 일봉 데이터로 계산 가능 · [틱] = 틱/호가 필요(forward 수집 후). 교정 반영: 분모=signed flow, max 폐기, z는 레벨신호서 제거, nested 윈도, 합의 종합.
A1. 가격은 시장가+지정가가 움직인다 → OFI [틱]¶
각 호가 갱신 n:
e_n = 𝟙{P_b^n ≥ P_b^{n-1}}·q_b^n − 𝟙{P_b^n ≤ P_b^{n-1}}·q_b^{n-1} (매수호가 측)
− 𝟙{P_a^n ≤ P_a^{n-1}}·q_a^n + 𝟙{P_a^n ≥ P_a^{n-1}}·q_a^{n-1} (매도호가 측)
OFI = Σ_n e_n
ΔP ≈ β·OFI , β ≈ 1/(2·depth) # depth(거래대금/잔량)는 분모
A2. 시계열 인과 부정 → 조건부 기댓값 [일봉]¶
모델링 대상이 P(ΔP_{t+1} | ΔP_t)(예측)가 아니라 상태 S의 조건부 기댓값:
무조건부: μ_0 = E[R]
조건부: μ_S = E[R | 상태 S]
렌즈 출력: Δμ_S = μ_S − μ_0 # 이게 0보다 '안정적으로' 큰가
검정: 초과수익 = R_trade − E[R_random | 종목, 보유일]
H0: E[초과수익 | S] = 0 (t검정, 단 트레이드 상관 보정 필요)
A3. 가격→심리는 역문제(다대일) → 2축이 필연 [일봉 프록시 / 틱]¶
관측 O, 심리(의도) ψ. f: ψ→O 가 다대일이라 가격만으론 역상이 집합값:
가격만: ψ̂ = f⁻¹(O) → set-valued (흡수 ∨ 분산), 단일해 없음
2축 추가: O' = (AI, ρ) → f': ψ→O' 가 (구간별) 단사에 근접 → 분기가 갈라짐
AI = 체결 aggressor imbalance 부호 ∈ [−1,1] # [틱] 시장 전체
[일봉 약프록시] MFM = (2C−H−L)/(H−L) # 종가위치, '진짜 aggressor 아님' 명시
ρ (저항/단위자금당 가격이동):
[틱] ρ = ΔP / OFI_signed # 진짜 Kyle λ (분모=signed flow)
[일봉] ρ_proxy = |r| / 거래대금 # Amihud 계열 (λ 아님, 부호없는 분모)
흡수(absorption) ⟺ AI 큰 양(+) ∧ ρ 작음 # 양봉인데 베어리시
markup ⟺ AI 큰 양(+) ∧ ρ 중간 ∧ V 동반 # 정상 추세
얇은 markup ⟺ AI 큰 양(+) ∧ ρ 큼 ∧ V 빈약 # 신뢰 낮음
A3'. 거래대금-가중 분포 (분포 비대칭 = 원래 출발점) [일봉 위치통계 / 틱 skew]¶
가격대 x: w(x) = Σ_{체결 ∈ x} 거래대금 # '가격×거래대금' literal 아님(가격 이중)
정규화: D(x) = w(x) / Σ_x w(x) # Volume/Money Profile
[일봉] 위치통계 (skew는 3차라 일봉서 불안정 → 회피):
POC = argmax_x D(x)
POC변위 = (POC − P_now) / range_τ # 비대칭의 저차 프록시
[틱/intraday] realized skewness (Amaya 2015):
skew = m3 / m2^{1.5} (m_k = k차 중심모멘트)
A3''. 윈도 = 레짐-지평 → nested (Accel 대체) [일봉]¶
단일창 최적화 아님. 스케일 묶음 + 스케일 간 divergence가 변화신호:
τ ∈ {20, 60, 120}: 각 D_τ(x), POC변위_τ
divergence = POC변위_단기 − POC변위_장기
변화신호 ≡ divergence # Dom의 5점 OLS 미분(노이즈)을 대체
A4. 매집/종료는 사전에 라벨 없음 → 모호도 측정 [일봉]¶
분기를 맞히지 않고 모호도를 출력:
모호도 U = 1 − |P(흡수) − P(분산)| ∈ [0,1] # 5:5→U=1, 8:2→U=0.4
7장. 확률화 + 갱신 (교정본) [일봉]¶
세 상태 분리 — 합치지 않음(max 폐기):
s1 추세: 레벨신호 (z 미적용) → PayUp_level , Dom
s2 지지: 저점근접 , Dom , recent_PayUp
s3 변화: divergence(A3'') , Dom 부호전환
순간확률: p_s = σ( w_s · feats_s ) # w_s = '선택한 prior'(공리연역 아님 — 명시)
갱신: P_{s,t} = (1−α)·P_{s,t−1} + α·p_{s,t} # EMA (베이즈 아님 — 정명)
출력: P_up = max(...) ✗ → 상태별 μ_{S_s} = E[R|S_s] 독립 추정 ✓
5장. 종합 = 합의(agreement), 합산·곱 아님 [일봉+재료]¶
v_micro ∈ [−1,1] # 미시 verdict 부호·강도 (흡수=−, markup지속=+ …)
v_mat ∈ [−1,1] # 재료 prior 부호·강도
합의: A = (sign v_micro == sign v_mat) ? min(|v_micro|, |v_mat|) : 0
일치 → 확률 강화: P_final ∝ P_base · (1 + κ·A)
불일치(sign 상충) → 유예: 강화 안 함, 모호도 U↑ (판단 보류)
8장. 모호도 → 사이징 → 가변보유 [일봉]¶
포지션 크기 size ∝ (1 − U) · |prior 기울기| # 모호할수록 작게
가변보유: 진입 후 매일 P 갱신. P < P_exit ⇒ 철회 (고정기간 아님)
max_hold 도달 ⇒ 강제청산
부록 종합: A2·A4·A3''·7·8·5장(=합의)은 [일봉]으로 지금 구현 가능. A1(OFI)·A3의 진짜 ρ·A3'의 skew만 [틱/forward]. 즉 사양의 골격은 일봉에서 서고, 정밀도(진짜 aggressor·signed λ·3차 비대칭)만 forward 수집으로 채운다.
출처¶
- Cont·Kukanov·Stoica (2014) — Order Flow Imbalance
- Kyle (1985) — λ (signed flow 단위 가격충격)
- Amihud (2002) — Illiquidity
- Amaya et al. (2015, JFE) — Realized Skewness
- Easley·López de Prado·O'Hara — Bulk Volume Classification
- Chaikin — Money Flow Multiplier / Wyckoff — Effort vs Result, 흡수·분산·markup
- Boehmer et al. (2021) / 재현연구 (2024) — order imbalance 예측력과 소멸