코스닥 레버리지 · 동시호가 · 실측 재현 페이지

코스닥 레버리지,
계속 들까 밤에만 들까

2015년 12월 30일 종가에 KODEX 코스닥150레버리지 233740 을 1,000만원어치 사서 2026년 10월 20일까지 세 계좌를 만들었습니다(거래소 체결가 · 네이버 증권 일봉 원시 시세). ① 계속 들고 있기 — 사서 그대로 둔다 ② 밤에만 — 장 마감 동시호가(종가)에 사서 다음 날 장 시작 동시호가(시가)에 판다. 판 돈은 낮 동안 현금. ③ 낮에만 — 시가에 사서 그날 종가에 판다. 수수료는 살 때·팔 때 각각 0.015% 를 뗐습니다.

⚠ 먼저 읽어 주세요 — 세금 때문에 이 결과는 따라 하면 안 될 수 있습니다. KODEX 코스닥150레버리지는 매매차익에 보유기간과세 15.4%(매매차익과 과표기준가 증분 중 작은 값 · 손실과 상계되지 않음)가 붙는 상품입니다. 날마다 파는 밤에만 계좌는 이긴 날마다 세금이 붙고, 계속 들고 있던 계좌는 손실로 끝나 낼 세금이 없습니다. 과표기준가 자료가 없어 정확히는 못 쟀고, 이긴 밤마다 15.4%를 낸다고 치면 밤에만 계좌는 280만원 로 계속 들고 있던 계좌(506만원)보다 적어집니다. 그래서 이 실측은 영상으로 만들지 않았습니다. 아래 숫자는 세금을 넣지 않은 값입니다.

3,328만원밤에만 든 계좌의 끝 잔고 — 계속 들고 있던 계좌는 506만원 (연 11.77% 대 -6.11%)
31만원같은 ETF 를 낮에만 들었을 때 — 번 돈은 밤에서, 잃은 돈은 낮에서 났습니다
0.0506%수수료 손익분기(편도) — 이보다 비싼 계좌에서는 계속 들고 있는 쪽이 더 남습니다

오늘 드리는 것 — 기준 두 줄

언제할 일
장 마감 동시호가 (15:20~15:30)코스닥 레버리지를 산다 — 체결값 = 그날 종가
다음 날 장 시작 동시호가 (08:30~09:00)판다 — 체결값 = 그날 시가 · 판 돈은 장 마감까지 현금
지키는 법내 계좌 수수료(유관기관 제비용 포함)가 살 때·팔 때 각각 0.05% 보다 낮을 때만 쓴다 · 장이 열리는 날마다 두 번 주문한다

세 계좌 — 2016-01-04 ~ 2026-10-20 · 2,646거래일

계좌1,000만원 →가장 크게 떨어진 폭
계속 들고 있기506만원-85.98%
밤에만3,328만원-43.40%
낮에만31만원—
늘 33.1% 만 들고 나머지 현금(가장 깊은 낙폭을 밤에만과 같게 맞춘 계좌)1,233만원-43.40%

밤 사이(전날 종가→시가) 로그 수익 합 연 +18.47% · 장중(시가→종가) 연 -24.78%. 앞 5년(2016~2020) 계속 1,480만원 · 밤에만 2,094만원 / 뒤 6년(2021~) 계속 342만원 · 밤에만 1,589만원. 2016년 1월부터 달마다 시작한 3년 구간 94개 중 82개에서 밤에만이 더 남았습니다.

수수료가 전부입니다 — 수수료별 밤에만 계좌

수수료(편도)1,000만원 →
0.0000%7,360만원
0.0036%6,084만원
0.0150%3,328만원
0.0300%1,504만원
0.0500%522만원
0.1000%37만원

계속 들고 있던 계좌는 506만원 입니다. 손익분기 편도 0.0506%.

해마다 — 계속 / 밤에만 / 낮에만

