사용설명서
폴 튜더 존스의 세 가지 원칙(200일선 · 손익비 5:1 · 1회 2% 리스크)으로 종목을 고르고, 한 달 동안 가상 계좌로 규칙을 시험하는 도구입니다.
이 사이트는
- 가상 계좌는 시장별로 따로 있습니다: 국장 ₩10,000,000, 미장 $10,000.
- 위쪽 국장 / 미장 버튼으로 시장을 바꿉니다. 화면의 모든 숫자는 선택한 시장 기준입니다.
- 추천 목록은 누구나 볼 수 있고, 주문 등록·기록·수동 업데이트는 로그인해야 합니다.
하루 흐름
| 시각 (한국) | 일어나는 일 |
|---|---|
| 평일 16:30 | 국장 업데이트 — 국장 정규장(15:30) 마감 1시간 뒤 |
| 화~토 06:05 또는 07:05 | 미장 업데이트 — 뉴욕 마감(16:00 ET) 1시간 뒤. 서머타임이면 06:05, 아니면 07:05 실행분이 처리 |
| PC 로그온 후 3분 | 꺼져 있던 동안 놓친 업데이트 보충 |
업데이트 한 번에 이런 일이 일어납니다.
- 종목 목록과 일봉 시세를 새로 받습니다.
- 200일선 필터를 통과한 종목의 손절가·목표가·최대진입가를 계산하고 점수를 매겨 추천 목록을 바꿉니다.
- 모의 자동체결이 켜져 있으면 대기 주문 체결, 보유 종목의 손절·익절·청산을 규칙대로 처리합니다.
- 계좌 평가액을 기록하고, 옵시디언 Daily 폴더에 그날의 추천 노트를 만듭니다.
장중에 지금 업데이트를 누르면 아직 끝나지 않은 오늘 봉은 빼고 직전 종가로 계산합니다.
추천 목록 읽는 법
개별주는 시장별 20개, 섹터 ETF는 10개, 레버리지 ETF(국장 2배·미장 3배)는 전부를 점수 순으로 보여줍니다(200일선 아래 등 조건 미달 종목은 판단이 '제외'로 표시). 종목 이름을 누르면 네이버증권이 새 창으로 열리고, 행의 다른 곳을 누르면 계산 근거가 펼쳐집니다.
순위와 등급은 다릅니다
순위(1, 2, 3…)는 점수 순서입니다. 추세가 좋고 많이 오른 종목일수록 위에 있습니다. 등급(A·B·C)은 지금 가격이 살 만한 자리인가를 뜻합니다. 그래서 1위가 C일 수도, 15위가 A일 수도 있습니다. 주문은 등급으로 고르고, 같은 등급 안에서는 순위(점수)가 높은 것부터 고릅니다.
| 등급 | 조건 | 뜻 | 할 일 |
|---|---|---|---|
| A | 현재가 ≤ 최대진입가 | 지금 가격에 사도 손익비가 5:1 이상. 기획서의 "즉시 지정가 주문 등록" 조건 | 오늘 주문 |
| B | 최대진입가 < 현재가 ≤ 최대진입가 × 1.03 정도 (3% 이내) | 조금만 눌리면 진입 자리. 기획서의 "대기 지정가 주문" | 최대진입가에 지정가 걸고 대기 |
| C | 최대진입가보다 3% 넘게 비쌈 | 추세는 좋지만 지금 사면 손익비가 5:1에 못 미침 | 주문하지 않고 지켜보기 |
손익비 사다리
각 행의 막대는 한 종목의 가격 구조를 한 줄에 그린 것입니다. 기획서 예시(NVDA)로 그리면 이렇습니다.
파란 구간(손절→최대진입)이 감수할 위험 1, 빨간 구간(최대진입→목표)이 기대 수익 5입니다. 검은 점(현재가)이 주황 선(최대진입가)보다 오른쪽이면 아직 비쌉니다.
점수 (100점)
| 항목 | 배점 | 기준 |
|---|---|---|
| 추세 | 25 | 200일선 위 이격 5~25%가 최적, 200일선 기울기, 50일선 > 200일선 |
| 모멘텀 | 25 | 3·6·12개월 수익률(40·30·30%)의 그룹 내 순위 |
| 진입 근접 | 30 | 현재가가 최대진입가 이하면 만점, 8% 이상 떨어져 있으면 0 |
| 변동성 | 10 | 하루 평균 변동폭(ATR) 1~4%가 최적 |
| 유동성 | 10 | 20일 평균 거래대금 순위 |
스테이지·SEPA (참고 정보)
마크 미너비니의 SEPA 기준을 참고용으로 함께 보여줍니다. 계산은 snp_sepa_mmt 스크리너와 같은 코드입니다. PTJ 점수·등급·손절가·목표가에는 영향을 주지 않습니다.
| 표시 | 뜻 |
|---|---|
| P2 등 | 스테이지. P1 바닥 다지기, P2 상승 추세, P3 고점·분산, P4 하락 추세. 미너비니는 P2만 매수 |
| 막대 8칸 | 트렌드 템플릿 8개 조건(150·200일선 위, 200일선 상승, 52주 고가 25% 이내 등) 중 통과한 개수 |
| 숫자 (125점) | SEPA 점수: 추세 구조 40 · 펀더멘털 40 · 손익비 15 · 상대강도 10 · 거래량 10 · 진입 5 · VCP 5. 빨간 숫자는 매수 적격 |
SEPA 매수 적격 = P2 이고 템플릿 7/8 이상이고 60점 이상. 행을 펼치면 항목별 점수, 템플릿 체크리스트, 보류 사유가 보입니다. ETF와 재무 데이터가 없는 종목은 펀더멘털을 중립 20점으로 계산합니다.
목록에 오르는 조건
- 종가 > 200일 이동평균, 200일선이 최근 20일간 상승 또는 보합
- 20일 평균 거래대금: 국장 개별주 50억원·ETF 3억원 이상, 미장 개별주 $50M·ETF $10M 이상
- 유효한 목표가가 있을 것 (아래 수식 참고)
시장 지수가 200일선 아래면 위쪽에 약세 표시가 뜨고, 손절 폭을 넓게(ATR 2.5배) 잡습니다.
매수 판단 시나리오
추천 행에는 네 가지 지표가 있습니다. 각자 묻는 질문이 다릅니다.
| 지표 | 묻는 질문 | 역할 |
|---|---|---|
| PTJ 등급 A·B·C | 지금 가격이 손익비 5:1 자리인가? | 언제·얼마에 살지 (주문 방식) |
| PTJ 점수 (100) | 추세·모멘텀·유동성이 상위권인가? | 같은 판단 안에서 순서 |
| SEPA 스테이지 + 템플릿 | 지금 상승 2단계(P2)이고 미너비니 조건을 갖췄나? | 얼마나 살지 (수량 100%·50%·0) |
| SEPA 점수 (125) | 추세·실적·수급·패턴이 종합적으로 좋은가? | 수량 결정 보조, 40점 미만은 제외 |
이 네 가지를 합친 결과가 추천 행 오른쪽 판단 칸입니다. PTJ 우선 원칙입니다: PTJ는 눌림목(최대진입가)에서 사기 때문에, 막상 살 자리에서는 주가가 50일선 근처로 내려와 SEPA 스테이지가 P1로 떨어지는 일이 흔합니다. 그래서 스테이지는 P3·P4를 걸러내는 데만 쓰고, 수량은 SEPA 점수로 정합니다. 위에서부터 먼저 맞는 단계가 적용됩니다.
| 판단 | 조건 | 할 일 |
|---|---|---|
| 제외 | 스테이지 P3·P4, 또는 SEPA 40점 미만 | 등급이 A여도 주문하지 않음 |
| 적극 매수 | A등급 + SEPA 60 이상 + PTJ 점수 60 이상 (P1·P2 모두) | 오늘 주문, 권장 수량 100% |
| 예약 매수 100% | B등급 + SEPA 60 이상 + PTJ 점수 60 이상 (P1·P2 모두) | 최대진입가에 지정가, 100% |
| 매수 50% | A등급인데 SEPA 40~59 이거나 PTJ 점수 60 미만 | 오늘 주문, 권장 수량 절반 |
| 예약 매수 50% | B등급인데 SEPA 40~59 이거나 PTJ 점수 60 미만 | 최대진입가에 지정가, 절반 |
| 관심 | C등급이지만 P2 + 템플릿 7/8 이상 + SEPA 60 이상 | 주문 없음. B·A로 내려오면 1순위 |
| 관찰 | 그 밖의 C등급 | 주문 없음 |
예약 매수는 지금 가격이 최대진입가보다 조금(3% 이내) 비싸서, 최대진입가에 지정가 매수를 걸어 두고 가격이 내려오길 기다린다는 뜻입니다. 사이트에서는 주문 등록만 해 두면 다음 업데이트 때 저가가 지정가 이하였는지 보고 모의 체결합니다. (실제 증권사 지정가 주문은 보통 당일만 유효하니, 실전에서는 매일 다시 걸거나 기간 주문을 씁니다.)
- 판단은 손익비 5:1과 2% 리스크 규칙을 바꾸지 않습니다. 권장 수량을 100%·50%로 줄이거나 주문을 막을 뿐이라, 50%로 사도 원칙 위반이 아닙니다.
- 주문 창을 열면 판단의 비율이 적용된 수량이 미리 채워지고, 창 위쪽에 판단과 할 일이 표시됩니다.
- 행을 펼치면 맨 위에 판단 근거(어떤 지표가 어떤 값이라 이 판단이 나왔는지)가 나옵니다.
- SEPA 정보가 없는 종목(상위 노출 밖)은 PTJ 규칙만으로 판단하고 수량은 보수적으로 50%입니다.
레버리지 탭 (국장 2x · 미장 3x)
레버리지 ETF는 일반 ETF와 섞으면 배수만큼 커진 수익률이 모멘텀 순위를 휩쓸기 때문에 별도 탭에서 따로 순위를 매기고, 대상 전부를 점수 순으로 보여줍니다.
| 국장 레버리지 2x | 미장 레버리지 3x | |
|---|---|---|
| 대상 | 네이버 ETF 목록에서 이름에 '레버리지'가 있는 지수·업종 ETF (인버스 제외). KOSPI200·코스닥150 지수 2배와 반도체·2차전지 등 섹터 2배. 같은 기초지수는 시가총액 1위 하나만 | SOXL·TECL·FAS·LABU 등 섹터 3배 15종 (ERX만 2배) |
| 유동성 하한 | 하루 평균 거래대금 10억 원 | 하루 평균 거래대금 $20M |
| 변동성 조건 | ATR 15%까지 허용 (일반 ETF는 8%) | |
| 수량 | 판단 수량 × 0.5 → 적극 매수 50%, 예약 매수 50%, 매수 25%, 예약 매수 25% | |
- 200일선 아래·거래대금 부족 같은 PTJ 기본 조건에 못 미치는 상품도 목록에 남기되 등급 '–', 판단 제외로 표시하고, 행을 펼치면 걸린 조건이 나옵니다.
- 주의: 밤사이 갭으로 손절가보다 훨씬 아래에서 체결될 수 있고, 횡보장에서 오래 들고 있으면 가치가 깎입니다(복리 손실). 트레일링 청산 규칙을 특히 지키세요.
- 실전 매매 시: 국내 레버리지 ETF는 개인이 사려면 금융투자교육원 사전교육과 기본예탁금(보통 1천만 원 이상)이 필요합니다. 해외 레버리지도 비슷한 의무가 적용되는지 증권사에서 확인하세요. 지금은 가상 매매라 해당 없습니다.
시나리오 예시
| 상황 | 네 지표 | 판단 → 행동 |
|---|---|---|
| 모든 게 맞는 날 | A · 72점 · P2 8/8 · SEPA 85 | 적극 매수 → 오늘 현재가로 지정가, 100% |
| 눌림목에서 손익비 자리 (예: LG이노텍 10-02) | A · 82.5점 · P1 4/8 · SEPA 61 | 적극 매수 → 템플릿이 약해도 PTJ 조건과 SEPA 점수가 충분 |
| 조금 비쌈 | B · 80점 · P2 7/8 · SEPA 78 | 예약 매수 100% → 최대진입가에 걸어두고 기다림 |
| 싸지만 근거가 약함 | A · 65점 · P2 6/8 · SEPA 48 | 매수 50% → 절반만 |
| 싸지만 너무 많이 오른 뒤 | A · 85점 · P3 5/8 · SEPA 70 | 제외 → 고점·분산 단계는 손익비가 좋아 보여도 안 삼 |
| 최고 종목인데 많이 비쌈 | C · 88점 · P2 8/8 · SEPA 95 | 관심 → 오늘은 안 사고 눌림을 기다림 |
무엇을 주문할까
장 마감 업데이트가 끝나면 (국장 16:30 이후, 미장은 아침) 아래 순서대로 고르면 됩니다.
- 시장 상태 확인 — 계좌 아래 줄의 점이 빨간색(지수 > 200일선)이면 정상 진행. 파란색(약세)이면 적극 매수·예약 매수 100%만, 평소보다 적게.
- 알림부터 처리 — 위쪽 알림(모의 체결·손절·익절)을 읽고 '확인'. 보유 종목이 정리돼야 남은 여력을 알 수 있습니다.
- 판단 칸 순서대로 — 적극 매수 → 예약 매수 100% → 매수 50% → 예약 매수 50%. 같은 판단 안에서는 PTJ 점수가 높은 것부터. 개별주 탭과 섹터 ETF 탭을 함께 봅니다.
- 주문 창의 값 그대로 등록 — 지정가(A는 현재가, B는 최대진입가)와 판단 비율이 적용된 수량이 미리 채워져 있습니다.
- 관심·관찰·제외는 주문하지 않음 — 매일 다시 계산되니 판단이 바뀌면 그때 주문.
- 아래 한도 안에서만 — 자리가 모자라면 판단 순위가 낮은 것부터 포기합니다.
한도 (테스트 기간 운용 규칙)
기획서에는 1회 2% 리스크와 종목당 20% 상한만 있습니다. 한 달 테스트에서 계좌가 한쪽으로 쏠리지 않도록 아래를 함께 지키길 권합니다.
| 항목 | 권장 | 이유 |
|---|---|---|
| 동시 보유 + 대기 주문 | 시장별 최대 5종목 | 20% × 5 = 계좌 100%. 그 이상은 현금이 모자람 |
| 위험 노출 합계 | 10% 이하 (계좌 위 '위험 노출') | 5종목이 모두 손절돼도 −10%로 막기 위해 |
| 같은 섹터 | 2종목까지 | 반도체만 5개면 사실상 한 종목에 몰빵 |
| 개별주와 같은 섹터 ETF | 둘 중 하나만 | 예: SK하이닉스와 반도체 ETF를 함께 사면 같은 위험을 두 번 짐 |
대기 주문 관리
- 손절가·목표가·최대진입가는 매일 다시 계산됩니다. 대기 주문이 5거래일 동안 체결되지 않으면 취소하고, 그날 값으로 다시 등록하세요.
- 대기 중인 종목이 추천 목록에서 빠지면(200일선 이탈 등) 바로 취소합니다.
- 이미 보유한 종목은 다시 주문하지 않습니다 (물타기·불타기 없음).
로그인과 비밀번호
- 보기(추천·판단·포지션·사용설명서)는 어디서나 로그인 없이 됩니다.
- 주문 등록·기록·지금 업데이트·알림 확인은 로그인이 필요합니다. 폰·외부 주소에서도 똑같이 쓸 수 있고, 기기마다 한 번 로그인하면 30일 유지됩니다.
- 변경: 로그인 후 오른쪽 위 비밀번호 변경 → 현재 비밀번호와 새 비밀번호 입력.
- 잊었을 때: 비밀번호는 암호화해 저장하므로 찾아볼 수 없습니다. PC에서 reset_password.bat를 실행하면 비밀번호가 지워지고 모든 기기의 로그인이 끊깁니다(주문·매매 기록은 그대로). 이어서 열리는 PC 화면에서 새 비밀번호를 정합니다.
- 처음 비밀번호 설정(초기화 직후 포함)은 이 PC(localhost)에서만 됩니다. 공개 주소로 남이 먼저 정하는 것을 막기 위해서입니다.
- 8번 연속 틀리면 15분 동안 로그인이 잠깁니다.
주문 등록
- 처음 한 번 오른쪽 위 비밀번호 설정, 이후엔 로그인.
- 추천 행의 주문 등록을 누르면 지정가(최대진입가와 현재가 중 낮은 값)·손절가·목표가가 미리 채워집니다.
- 수량은 계좌의 2% 리스크와 20% 상한으로 자동 계산됩니다. 바꿔도 되지만 기준을 넘으면 원칙 위반으로 기록됩니다.
- 주문 기록을 누르면 포지션·주문 탭의 대기 주문에 들어갑니다.
손익비가 5보다 낮게 입력하면 창 안에 빨간 경고가 뜹니다. 그래도 등록할 수는 있지만 감사 로그에 남습니다.
모의 자동체결 규칙
기본으로 켜져 있습니다. 매 장 마감 업데이트 때 그날 일봉(시가·고가·저가·종가)을 보고 아래 순서로 처리합니다.
| 상황 | 처리 |
|---|---|
| 대기 주문, 저가 ≤ 지정가 | 지정가에 체결. 전날 밤에 낸 주문이 갭하락으로 시가가 지정가보다 낮으면 시가에 체결 |
| 보유 중, 저가 ≤ 손절가 | 손절가에 전량 매도. 시가부터 손절가 아래(갭하락)면 시가에 매도 |
| 고가 ≥ 목표가 (1차 익절 전) | 절반을 목표가에 매도하고 손절가를 진입가(본절)로 올림 |
| 1차 익절 후, 종가 < 200일선 또는 종가 < 트레일링 | 남은 수량을 종가에 매도. 트레일링 = 보유 중 최고 종가 − 3×ATR (올라가기만 함) |
- 하루 봉 안에서 손절과 목표가 모두 닿으면 어느 쪽이 먼저인지 알 수 없어서 손절로 처리합니다 (보수적).
- 체결된 당일에는 손절만 확인하고 익절은 다음 날부터 봅니다.
- 장 마감 이후에 낸 주문은 다음 거래일 봉부터 체결 대상입니다.
- 자동 처리된 내용은 위쪽 알림과 감사 로그, 옵시디언 Journal에 남습니다.
- 대기 주문은 자동으로 취소되지 않습니다. 더 이상 원하지 않으면 직접 취소하세요.
실제 증권사 손매매 결과를 적고 싶다면 포지션·주문 탭 맨 위에서 수동 기록 모드로 바꿀 수 있습니다. 그러면 신호는 알림으로만 뜨고, 아래 버튼으로 직접 기록합니다.
수동 버튼
| 버튼 | 쓰는 때 | 원칙 위반 여부 |
|---|---|---|
| 체결 기록 | 대기 주문을 직접 체결 처리 | 주문가보다 0.3% 넘게 비싸게 체결하면 위반 |
| 주문 취소 | 대기 주문 철회 | - |
| 1차 익절 | 목표가 도달 후 절반 매도 (손절가 본절 상향 자동) | 수량이 절반과 다르면 위반 |
| 손절 / 트레일링 청산 | 규칙 신호에 따른 매도 | - |
| 손절가 변경 | 손절가를 올릴 때 | 내리면 위반 |
| 재량 청산 | 신호 없이 파는 경우 | 항상 위반 (인간 개입) |
신호에 맞춰 강조된 버튼이 테두리 빨간색으로 표시됩니다. 자동체결 모드에서도 버튼은 쓸 수 있습니다.
계좌 지표
| 지표 | 뜻 |
|---|---|
| 총자산 | 초기 자금 + 실현 손익 + 보유 종목 평가 손익 (최근 종가 기준) |
| 위험 노출 | 모든 보유 종목이 지금 손절가에 걸리면 잃는 금액 ÷ 총자산 |
| 당일 손익 | 직전 업데이트 대비 총자산 변화 |
| 승률 | 완전히 청산된 거래 중 이익 낸 비율 (괄호는 거래 수) |
| 평균 실현 R | 거래당 손익 ÷ 처음 감수한 위험. +2R이면 위험의 두 배를 번 것 |
| Profit factor | 총이익 ÷ 총손실. 1보다 커야 돈을 번 것 |
| MDD | 업데이트 기록 기준 고점 대비 최대 하락률 |
| 원칙 위반 | 감사 로그에 남은 위반 건수 |
감사 로그와 원칙 위반
감사 로그 탭에 주문·체결·청산·알림이 시간 순으로 쌓이고, 위반은 빨간 줄로 표시됩니다. 자동으로 잡는 위반은 다음과 같습니다.
- 손익비 5 미만으로 주문하거나 체결
- 1회 리스크 2% 또는 단일 종목 20% 상한 초과
- 주문가보다 비싸게 체결 (추격 매수)
- 손절가 하향
- 손절 신호를 다음 업데이트까지 실행하지 않음 (수동 모드)
- 신호 없는 재량 청산, 1차 익절 수량이 절반과 다름
핵심 수식
최대 허용 진입가 = (목표가 + 5 × 손절가) ÷ 6
수량 = ⌊ 총자산 × 2% ÷ (진입가 − 손절가) ⌋, 단 투입금 ≤ 총자산 × 20%
손절가 고르는 법
다섯 후보 중 현재가보다 최소 1 ATR 아래에 있는 것 가운데 가장 높은 값(가장 가까운 지점)을 씁니다.
- 최근 20일 최저가 (스윙 로우)
- 200일선 × 0.985
- 현재가 − 2 × ATR (약세장 2.5 ×)
- 최근 120일 상승 구간의 피보나치 0.618 · 0.786 되돌림
목표가 고르는 법
후보 중 현재가 + 2 ATR 이상이면서 현재가 × (1 + 3 × 연 변동성) 이하인 것 가운데 가장 낮은 값(가장 보수적)을 씁니다.
- 52주 신고가, 최근 60일 고점
- 120일 추세 채널 상단 (20일 뒤로 연장)
- 피보나치 확장 1.618 · 2.618
최근 3년 동안 닿은 적 없는 가격이면 현재가가 3년 거래량 최대 매물대 위에 있을 때만 인정합니다. 행을 펼치면 탈락한 후보에 취소선이 그어져 있습니다.
기획서 예시로 검산
- 목표 / 손절
- $150 / $110
- 최대 진입가
- (150 + 550) ÷ 6 = $116.67
- 2% 리스크 수량
- $2,000 ÷ $6.67 = 299주
- 20% 상한 적용
- $20,000 ÷ $116.67 = 171주 (최종)
관리
| 파일 (C:\apps\PTJ-Trader) | 용도 |
|---|---|
| start_server.bat / stop_server.bat | 웹 서버 켜기·끄기 (평소엔 로그온 때 자동 시작) |
| update_now.bat | 국장·미장을 지금 다시 계산 |
| allow_remote.bat | 원격 접속 준비 (Tailscale 기기만 방화벽 허용, 잠자기 끄기) — 관리자 권한 |
| reset_password.bat | 비밀번호를 잊었을 때 초기화 (모든 기기 로그아웃, 기록은 유지) |
| uninstall_tasks.bat | 자동 실행 작업 삭제 (데이터는 남음) |
| logs\update.log | 업데이트가 안 된 것 같을 때 먼저 볼 곳 |
| obsidian\ | 옵시디언 볼트. 결정사항·진행 로그·일일 추천·매매일지 |
- 폰·외부에서 보기 — https://desktop-tckeb87.tailfc8af5.ts.net (Tailscale Funnel, 폰에 앱 필요 없음). 추천 보기는 로그인 없이 되고, 주문 등록·기록·업데이트는 기기마다 한 번 비밀번호 로그인(30일 유지). 공개를 끄려면 funnel_off.bat, 다시 켜려면 funnel_on.bat.
- 업데이트 시각에 PC가 절전 상태면 깨워서 실행하고, 꺼져 있었으면 다음 로그온 때 보충합니다.
- 추천은 규칙에 따른 계산 결과일 뿐 투자 권유가 아닙니다.