LIVE_PREP2 · 조건 완화 실험 liveprep2

🧪 LIVE_PREP2 — 조건 완화 실험 · 실제 주문 미실행
LIVE_PREP과 독립 (비교·동기화 목적 없음) · ns=liveprep2
모드: LIVE_PREP2 · 주문 허용: 아니오 · 계좌 잠금: ON · Kill switch: OFF
시세 yfinance 폴백: ON
오늘 스냅샷: Webull 12 · yfinance 13 · 실패 0 (2026-07-24)
비상 버퍼: $1000
Webull 세션: OK (21480.9분)

실제 주문 API 미호출 (dry_run 강제). Roth buying_power 기반, 비상버퍼 $1,000 유지. 실계좌 연결은 WEBULL_LIVE_ORDERS_ENABLED=1 및 ACCOUNT_LOCKED=0 필요.

LIVE_PREP2 · 조건 완화 실험 (LIVE_PREP과 데이터·cron 분리, AB 비교용 아님)
· 선정·자금락·매도 등은 LIVE_PREP과 동일 코드, liveprep2 DB·cron 분리
· 엔트리: 06:32 준비 → 06:33~07:02 1분마다 스프레드≤1% · last≤지정가×1.01 · Webull 스냅샷만(yfinance 시 대기) → 충족 시 지정가 제출
· 체결: 제출 후 30분 1분봉 저가≤지정가 → 체결, 미터치 limit_not_touched_in_window
· 크론: WEBULL_RUNTIME_NAMESPACE=liveprep2 · 로그 /var/log/server_track_webull_live_prep2.log · 락 /tmp/server_track_webull_live_{liveprep2}.lock
· 실주문 API 미호출 · Roth buying_power·비상버퍼 $1,000 동일

📋 실험 변경 이력

2026-06-03
(2차) 엔트리 30분 감시: 스프레드≤1% · last≤지정가+1% · Webull 복구 대기 후 제출

엔트리(매수 제출) 30분 감시 — LIVE_PREP2 전용 entry_watch phase (1분 cron).

  • 06:32 buy: 지정가·자금만 준비 (buy_ready), 주문 미제출.
  • 06:33~07:02: 매 1분 Webull 스냅샷으로 재검사.
  • 스프레드WEBULL_MAX_SPREAD_PCT (기본 1%).
  • 가격: last ≤ 지정가 × (1 + WEBULL_LIVE2_MAX_ABOVE_LIMIT_PCT/100), 기본 +1%.
  • yfinance: 스프레드 없음 → 매수 안 함, Webull 복구까지 대기 (중간 정책).
  • 조건 충족 시 그 시각 지정가 제출 → 이후 제출 후 30분 분봉 저가로 체결 판정(기존).
  • 07:02까지 미충족 → entry_window_expired 스킵.
2026-06-03
(1차) 매수 체결 판정: 당일 시가 즉시판정 → 제출 후 30분 분봉 저가 터치

이번 변경의 핵심 — 종목 선정·지정가(전일 종가)·매도·자금락 등은 LIVE_PREP과 동일하고, 매수 지정가가 체결된 것으로 볼지만 다릅니다.

LIVE_PREPLIVE_PREP2
지정가 전일(D-1) 종가 (동일)
주문 제출 시각 (LA) 06:35 06:32
체결 판정 open_only당일 시가 ≤ 지정가면 체결 intraday_window — 제출 후 30분 1분봉 저가가 한 번이라도 ≤ 지정가면 체결
시가만 높고 장중 하락 미체결 (그날 끝) 30분 안 저가 터치 시 체결 가능
30분 미터치 limit_not_touched_in_window → 취소

흐름 (공통)

  1. buy cron: 전일 종가 지정가로 주문 제출 (리스크·자금 OK일 때).
  2. confirm_buy cron: 시뮬 브로커 폴링으로 체결 여부 판정.

LIVE_PREP — “35분 시점 가격”이 아님

06:35는 주문 넣는 시각일 뿐이고, 체결 판정은 그 시각의 현재가가 아니라 당일 개장 시가(open) 한 번만 봅니다. 시가 > 지정가면 장중에 지정가 아래로 내려와도 체결하지 않습니다 (limit_not_filled_open_above).

LIVE_PREP2 — 제출 후 30분 창

06:32에 이미 지정가 주문을 넣은 뒤, 제출 시각부터 30분 구간의 1분봉 저가를 조회합니다. 그 안에 저가 ≤ 지정가인 분봉이 있으면 지정가에 체결로 처리합니다. “30분 동안 밑으로 내려오면 그때 매수 시도”가 아니라, 이미 넣어 둔 지정가 주문이 30분 안에 가격에 닿았는지를 보는 것입니다.

실험과 무관한 차이 (운영)

  • DB·cron·로그·락 분리 (liveprep2)
  • 갭스윕 수집은 LIVE_PREP plan 시에만 (LIVE_PREP2는 스킵)
  • confirm_buy cron 횟수·매수 타임아웃 30분 — 30분 창 맞춤용