해계속 들고 있기밤에만낮에만
2016-26.8%+38.9%-51.0%
2017+132.5%+21.7%+77.7%
2018-39.4%-24.1%-25.8%
2019-26.0%+16.3%-40.9%
2020+93.9%+40.5%+28.2%
2021-3.9%-9.5%-1.5%
2022-62.9%-29.8%-50.9%
2023+85.5%+52.1%+13.3%
2024-41.4%-2.7%-44.0%
2025+72.0%+31.0%+22.1%
2026-48.7%+29.0%-62.4%

밤에만이 이긴 해 6/11 — 코스닥이 크게 오른 해에는 계속 들고 있는 쪽이 훨씬 많이 벌었습니다.

같은 계산, 다른 ETF

ETF계속 들고 있기밤에만(0.015%)손익분기 편도
KODEX 코스닥150 2292001,273만원1,807만원0.0216%
KODEX 레버리지(코스피200 2배) 1226306,805만원6,990만원0.0155%
KODEX 200 0695004,427만원3,168만원0.0087%

코스닥 이야기입니다 — 코스피200 쪽은 2배에서 거의 같고, 1배에서는 계속 들고 있는 쪽이 더 남았습니다.

한계 — 먼저 읽어 주세요

받아가기

돌리는 법: zip 을 풀고 python run_kosdaqnight.py · 내 계좌 수수료로 보려면 코드 맨 위 FEE 를 바꾸세요.

그대로 돌린 출력

재현 — 기준일 2026-10-20 · 시작 2015-12-30 종가 · 수수료 편도 0.015%

[KODEX 코스닥150레버리지 233740] 2016-01-04 ~ 2026-10-20 · 2,646거래일
  계속 들고 있기   1,000만원 → 506만원  (연 -6.11% · 가장 크게 떨어졌을 때 -85.98% 2018-01-16→2020-03-19)
  밤에만        1,000만원 → 3,328만원  (연 11.77% · 가장 크게 떨어졌을 때 -43.40% 2018-01-24→2020-03-18)
  낮에만        1,000만원 → 31만원  (연 -27.48% · 가장 크게 떨어졌을 때 -98.40% 2018-01-16→2026-07-30)
  밤 사이 로그 합 연 +18.47% · 장중 로그 합 연 -24.78%
  수수료 손익분기(밤에만 = 계속 들고 있기): 편도 0.0506%
  같은 낙폭 고정: 늘 33.1% 만 들고 나머지 현금 → 1,233만원 (가장 크게 떨어졌을 때 -43.40%)
  수수료별 밤에만: 0.0000% 7,360만원 · 0.0036% 6,084만원 · 0.0150% 3,328만원 · 0.0300% 1,504만원 · 0.0500% 522만원 · 0.1000% 37만원
  해마다(계속 / 밤에만 / 낮에만):
    2016    -26.8%    +38.9%    -51.0%
    2017   +132.5%    +21.7%    +77.7%
    2018    -39.4%    -24.1%    -25.8%
    2019    -26.0%    +16.3%    -40.9%
    2020    +93.9%    +40.5%    +28.2%
    2021     -3.9%     -9.5%     -1.5%
    2022    -62.9%    -29.8%    -50.9%
    2023    +85.5%    +52.1%    +13.3%
    2024    -41.4%     -2.7%    -44.0%
    2025    +72.0%    +31.0%    +22.1%
    2026    -48.7%    +29.0%    -62.4%
  밤에만이 이긴 해 6/11
  앞 5년(2016~2020): 계속 1,480만원 · 밤에만 2,094만원
  뒤 6년(2021~2026): 계속 342만원 · 밤에만 1,589만원
  달마다 시작한 3년 구간 94개 중 밤에만이 더 남은 구간 82개
  [세금 최악 가정] 이긴 밤마다 15.4% → 밤에만 280만원 (계속 들고 있기는 손실로 끝나 세금 0 → 506만원)

[KODEX 코스닥150 229200] 2016-01-04 ~ 2026-10-20 · 2,646거래일
  계속 들고 있기   1,000만원 → 1,273만원  (연 2.26% · 가장 크게 떨어졌을 때 -57.22% 2018-01-29→2020-03-19)
  밤에만        1,000만원 → 1,807만원  (연 5.63% · 가장 크게 떨어졌을 때 -26.71% 2018-01-24→2020-03-17)
  낮에만        1,000만원 → 144만원  (연 -16.42% · 가장 크게 떨어졌을 때 -89.98% 2016-01-19→2026-07-30)
  밤 사이 로그 합 연 +12.82% · 장중 로그 합 연 -10.59%
  수수료 손익분기(밤에만 = 계속 들고 있기): 편도 0.0216%

[KODEX 레버리지(코스피200 2배) 122630] 2016-01-04 ~ 2026-10-20 · 2,646거래일
  계속 들고 있기   1,000만원 → 6,805만원  (연 19.42% · 가장 크게 떨어졌을 때 -71.90% 2026-06-22→2026-10-20)
  밤에만        1,000만원 → 6,990만원  (연 19.71% · 가장 크게 떨어졌을 때 -47.61% 2018-01-29→2020-03-23)
  낮에만        1,000만원 → 199만원  (연 -13.88% · 가장 크게 떨어졌을 때 -83.96% 2017-11-01→2026-10-16)
  밤 사이 로그 합 연 +25.34% · 장중 로그 합 연 -7.59%
  수수료 손익분기(밤에만 = 계속 들고 있기): 편도 0.0155%

[KODEX 200 069500] 2016-01-04 ~ 2026-10-20 · 2,646거래일
  계속 들고 있기   1,000만원 → 4,427만원  (연 14.76% · 가장 크게 떨어졌을 때 -41.40% 2026-06-22→2026-10-20)
  밤에만        1,000만원 → 3,168만원  (연 11.26% · 가장 크게 떨어졌을 때 -25.42% 2018-03-12→2020-03-23)
  낮에만        1,000만원 → 286만원  (연 -10.95% · 가장 크게 떨어졌을 때 -72.54% 2017-07-21→2024-12-09)
  밤 사이 로그 합 연 +18.02% · 장중 로그 합 연 -4.25%
  수수료 손익분기(밤에만 = 계속 들고 있기): 편도 0.0087%

끝.

코드 전문

# -*- coding: utf-8 -*-
"""코스닥 레버리지, 계속 들까 밤에만 들까 — 알고랩 재현 코드 (2026-10-21 영상).

계좌  : 2015-12-30 종가에 1,000만원으로 산다 → 2026-10-20 까지.
  계속 들고 있기 = 종가 → 종가 그대로
  밤에만         = 장 마감 동시호가(종가)에 사서 다음 날 장 시작 동시호가(시가)에 판다 · 판 돈은 낮 동안 현금
  낮에만         = 시가에 사서 그날 종가에 판다
  수수료         = 살 때·팔 때 각각 편도 FEE(기본 0.015%) — 밤에만·낮에만은 날마다 두 번 낸다
자료  : data_kosdaqnight/*.csv — 네이버 증권 일봉 원시 시세(거래소 체결가 · 분배금 미보정) · 2026-10-20 까지 얼림.
        233740 KODEX 코스닥150레버리지 · 229200 KODEX 코스닥150 · 122630 KODEX 레버리지 · 069500 KODEX 200
돌리는 법: python run_kosdaqnight.py   (표준 라이브러리만 씁니다)
"""
import csv
import datetime
import math
import os

HERE = os.path.dirname(os.path.abspath(__file__))
D = os.path.join(HERE, "data_kosdaqnight")
START, ASOF = "2015-12-30", "2026-10-20"   # 기준일 고정 — 영상과 같은 숫자가 나온다
FEE = 0.00015
WON = 1000  # 만원
NAME = {"233740": "KODEX 코스닥150레버리지", "229200": "KODEX 코스닥150", "122630": "KODEX 레버리지(코스피200 2배)", "069500": "KODEX 200"}