LIVE_PREP 운영 페이지 — 별도 실험 트랙 (이 페이지와 수치 비교용 아님).
PREP2 미매수 사유 — 거래일별 미체결·스킵 상세 (갭스윕 없음).

최근 알림 (30건)

07-24 07:55 [info] watchdog 2026-07-24 — watchdog_heartbeat days=28
07-24 07:55 [error] reconcile 2026-07-24 — broker_qty_reconcile ok=False mismatches=2 | {"issues": ["AAPY: db_qty=4.0 broker_qty=0.0", "CCONX: db_qty=3.0 broker_qty=0.0"]}
07-24 07:55 [info] liquidate 2026-07-24 — liquidate submitted=0 skipped=0
07-24 07:55 [warning] liquidate 2026-07-21 CCONX — SKIP_DUPLICATE liveprep_prevday_op_2026-07-21_cconx_SELL_liquidat_a3adaf67b52e28d0 leg_status=liquidation_pending
07-24 07:55 [warning] liquidate 2026-07-06 AAPY — SKIP_DUPLICATE liveprep_prevday_op_2026-07-06_aapy_SELL_liquidat_96c73ceb347fd1e8 leg_status=liquidation_pending
07-24 07:55 [error] reconcile 2026-07-24 — reconcile ok=False issues=2
07-24 07:55 [error] reconcile 2026-07-24 — broker_qty_reconcile ok=False mismatches=2 | {"issues": ["AAPY: db_qty=4.0 broker_qty=0.0", "CCONX: db_qty=3.0 broker_qty=0.0"]}
07-24 07:55 [error] reconcile 2026-07-23 — reconcile ok=False issues=2
07-24 07:55 [error] reconcile 2026-07-23 — broker_qty_reconcile ok=False mismatches=2 | {"issues": ["AAPY: db_qty=4.0 broker_qty=0.0", "CCONX: db_qty=3.0 broker_qty=0.0"]}
07-24 07:54 [error] reconcile 2026-07-22 — reconcile ok=False issues=2
07-24 07:54 [error] reconcile 2026-07-22 — broker_qty_reconcile ok=False mismatches=2 | {"issues": ["AAPY: db_qty=4.0 broker_qty=0.0", "CCONX: db_qty=3.0 broker_qty=0.0"]}
07-24 07:54 [error] reconcile 2026-07-21 — reconcile ok=False issues=1
07-24 07:54 [error] reconcile 2026-07-21 — broker_qty_reconcile ok=False mismatches=1 | {"issues": ["AAPY: db_qty=4.0 broker_qty=0.0"]}
07-24 07:54 [error] reconcile 2026-07-20 — reconcile ok=False issues=1
07-24 07:54 [error] reconcile 2026-07-20 — broker_qty_reconcile ok=False mismatches=1 | {"issues": ["AAPY: db_qty=4.0 broker_qty=0.0"]}
07-24 07:54 [error] reconcile 2026-07-17 — reconcile ok=False issues=1
07-24 07:54 [error] reconcile 2026-07-17 — broker_qty_reconcile ok=False mismatches=1 | {"issues": ["AAPY: db_qty=4.0 broker_qty=0.0"]}
07-24 07:54 [error] reconcile 2026-07-16 — reconcile ok=False issues=1
07-24 07:54 [error] reconcile 2026-07-16 — broker_qty_reconcile ok=False mismatches=1 | {"issues": ["AAPY: db_qty=4.0 broker_qty=0.0"]}
07-24 07:54 [error] reconcile 2026-07-14 — reconcile ok=False issues=1
07-24 07:54 [error] reconcile 2026-07-14 — broker_qty_reconcile ok=False mismatches=1 | {"issues": ["AAPY: db_qty=4.0 broker_qty=0.0"]}
07-24 07:54 [error] reconcile 2026-07-13 — reconcile ok=False issues=1
07-24 07:54 [error] reconcile 2026-07-13 — broker_qty_reconcile ok=False mismatches=1 | {"issues": ["AAPY: db_qty=4.0 broker_qty=0.0"]}
07-24 07:54 [error] reconcile 2026-07-10 — reconcile ok=False issues=1
07-24 07:54 [error] reconcile 2026-07-10 — broker_qty_reconcile ok=False mismatches=1 | {"issues": ["AAPY: db_qty=4.0 broker_qty=0.0"]}
07-24 07:54 [error] reconcile 2026-07-09 — reconcile ok=False issues=1
07-24 07:54 [error] reconcile 2026-07-09 — broker_qty_reconcile ok=False mismatches=1 | {"issues": ["AAPY: db_qty=4.0 broker_qty=0.0"]}
07-24 07:54 [error] reconcile 2026-07-08 — reconcile ok=False issues=1
07-24 07:54 [error] reconcile 2026-07-08 — broker_qty_reconcile ok=False mismatches=1 | {"issues": ["AAPY: db_qty=4.0 broker_qty=0.0"]}
07-24 07:53 [error] reconcile 2026-07-07 — reconcile ok=False issues=1

일별 체결 품질

선정일매도완료매수 슬리피지(bps)매도 슬리피지(bps)스프레드%
2026-07-24 0 - - -
2026-07-23 0 - - -
2026-07-22 0 - - -
2026-07-21 0 - - -
2026-07-20 0 - - -
2026-07-17 0 - - -
2026-07-16 0 - - -
2026-07-14 0 - - -
2026-07-13 0 - - -
2026-07-10 0 - - -
2026-07-09 0 - - -
2026-07-08 0 - - -
2026-07-07 0 - - -
2026-07-06 0 - - -
2026-07-02 0 - - -
2026-07-01 0 - - -
2026-06-29 0 - - -
2026-06-26 1 0.00 92.70 -
2026-06-25 1 0.00 16.15 -
2026-06-23 1 0.00 0.00 -
2026-06-22 2 0.00 56.32 -
2026-06-18 1 0.00 0.00 -
2026-06-17 0 - - -
2026-06-15 0 - - -
2026-06-12 1 0.00 463.18 -
2026-06-11 0 - - -
2026-06-09 0 - - -
2026-06-03 0 - - -

심볼별 체결 난이도 (Top 20)

심볼시도체결거부율%난이도
AMPG 3 1 33.33 505.03
ACA 1 1 0.00 223.70
ARQQ 3 2 33.33 135.80
AUPH 1 1 0.00 121.54
CCONX 1 0 100.00 100.00
BBIO 1 0 100.00 100.00
CATO 1 0 100.00 100.00
DWSN 1 0 100.00 100.00
FBRX 1 0 100.00 100.00
EPAC 1 0 100.00 100.00
CRNX 1 0 100.00 100.00
DTIL 1 0 100.00 100.00
ENGS 1 0 100.00 100.00
FHTX 1 0 100.00 100.00
IMMX 1 0 100.00 100.00
AOUT 1 0 100.00 100.00
BNKU 1 0 100.00 100.00
CRTO 1 0 100.00 100.00
AAPY 1 0 100.00 100.00
BSET 2 0 100.00 100.00

2026-07

선정일매매일선정계획예수금매수체결매도 투자$수익$수익률%단계비고
2026-07-24 2026-07-24 0 0 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-07-23 2026-07-23 0 0 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-07-22 2026-07-22 0 0 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-07-21 2026-07-21 1 1 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-07-20 2026-07-20 0 0 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-07-17 2026-07-17 0 0 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-07-16 2026-07-16 0 0 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-07-14 2026-07-14 0 0 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출. | 장 마감 후 매수 불가 — close_et=16:00 early_close=False
2026-07-13 2026-07-13 0 0 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-07-10 2026-07-10 4 4 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-07-09 2026-07-09 1 1 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-07-08 2026-07-08 5 5 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-07-07 2026-07-07 3 3 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-07-06 2026-07-06 2 2 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-07-02 2026-07-02 7 7 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출. | 장 마감 후 매수 불가 — close_et=16:00 early_close=False
2026-07-01 2026-07-01 3 3 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.

2026-06

선정일매매일선정계획예수금매수체결매도 투자$수익$수익률%단계비고
2026-06-29 2026-06-29 8 8 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출. | 장 마감 후 매수 불가 — close_et=16:00 early_close=False
2026-06-26 2026-06-26 5 5 6000 0 1 359.39 -12.51 -3.48 sold LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-06-25 2026-06-25 5 5 6000 0 1 93.10 -0.05 -0.05 sold LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-06-23 2026-06-23 3 3 6000 0 1 144.90 -0.48 -0.33 sold LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출. | 장 마감 후 매수 불가 — close_et=16:00 early_close=False
2026-06-22 2026-06-22 8 8 6000 0 2 536.98 -22.23 -4.14 sold LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-06-18 2026-06-18 4 4 6000 0 1 90.40 -1.16 -1.28 sold LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출. | 장 마감 후 매수 불가 — close_et=16:00 early_close=False
2026-06-17 2026-06-17 4 4 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-06-15 2026-06-15 1 1 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출. | 장 마감 후 매수 불가 — close_et=16:00 early_close=False
2026-06-12 2026-06-12 4 4 6000 0 1 104.04 1.68 1.61 sold LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-06-11 2026-06-11 4 4 6000 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.
2026-06-09 2026-06-09 4 4 0 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출. | 장 마감 후 매수 불가 — close_et=16:00 early_close=False
2026-06-03 2026-06-03 3 3 0 0 0 0.00 0.00 0.00 planned LIVE_PREP2: 06:32~30분 entry_watch(스프레드·지정가+1%) 후 지정가 제출, 제출 후 30분 분봉 저가 체결. liveprep2 전용. 실주문 API 미호출.