def load(code, start=START, end=ASOF):
    with open(os.path.join(D, code + ".csv"), encoding="utf-8") as f:
        rows = [r for r in csv.DictReader(f) if start <= r["date"] <= end and float(r["open"]) > 0]
    o = [float(r["open"]) for r in rows]; c = [float(r["close"]) for r in rows]
    ds = [r["date"] for r in rows]
    # i 번째 날(1부터): 밤 = c[i-1]→o[i] · 낮 = o[i]→c[i]
    night = [o[i] / c[i - 1] - 1 for i in range(1, len(rows))]
    day = [c[i] / o[i] - 1 for i in range(1, len(rows))]
    hold = [c[i] / c[i - 1] - 1 for i in range(1, len(rows))]
    return ds[1:], ds[0], hold, night, day


def grow(rets, fee=0.0, w=1.0):
    eq, out = 1.0, []
    for r in rets:
        eq *= (1 + w * r) * (1 - fee) ** 2 if fee else (1 + w * r)
        out.append(eq)
    return out


def summary(eq, ds, d0):
    yrs = (datetime.date.fromisoformat(ds[-1]) - datetime.date.fromisoformat(d0)).days / 365.25
    peak, mdd, pk_d, lo_d, cur_pk = 1.0, 0.0, d0, d0, d0
    for e, d in zip(eq, ds):
        if e > peak:
            peak, cur_pk = e, d
        if e / peak - 1 < mdd:
            mdd, pk_d, lo_d = e / peak - 1, cur_pk, d
    return WON * eq[-1], (eq[-1] ** (1 / yrs) - 1) * 100, mdd * 100, pk_d, lo_d


def won(x):
    return f"{x:,.0f}만원"


def line(label, eq, ds, d0):
    end, cagr, mdd, a, b = summary(eq, ds, d0)
    print(f"  {label:<10} 1,000만원 → {won(end)}  (연 {cagr:.2f}% · 가장 크게 떨어졌을 때 {mdd:.2f}% {a}→{b})")
    return end, mdd


def breakeven(hold, night):
    target = grow(hold)[-1]
    lo, hi = 0.0, 0.002
    for _ in range(60):
        f = (lo + hi) / 2
        lo, hi = (f, hi) if grow(night, f)[-1] > target else (lo, f)
    return (lo + hi) / 2 * 100


print(f"재현 — 기준일 {ASOF} · 시작 {START} 종가 · 수수료 편도 {FEE*100:.3f}%")
for code in ("233740", "229200", "122630", "069500"):
    ds, d0, hold, night, day = load(code)
    print(f"\n[{NAME[code]} {code}] {ds[0]} ~ {ds[-1]} · {len(ds):,}거래일")
    he, _ = line("계속 들고 있기", grow(hold), ds, d0)
    ne, nm = line("밤에만", grow(night, FEE), ds, d0)
    line("낮에만", grow(day, FEE), ds, d0)
    yrs = (datetime.date.fromisoformat(ds[-1]) - datetime.date.fromisoformat(d0)).days / 365.25
    print(f"  밤 사이 로그 합 연 {sum(math.log1p(x) for x in night)/yrs*100:+.2f}% · 장중 로그 합 연 {sum(math.log1p(x) for x in day)/yrs*100:+.2f}%")
    print(f"  수수료 손익분기(밤에만 = 계속 들고 있기): 편도 {breakeven(hold, night):.4f}%")
    if code != "233740":
        continue
    # 같은 낙폭 고정 비중 — 늘 w 만 들고 나머지는 현금(이자 0)
    lo, hi = 0.0, 1.0
    for _ in range(60):
        w = (lo + hi) / 2
        m = summary(grow(hold, 0, w), ds, d0)[2]
        lo, hi = (w, hi) if m > nm else (lo, w)
    w = (lo + hi) / 2
    print(f"  같은 낙폭 고정: 늘 {w*100:.1f}% 만 들고 나머지 현금 → {won(summary(grow(hold, 0, w), ds, d0)[0])} (가장 크게 떨어졌을 때 {summary(grow(hold, 0, w), ds, d0)[2]:.2f}%)")
    print("  수수료별 밤에만: " + " · ".join(f"{f*100:.4f}% {won(grow(night, f)[-1]*WON)}" for f in (0.0, 0.000036, 0.00015, 0.0003, 0.0005, 0.001)))
    print("  해마다(계속 / 밤에만 / 낮에만):")
    wins = 0
    years = sorted(set(d[:4] for d in ds))
    for y in years:
        idx = [i for i, d in enumerate(ds) if d[:4] == y]
        h = 1; n = 1; dd = 1
        for i in idx:
            h *= 1 + hold[i]; n *= (1 + night[i]) * (1 - FEE) ** 2; dd *= 1 + day[i]
        wins += n > h
        print(f"    {y}  {(h-1)*100:+7.1f}%  {(n-1)*100:+7.1f}%  {(dd-1)*100:+7.1f}%")
    print(f"  밤에만이 이긴 해 {wins}/{len(years)}")
    for tag, a, b in (("앞 5년", "2016-01-01", "2020-12-31"), ("뒤 6년", "2021-01-01", ASOF)):
        idx = [i for i, d in enumerate(ds) if a <= d <= b]
        h = 1; n = 1
        for i in idx:
            h *= 1 + hold[i]; n *= (1 + night[i]) * (1 - FEE) ** 2
        print(f"  {tag}({a[:4]}~{b[:4]}): 계속 {won(h*WON)} · 밤에만 {won(n*WON)}")
    # 3년 구간 — 2016-01 부터 2023-10 까지 달마다 시작
    tot = win = 0
    y0, m0 = 2016, 1
    while (y0, m0) <= (2023, 10):
        s = f"{y0}-{m0:02d}-01"; e = f"{y0+3}-{m0:02d}-01"
        idx = [i for i, d in enumerate(ds) if s <= d < e]
        h = 1; n = 1
        for i in idx:
            h *= 1 + hold[i]; n *= (1 + night[i]) * (1 - FEE) ** 2
        tot += 1; win += n > h
        m0 += 1
        if m0 == 13:
            y0, m0 = y0 + 1, 1
    print(f"  달마다 시작한 3년 구간 {tot}개 중 밤에만이 더 남은 구간 {win}개")
    # 세금 — 이 ETF 는 매매차익 보유기간과세 15.4%(매매차익·과표기준가 증분 중 작은 값 · 손실 상계 없음) 대상.
    #   과표기준가 자료가 없어 정확히는 못 잰다. 최악 가정: 이긴 밤마다 순이익의 15.4% 를 낸다.
    eq = 1.0
    for x in night:
        gg = (1 + x) * (1 - FEE) ** 2 - 1
        eq *= 1 + (gg * (1 - 0.154) if gg > 0 else gg)
    print(f"  [세금 최악 가정] 이긴 밤마다 15.4% → 밤에만 {won(eq*WON)} (계속 들고 있기는 손실로 끝나 세금 0 → {won(grow(hold)[-1]*WON)})")
print("\n끝.")

알고랩 Strategy Lab — 전략을 검증하고, 검증한 것만 자동매매로 옮깁니다. 장이 열리는 날마다 오후와 아침에 두 번 넣는 주문은 사람보다 봇이 잘 지킵니다. 알고랩 자동매매 살펴보기 · 전략 검증 전체 보기

과거 데이터를 돌려 본 결과이며 미래 수익을 보장하지 않습니다. 투자 판단과 책임은 본인에게 있습니다.