From 5410009bea191776734a52cb7cf2130cef5963e9 Mon Sep 17 00:00:00 2001 From: hyowons Date: Fri, 24 Jul 2026 02:00:02 +0900 Subject: [PATCH] =?UTF-8?q?auto:=20=EC=9D=BC=EC=9D=BC=20=EB=B0=B1=EC=97=85?= =?UTF-8?q?=202026-07-24=2002:00?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- .../workspace/openclaw-workspace-state.json | 4 + agents/stock/workspace/scripts/behive_web.py | 180 ++++++++++++++---- .../stock/workspace/scripts/stock_analysis.py | 11 +- .../state/market_indicators_history.jsonl | 2 + .../workspace/state/sim/equity_history.json | 2 +- .../workspace/state/sim/index_history.json | 2 +- .../state/sim/variants/v1/portfolio.json | 60 +++++- .../state/sim/variants/v1/trades.jsonl | 3 + .../state/sim/variants/v101/portfolio.json | 58 +++++- .../state/sim/variants/v101/trades.jsonl | 3 + .../state/sim/variants/v103/portfolio.json | 75 +++++--- .../state/sim/variants/v103/trades.jsonl | 4 + .../state/sim/variants/v105/portfolio.json | 96 +++++++--- .../state/sim/variants/v105/trades.jsonl | 7 + .../state/sim/variants/v107/portfolio.json | 87 +++++---- .../state/sim/variants/v107/trades.jsonl | 5 + .../state/sim/variants/v147/portfolio.json | 75 +++++--- .../state/sim/variants/v147/trades.jsonl | 5 + .../state/sim/variants/v149/portfolio.json | 77 +++++--- .../state/sim/variants/v149/trades.jsonl | 5 + .../state/sim/variants/v151/portfolio.json | 75 +++++--- .../state/sim/variants/v151/trades.jsonl | 5 + .../state/sim/variants/v155/portfolio.json | 119 +++++++----- .../state/sim/variants/v155/trades.jsonl | 7 + .../state/sim/variants/v157/portfolio.json | 118 ++++++++---- .../state/sim/variants/v157/trades.jsonl | 8 + .../state/sim/variants/v159/portfolio.json | 120 ++++++++---- .../state/sim/variants/v159/trades.jsonl | 8 + .../state/sim/variants/v161/portfolio.json | 58 +++++- .../state/sim/variants/v161/trades.jsonl | 3 + .../state/sim/variants/v165/portfolio.json | 58 +++++- .../state/sim/variants/v165/trades.jsonl | 3 + .../state/sim/variants/v167/portfolio.json | 58 +++++- .../state/sim/variants/v167/trades.jsonl | 3 + .../state/sim/variants/v189/portfolio.json | 99 ++++++++-- .../state/sim/variants/v189/trades.jsonl | 7 + .../state/sim/variants/v195/portfolio.json | 113 +++++------ .../state/sim/variants/v195/trades.jsonl | 5 + .../state/sim/variants/v197/portfolio.json | 94 ++++++--- .../state/sim/variants/v197/trades.jsonl | 7 + .../state/sim/variants/v199/portfolio.json | 97 ++++++++-- .../state/sim/variants/v199/trades.jsonl | 7 + .../state/sim/variants/v201/portfolio.json | 113 +++++------ .../state/sim/variants/v201/trades.jsonl | 5 + .../state/sim/variants/v203/portfolio.json | 95 +++++++-- .../state/sim/variants/v203/trades.jsonl | 7 + .../state/sim/variants/v205/portfolio.json | 96 +++++++--- .../state/sim/variants/v205/trades.jsonl | 7 + .../state/sim/variants/v207/portfolio.json | 58 +++++- .../state/sim/variants/v207/trades.jsonl | 3 + .../state/sim/variants/v209/portfolio.json | 58 +++++- .../state/sim/variants/v209/trades.jsonl | 3 + .../state/sim/variants/v211/portfolio.json | 98 +++++----- .../state/sim/variants/v211/trades.jsonl | 5 + .../state/sim/variants/v213/portfolio.json | 96 +++++++--- .../state/sim/variants/v213/trades.jsonl | 7 + .../state/sim/variants/v215/portfolio.json | 110 +++++------ .../state/sim/variants/v215/trades.jsonl | 6 + .../state/sim/variants/v217/portfolio.json | 90 ++++++--- .../state/sim/variants/v217/trades.jsonl | 14 ++ .../state/sim/variants/v218/portfolio.json | 90 ++++++--- .../state/sim/variants/v218/trades.jsonl | 13 ++ .../state/sim/variants/v223/portfolio.json | 90 ++++++--- .../state/sim/variants/v223/trades.jsonl | 14 ++ .../state/sim/variants/v224/portfolio.json | 90 ++++++--- .../state/sim/variants/v224/trades.jsonl | 13 ++ .../state/sim/variants/v229/portfolio.json | 90 ++++++--- .../state/sim/variants/v229/trades.jsonl | 14 ++ .../state/sim/variants/v230/portfolio.json | 90 ++++++--- .../state/sim/variants/v230/trades.jsonl | 13 ++ .../state/sim/variants/v235/portfolio.json | 90 ++++++--- .../state/sim/variants/v235/trades.jsonl | 14 ++ .../state/sim/variants/v236/portfolio.json | 90 ++++++--- .../state/sim/variants/v236/trades.jsonl | 13 ++ .../state/sim/variants/v265/portfolio.json | 90 ++++++--- .../state/sim/variants/v265/trades.jsonl | 14 ++ .../state/sim/variants/v266/portfolio.json | 90 ++++++--- .../state/sim/variants/v266/trades.jsonl | 13 ++ .../state/sim/variants/v271/portfolio.json | 90 ++++++--- .../state/sim/variants/v271/trades.jsonl | 14 ++ .../state/sim/variants/v272/portfolio.json | 90 ++++++--- .../state/sim/variants/v272/trades.jsonl | 13 ++ .../state/sim/variants/v277/portfolio.json | 90 ++++++--- .../state/sim/variants/v277/trades.jsonl | 14 ++ .../state/sim/variants/v278/portfolio.json | 90 ++++++--- .../state/sim/variants/v278/trades.jsonl | 13 ++ .../state/sim/variants/v283/portfolio.json | 90 ++++++--- .../state/sim/variants/v283/trades.jsonl | 14 ++ .../state/sim/variants/v284/portfolio.json | 90 ++++++--- .../state/sim/variants/v284/trades.jsonl | 13 ++ .../state/sim/variants/v296/portfolio.json | 78 ++++---- .../state/sim/variants/v296/trades.jsonl | 8 + .../state/sim/variants/v298/portfolio.json | 73 +++---- .../state/sim/variants/v298/trades.jsonl | 2 + .../state/sim/variants/v299/portfolio.json | 22 +-- .../state/sim/variants/v300/portfolio.json | 74 +++++-- .../state/sim/variants/v300/trades.jsonl | 6 + .../state/sim/variants/v301/portfolio.json | 60 +++++- .../state/sim/variants/v301/trades.jsonl | 3 + .../state/sim/variants/v302/portfolio.json | 89 +++++++-- .../state/sim/variants/v302/trades.jsonl | 6 + .../state/sim/variants/v303/portfolio.json | 113 ++++++++--- .../state/sim/variants/v303/trades.jsonl | 15 ++ .../state/sim/variants/v304/portfolio.json | 124 ++++++------ .../state/sim/variants/v304/trades.jsonl | 21 ++ .../state/sim/variants/v305/portfolio.json | 116 +++++------ .../state/sim/variants/v305/trades.jsonl | 15 ++ .../state/sim/variants/v306/portfolio.json | 40 ++-- .../state/sim/variants/v306/trades.jsonl | 1 + .../state/sim/variants/v307/portfolio.json | 90 ++++++--- .../state/sim/variants/v307/trades.jsonl | 14 ++ .../state/sim/variants/v308/portfolio.json | 65 ++++--- .../state/sim/variants/v308/trades.jsonl | 4 + .../state/sim/variants/v309/portfolio.json | 111 +++++------ .../state/sim/variants/v309/trades.jsonl | 5 + .../state/sim/variants/v310/portfolio.json | 72 +++---- .../state/sim/variants/v310/trades.jsonl | 8 + .../state/sim/variants/v311/portfolio.json | 68 +++---- .../state/sim/variants/v311/trades.jsonl | 4 + .../state/sim/variants/v312/portfolio.json | 107 +++++------ .../state/sim/variants/v312/trades.jsonl | 4 + .../state/sim/variants/v313/portfolio.json | 96 +++++++--- .../state/sim/variants/v313/trades.jsonl | 14 ++ .../state/sim/variants/v314/portfolio.json | 61 ++++-- .../state/sim/variants/v314/trades.jsonl | 4 + .../state/sim/variants/v315/portfolio.json | 58 +++++- .../state/sim/variants/v315/trades.jsonl | 3 + .../state/sim/variants/v316/portfolio.json | 40 ++-- .../state/sim/variants/v316/trades.jsonl | 2 + .../state/sim/variants/v317/portfolio.json | 16 +- .../state/sim/variants/v318/portfolio.json | 63 +++--- .../state/sim/variants/v318/trades.jsonl | 2 + .../state/sim/variants/v319/portfolio.json | 28 +-- .../state/sim/variants/v319/trades.jsonl | 1 + .../state/sim/variants/v320/portfolio.json | 40 ++-- .../state/sim/variants/v320/trades.jsonl | 2 + .../state/sim/variants/v321/portfolio.json | 34 ++-- .../state/sim/variants/v321/trades.jsonl | 1 + .../state/sim/variants/v4/portfolio.json | 38 ++-- .../state/sim/variants/v4/trades.jsonl | 1 + .../state/sim/variants/v40/portfolio.json | 38 ++-- .../state/sim/variants/v40/trades.jsonl | 1 + .../state/sim/variants/v41/portfolio.json | 52 ++--- .../state/sim/variants/v41/trades.jsonl | 2 + .../state/sim/variants/v47/portfolio.json | 77 +++++--- .../state/sim/variants/v47/trades.jsonl | 5 + .../state/sim/variants/v49/portfolio.json | 97 ++++++++-- .../state/sim/variants/v49/trades.jsonl | 7 + .../state/sim/variants/v51/portfolio.json | 99 ++++++++-- .../state/sim/variants/v51/trades.jsonl | 7 + .../state/sim/variants/v57/portfolio.json | 60 +++++- .../state/sim/variants/v57/trades.jsonl | 3 + .../state/sim/variants/v59/portfolio.json | 60 +++++- .../state/sim/variants/v59/trades.jsonl | 3 + .../state/sim/variants/v81/portfolio.json | 97 ++++++++-- .../state/sim/variants/v81/trades.jsonl | 7 + .../state/sim/variants/v87/portfolio.json | 90 +++++---- .../state/sim/variants/v87/trades.jsonl | 4 + .../state/sim/variants/v89/portfolio.json | 63 ++++-- .../state/sim/variants/v89/trades.jsonl | 4 + .../state/sim/variants/v91/portfolio.json | 87 +++++++-- .../state/sim/variants/v91/trades.jsonl | 6 + .../state/sim/variants/v93/portfolio.json | 90 +++++---- .../state/sim/variants/v93/trades.jsonl | 4 + .../state/sim/variants/v95/portfolio.json | 95 +++++++-- .../state/sim/variants/v95/trades.jsonl | 7 + .../state/sim/variants/v97/portfolio.json | 65 ++++--- .../state/sim/variants/v97/trades.jsonl | 4 + .../state/sim/variants/v99/portfolio.json | 58 +++++- .../state/sim/variants/v99/trades.jsonl | 3 + .../stock/workspace/state/sim/watchlist.json | 40 ---- ...85892f1062a6e702a1cc16e9e2e7d87d8.attested | 2 + ...58e47d1a42e88eb41d71e9539d3077451.attested | 2 +- ...7fa713ba87c5b1c125db2c01f477eb8d3.attested | 2 +- 174 files changed, 5268 insertions(+), 2151 deletions(-) create mode 100644 agents/budget/workspace/openclaw-workspace-state.json create mode 100644 workspace-attestations/5507b36e9d8ab0bf91a20933f29354785892f1062a6e702a1cc16e9e2e7d87d8.attested diff --git a/agents/budget/workspace/openclaw-workspace-state.json b/agents/budget/workspace/openclaw-workspace-state.json new file mode 100644 index 0000000..45a2348 --- /dev/null +++ b/agents/budget/workspace/openclaw-workspace-state.json @@ -0,0 +1,4 @@ +{ + "version": 1, + "setupCompletedAt": "2026-04-23T06:17:48.250Z" +} diff --git a/agents/stock/workspace/scripts/behive_web.py b/agents/stock/workspace/scripts/behive_web.py index 8efa830..8212a2a 100644 --- a/agents/stock/workspace/scripts/behive_web.py +++ b/agents/stock/workspace/scripts/behive_web.py @@ -1747,6 +1747,31 @@ class MultipleMatchError(Exception): super().__init__(query) +_MARKET_BY_CODE_CACHE = None + + +def _market_label_html(code: str) -> str: + """종목코드 → 시장(코스피/코스닥) 작은 배지 HTML. 미상·ETF 등이면 ''. + stock_codes.json(name→{code,market})을 code→market로 뒤집어 프로세스 1회 캐시.""" + global _MARKET_BY_CODE_CACHE + code = (code or '').strip() + if not code: + return '' + if _MARKET_BY_CODE_CACHE is None: + import kiwoom_client as kc + _MARKET_BY_CODE_CACHE = { + info['code']: info['market'] + for info in kc._load_code_cache().values() + if info.get('code') and info.get('market') + } + mk = _MARKET_BY_CODE_CACHE.get(code) + if mk == 'KOSPI': + return 'KOSPI' + if mk == 'KOSDAQ': + return 'KOSDAQ' + return '' + + def _resolve_stock_fuzzy(query: str) -> dict: """정확 매칭(case-sensitive) → substring(case-insensitive) 단일 → 다중이면 후보 응답. 'lg' 입력 시 'LG' 단독 자동 통과하지 않고 'LG전자' 등도 함께 후보로 노출되도록 @@ -2160,30 +2185,51 @@ def _write_chart_hlines(d: dict) -> None: def _chart_hlines_ui(code: str, hlines: list) -> str: - """차트 하단 수평선 관리 UI — 등록된 선 칩(삭제 ×) + 가격 입력 폼. + """차트 하단 수평선 UI — 컴팩트 행(등록된 선 색상 칩 + '+' 버튼). + '+' 클릭 시 추가·삭제 모달. 색상은 정렬 인덱스로 SVG와 동일 매핑. /api/chart_svg 응답 HTML 블록에 포함돼 모든 차트(보유·관심·감시)에 동일하게 노출.""" code_s = (code or '').strip() if not code_s: return '' + import stock_analysis as sa + colors = getattr(sa, 'HLINE_COLORS', None) or ['#e879f9'] code_attr = html.escape(code_s, quote=True) if hlines: chips = ''.join( - f'{p:,}' - f'' - f'' - for p in hlines + f'{p:,}' + for i, p in enumerate(hlines) + ) + manage = ''.join( + f'
' + f'' + f'{p:,}' + f'' + f'
' + for i, p in enumerate(hlines) ) else: - chips = '등록된 수평선이 없어요' + chips = '수평선 없음' + manage = '
등록된 수평선이 없어요
' return ( f'
' - '
수평선
' + '
' f'
{chips}
' + '' + '
' + '' '
' ) @@ -2736,6 +2782,9 @@ def _render_row(c: dict, source: str = 'watchlist') -> str: if not is_pending: code_span = f'{code}' if code else '' detail_name_html = f'
{stock}{code_span}{tag_add_btn}{group_add_btn}
' + # 현재가 아래 메타 라인 — 관심·감시는 비중·계좌 없어 시장(KOSPI/KOSDAQ)만. + _mkt_label = _market_label_html(code) + market_meta_html = f'
{_mkt_label}
' if _mkt_label else '' if source == 'interests': def _num_attr(field, sub): @@ -2814,6 +2863,7 @@ def _render_row(c: dict, source: str = 'watchlist') -> str:
{detail_name_html} {f'
현재가{price_cell}
' if price is not None else ''} + {market_meta_html} {'
최초 알림 완료 — 리셋 전까지 매수 알림 없음
' if unheld_done else ''}
{held_row} @@ -3543,6 +3593,7 @@ def _render_holding_row(r: dict, total_value: int, show_day_change: bool = False
{stock}{f'{code}' if code else ''}{owner_disp}{tag_add_btn}
{f'
{tag_chip}
' if tag_chip else ''} {f'
현재가{price_html}
' if price else ''} +
비중 {weight:.2f}%{acct_label}{_market_label_html(code)}
{dl_inner}
{pl_dl_inner}
{ohlc_mini_html} @@ -5030,6 +5081,12 @@ details.row + .section-label { margin-top: 14px; padding-top: 24px; border-top-c /* 펼친 detail의 태그는 크게 (미리보기·관심행 칩은 작게 유지). */ .detail-name { font-size: 15px; font-weight: 700; color: #f0f0f0; margin: 0 0 8px; display: flex; align-items: baseline; gap: 8px; } .detail-name .detail-code { font-size: 11px; font-weight: 500; color: #8b8f9a; font-variant-numeric: tabular-nums; } +.detail-market { align-self: center; font-size: 9px; font-weight: 500; color: #6b7280; } +/* 현재가 아래 메타 라인 — 비중 · 계좌명 · 시장 (작은 회색, · 구분) */ +.detail .detail-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: -4px 0 10px; font-size: 11px; color: #8b8f9a; } +.detail .detail-meta .dm-item { font-weight: 500; } +.detail .detail-meta > * + *::before { content: "·"; margin-right: 8px; color: #4b5563; } +.detail .detail-meta .detail-market { font-size: 11px; } .detail-name .detail-owner { font-size: 11px; font-weight: 600; border-radius: 4px; padding: 1px 6px; align-self: center; } .detail-name .detail-owner.owner-self { color: #6aa9ff; background: rgba(106,169,240,0.12); border: 1px solid rgba(106,169,240,0.4); } .detail-name .detail-owner.owner-gahee { color: #e879f9; background: rgba(232,121,249,0.12); border: 1px solid rgba(232,121,249,0.4); } @@ -5091,8 +5148,8 @@ details.row[open] > .detail { } /* 팝업 하단 sticky 액션 바 (JS가 열린 .detail 의 .actions 를 맨 끝으로 옮기고 이 클래스 부여) — 메모·상세·거래내역·거래 + 닫기, 항상 노출 */ .detail .actions.detail-actions-footer { position: sticky; bottom: 0; z-index: 3; margin: 8px -16px 0; padding: 8px 16px 10px; gap: 6px; background: #0d1018; border-top: 1px solid #1f2330; } -/* 닫기 버튼 — 하단 바 마지막 항목. 우측으로 밀어 다른 버튼과 구분 */ -.detail .actions .btn-detail-close { margin-left: auto; color: #e6e9ef; border-color: #3a4154; } +/* 닫기 버튼 — 하단 바 마지막 항목. 전체 너비 한 줄로 (자기 행 차지) */ +.detail .actions .btn-detail-close { flex: 1 1 100%; padding-top: 11px; padding-bottom: 11px; color: #e6e9ef; border-color: #3a4154; } .detail .actions .btn-detail-close:hover { background: #22262f; border-color: #6aa9ff; color: #fff; } /* 종목 변경 드롭다운 — 하단 바 버튼 위(자기 행 차지) */ .detail .actions .detail-stock-switch { flex: 1 1 100%; min-width: 0; padding: 7px 10px; background: #0a0d12; color: #e6e9ef; border: 1px solid #2a3142; border-radius: 6px; font-family: inherit; font-size: 14px; } @@ -5181,18 +5238,34 @@ details.row[open] > .detail { .detail .block.chart-svg .chart-subtabs button { padding: 3px 9px; background: transparent; color: #7a8493; border: 1px solid #2a2f3a; border-radius: 5px; cursor: pointer; font-size: 11px; font-weight: 600; font-family: inherit; } .detail .block.chart-svg .chart-subtabs button:hover { color: #cfd5df; border-color: #3f4654; } .detail .block.chart-svg .chart-subtabs button.active { background: rgba(52,211,153,0.10); color: #34d399; border-color: rgba(52,211,153,0.45); } -.detail .block.chart-svg .chart-hlines { margin-top: 8px; padding: 8px; background: #131820; border: 1px solid #2a2f3a; border-radius: 8px; } -.detail .block.chart-svg .chart-hlines .hl-title { font-size: 11px; font-weight: 700; color: #e879f9; margin-bottom: 6px; } -.detail .block.chart-svg .chart-hlines .hl-list { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; } +/* 차트 하단 수평선 컴팩트 행 — 색상 칩 나열 + '+' 버튼 (추가·관리는 모달) */ +.detail .block.chart-svg .chart-hlines { margin-top: 8px; } +.detail .block.chart-svg .chart-hlines .hl-row { display: flex; align-items: center; gap: 6px; } +.detail .block.chart-svg .chart-hlines .hl-list { display: flex; flex-wrap: wrap; gap: 5px; flex: 1; min-width: 0; } .detail .block.chart-svg .chart-hlines .hl-empty { font-size: 11px; color: #7a8493; } -.detail .block.chart-svg .chart-hlines .hl-chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 6px 3px 9px; background: rgba(232,121,249,0.12); color: #e879f9; border: 1px solid rgba(232,121,249,0.45); border-radius: 12px; font-size: 12px; font-weight: 600; } -.detail .block.chart-svg .chart-hlines .hl-chip-x { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; padding: 0; background: transparent; color: #e879f9; border: none; border-radius: 50%; cursor: pointer; font-size: 14px; line-height: 1; font-family: inherit; } -.detail .block.chart-svg .chart-hlines .hl-chip-x:hover { background: rgba(232,121,249,0.25); } -.detail .block.chart-svg .chart-hlines-add { display: flex; gap: 6px; } -.detail .block.chart-svg .chart-hlines-add input { flex: 1; min-width: 0; padding: 6px 10px; background: #0a0d12; color: #e6e9ef; border: 1px solid #2a2f3a; border-radius: 6px; font-size: 16px; font-family: inherit; } -.detail .block.chart-svg .chart-hlines-add input:focus { outline: none; border-color: #e879f9; } -.detail .block.chart-svg .chart-hlines-add .hl-add-btn { padding: 6px 14px; background: rgba(232,121,249,0.14); color: #e879f9; border: 1px solid rgba(232,121,249,0.5); border-radius: 6px; cursor: pointer; font-size: 12px; font-weight: 700; font-family: inherit; white-space: nowrap; } -.detail .block.chart-svg .chart-hlines-add .hl-add-btn:hover { background: rgba(232,121,249,0.24); } +.detail .block.chart-svg .chart-hlines .hl-chip { display: inline-flex; align-items: center; padding: 2px 9px; background: rgba(255,255,255,0.04); border: 1px solid; border-radius: 12px; font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; } +.detail .block.chart-svg .chart-hlines .hl-add-open { flex: none; width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; padding: 0; background: rgba(232,121,249,0.14); color: #e879f9; border: 1px solid rgba(232,121,249,0.5); border-radius: 8px; font-size: 20px; font-weight: 700; line-height: 1; cursor: pointer; font-family: inherit; } +.detail .block.chart-svg .chart-hlines .hl-add-open:hover { background: rgba(232,121,249,0.24); } +/* 수평선 추가·관리 모달 (position:fixed 로 상세 팝업 위에 뜸) */ +.hl-modal { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; padding: 40px 16px; } +.hl-modal.hidden { display: none; } +.hl-modal .hl-modal-ov { position: absolute; inset: 0; background: rgba(0,0,0,0.6); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); } +.hl-modal .hl-modal-box { position: relative; width: 100%; max-width: 320px; max-height: 70vh; overflow-y: auto; background: #0d1018; border: 1px solid #2f3543; border-radius: 12px; padding: 14px 16px; box-shadow: 0 18px 50px rgba(0,0,0,0.55); } +.hl-modal .hl-modal-head { display: flex; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 700; color: #f0f0f0; margin-bottom: 12px; } +.hl-modal .hl-modal-x { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; padding: 0; background: #1a1d26; color: #e6e9ef; border: 1px solid #2f3543; border-radius: 50%; font-size: 16px; line-height: 1; cursor: pointer; font-family: inherit; } +.hl-modal .hl-modal-x:hover { background: #22262f; } +.hl-modal .chart-hlines-add { display: flex; gap: 6px; margin-bottom: 12px; } +.hl-modal .chart-hlines-add input { flex: 1; min-width: 0; padding: 8px 10px; background: #0a0d12; color: #e6e9ef; border: 1px solid #2a2f3a; border-radius: 6px; font-size: 16px; font-family: inherit; } +.hl-modal .chart-hlines-add input:focus { outline: none; border-color: #e879f9; } +.hl-modal .chart-hlines-add .hl-add-btn { padding: 8px 14px; background: rgba(232,121,249,0.14); color: #e879f9; border: 1px solid rgba(232,121,249,0.5); border-radius: 6px; cursor: pointer; font-size: 13px; font-weight: 700; font-family: inherit; white-space: nowrap; } +.hl-modal .chart-hlines-add .hl-add-btn:hover { background: rgba(232,121,249,0.24); } +.hl-modal .hl-manage-list { display: flex; flex-direction: column; gap: 6px; } +.hl-modal .hl-mrow { display: flex; align-items: center; gap: 8px; padding: 6px 8px; background: #131820; border: 1px solid #1f2330; border-radius: 6px; } +.hl-modal .hl-swatch { flex: none; width: 14px; height: 14px; border-radius: 3px; } +.hl-modal .hl-mprice { flex: 1; font-size: 13px; font-weight: 600; color: #e6e9ef; font-variant-numeric: tabular-nums; } +.hl-modal .hl-mdel { padding: 4px 10px; background: transparent; color: #ff8a96; border: 1px solid rgba(255,77,94,0.32); border-radius: 6px; font-size: 12px; cursor: pointer; font-family: inherit; } +.hl-modal .hl-mdel:hover { background: rgba(255,77,94,0.1); } +.hl-modal .hl-empty { font-size: 12px; color: #7a8493; text-align: center; padding: 8px; } .detail .block.chart-svg .chart-subpanel { min-height: 200px; } .actions { @@ -8774,10 +8847,12 @@ def render_html() -> str: # net-chart-tip 의 .tip-close 와 동일 패턴(팝업 자체 우상단). # ov 는 pointerEvents:none 이라 closeG 만 auto 로 override 해 클릭 통과. 'var closeG=_mk("g",{"class":"crosshair-close"});' + # 투명 히트영역 — 보이는 원(r=14)보다 크게(r=26) 덧대 터치 타겟 확대. 손가락이 살짝 빗나가도 인식. + 'var closeHit=_mk("circle",{cx:"0",cy:"0",r:"26",fill:"transparent"});' 'var closeBg=_mk("circle",{cx:"0",cy:"0",r:"14",fill:"rgba(15,20,25,0.95)",stroke:"#cfd5df","stroke-width":"1.2"});' 'var closeTxt=_mk("text",{x:"0",y:"1","text-anchor":"middle","dominant-baseline":"central","font-size":"22","font-weight":"700",fill:"#cfd5df"});' 'closeTxt.textContent="×";' - 'closeG.appendChild(closeBg);closeG.appendChild(closeTxt);' + 'closeG.appendChild(closeHit);closeG.appendChild(closeBg);closeG.appendChild(closeTxt);' 'closeG.style.cursor="pointer";' 'closeG.style.pointerEvents="auto";' # xTipBg 320×176 안의 우상단 모서리. r=14 라 여백 18 두고 중심 (300,20). @@ -8963,13 +9038,43 @@ def render_html() -> str: 'var subpanel=panel.querySelector(".chart-subpanel");' 'if(subpanel)fetchMinute(code,unit,sr,subpanel);' '},false);' - # 수평선(hlines) 추가/제거 — 저장 후 dailyCache 무효화 + 재fetch로 차트·칩 갱신. + # 수평선(hlines) 추가/제거 — 저장 후 dailyCache 무효화 + 재fetch로 차트·칩 갱신. promise 반환. 'function refreshChart(code){' - 'if(!code)return;' + 'if(!code)return null;' 'dailyCache.delete(code);' + 'var pr=null;' 'document.querySelectorAll(\'.chart-svg[data-chart-code="\'+Q(code)+\'"]\').forEach(function(el){' - 'if(el.closest("details[open]"))fetchDaily(code,el);' + 'if(el.closest("details[open]"))pr=fetchDaily(code,el);' '});' + 'return pr;' + '}' + # 재fetch 후 새로 그려진 모달을 다시 연다 (추가·삭제 반복 편의). + 'function reopenHl(code){' + 'var p=refreshChart(code);' + 'if(p&&p.then){p.then(function(){openHl(code);});}else{openHl(code);}' + '}' + # 포탈된 모달 제거. code 지정 시 해당 종목만, 없으면 전부(카드 닫힐 때). + 'function closeHlPortals(code){' + 'var sel=code?(\'.hl-modal[data-hl-portal="\'+Q(code)+\'"]\'):".hl-modal[data-hl-portal]";' + 'document.querySelectorAll(sel).forEach(function(m){m.remove();});' + '}' + # 모달 열기 — 상세 카드는 transform 조상이라 내부 position:fixed 가 뷰포트 기준이 안 됨. + # 그래서 모달 clone 을 document.body 로 옮겨(포탈) 뷰포트 전체 오버레이로 띄운다. 원본은 블록에 hidden 유지. + 'function openHl(code){' + 'if(!code)return;' + 'closeHlPortals(code);' + 'var src=document.querySelector(\'.chart-hlines[data-hl-code="\'+Q(code)+\'"] [data-hl-modal]\');' + 'if(!src)return;' + 'var clone=src.cloneNode(true);' + 'clone.setAttribute("data-hl-portal",code);' + 'clone.classList.remove("hidden");' + 'document.body.appendChild(clone);' + '}' + # 이벤트 대상에서 종목코드 추출 — 블록(.chart-hlines) 또는 포탈된 모달(data-hl-portal) 양쪽 지원. + 'function hlCodeOf(el){' + 'var w=el.closest(".chart-hlines");if(w)return w.getAttribute("data-hl-code");' + 'var m=el.closest("[data-hl-modal]");if(m)return m.getAttribute("data-hl-portal");' + 'return null;' '}' 'function postHline(url,code,price,cb){' 'fetch(url,{method:"POST",credentials:"same-origin",' @@ -8983,21 +9088,26 @@ def render_html() -> str: 'var f=ev.target;' 'if(!f.classList||!f.classList.contains("chart-hlines-add"))return;' 'ev.preventDefault();' - 'var wrap=f.closest(".chart-hlines");if(!wrap)return;' - 'var code=wrap.getAttribute("data-hl-code");' + 'var code=hlCodeOf(f);if(!code)return;' 'var inp=f.querySelector(\'input[name="price"]\');' 'var price=inp?inp.value.trim():"";' - 'if(!code||!price)return;' - 'postHline("/chart/hlines/add",code,price,function(){if(inp)inp.value="";refreshChart(code);});' + 'if(!price)return;' + 'postHline("/chart/hlines/add",code,price,function(){if(inp)inp.value="";reopenHl(code);});' '});' 'document.addEventListener("click",function(ev){' + # '+' 버튼 → 모달 열기 + 'var op=ev.target.closest("[data-hl-open]");' + 'if(op){var w0=op.closest(".chart-hlines");if(w0){ev.preventDefault();openHl(w0.getAttribute("data-hl-code"));}return;}' + # 모달 닫기 (오버레이·×) — 포탈 clone 은 제거 + 'var cl=ev.target.closest("[data-hl-close]");' + 'if(cl){var m=cl.closest("[data-hl-modal]");if(m){ev.preventDefault();if(m.getAttribute("data-hl-portal")){m.remove();}else{m.classList.add("hidden");}}return;}' + # 수평선 삭제 'var b=ev.target.closest("[data-hl-remove]");if(!b)return;' - 'var wrap=b.closest(".chart-hlines");if(!wrap)return;' 'ev.preventDefault();' - 'var code=wrap.getAttribute("data-hl-code");' + 'var code=hlCodeOf(b);if(!code)return;' 'var price=b.getAttribute("data-hl-remove");' - 'if(!code||!price)return;' - 'postHline("/chart/hlines/remove",code,price,function(){refreshChart(code);});' + 'if(!price)return;' + 'postHline("/chart/hlines/remove",code,price,function(){reopenHl(code);});' '});' # 첫 페이지 로드 시 이미 열려있는 카드 (드물지만 안전). 'if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",function(){loadChartsInOpen();});' @@ -10330,6 +10440,8 @@ def render_html() -> str: 'var bd=null;' 'function closeAll(){' 'document.querySelectorAll("details.row[open]").forEach(function(d){d.removeAttribute("open");});' + # 포탈된 수평선 모달도 함께 정리 (body 직속이라 카드 닫혀도 안 사라짐). + 'document.querySelectorAll(".hl-modal[data-hl-portal]").forEach(function(m){m.remove();});' 'sync();' '}' 'function anyOpen(){return !!document.querySelector("details.row[open]");}' @@ -10397,7 +10509,7 @@ def render_html() -> str: # 닫기 버튼 — 마지막 항목 (중복 방지) 'if(!act.querySelector(":scope > .btn-detail-close")){' 'var x=document.createElement("button");x.type="button";x.className="btn-detail-close";' - 'x.setAttribute("aria-label","닫기");x.textContent="✕ 닫기";' + 'x.setAttribute("aria-label","닫기");x.textContent="닫기";' 'x.addEventListener("click",closeAll);' 'act.appendChild(x);' '}' diff --git a/agents/stock/workspace/scripts/stock_analysis.py b/agents/stock/workspace/scripts/stock_analysis.py index 0dd9e08..ec41e29 100644 --- a/agents/stock/workspace/scripts/stock_analysis.py +++ b/agents/stock/workspace/scripts/stock_analysis.py @@ -601,6 +601,10 @@ VOL_BOT = VOL_TOP + VOL_PANEL_H CHART_RANGE_DAYS = {'1Y': 250, '6M': 120, '3M': 63, '1M': 21} +# 사용자 수평선 색상 팔레트 — 정렬(내림차순) 인덱스로 순환. SVG·칩 UI가 같은 매핑 사용. +# 모두 밝은 톤이라 태그 위 어두운 글자(#1a0f1f) 가독성 확보. +HLINE_COLORS = ['#e879f9', '#38bdf8', '#fbbf24', '#4ade80', '#fb7185', '#a78bfa', '#22d3ee', '#facc15'] + def render_svg_chart(snap: dict, range_key: str = '1Y', ref_price: float | None = None, intraday: bool = False, hlines: list | None = None) -> str: @@ -876,22 +880,23 @@ def render_svg_chart(snap: dict, range_key: str = '1Y', ref_price: float | None # ---- 사용자 수평선 (hlines) — 지지/저항 등 수동 등록 가격선 ---- # 표시 구간(y_min~y_max) 안에 드는 값만 그린다. 스케일은 확장하지 않음(캔들 가독성 우선). # 좌측에 분홍 가격 태그를 둔다(우측은 가격축·현재가 태그가 이미 점유). - for hp in (hlines or []): + for _hi, hp in enumerate(hlines or []): try: hp = float(hp) except (TypeError, ValueError): continue if hp < y_min or hp > y_max: continue + hcolor = HLINE_COLORS[_hi % len(HLINE_COLORS)] hly = price_y(hp) parts.append( f'' + f'stroke="{hcolor}" stroke-width="1.6" stroke-dasharray="6 4" opacity="0.9"/>' ) htag_y = min(max(hly, PRICE_TOP + 15), PRICE_BOT - 15) parts.append( f'' + f'fill="{hcolor}" rx="3" opacity="0.95"/>' ) parts.append( f'10)", "ok": true, "detail": "83,020 / 80,910"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,020 / 75,060"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.80% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "743,133 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.80% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.401768+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 356, "cost": 5034595, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 21442, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T13:06:04.378524+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91400, "qty": 59, "cost": 5393409, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77778, "target": 120266, "signals": [{"label": "손절선", "ok": true, "detail": "77,778 (현재 91,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 120,266"}, {"label": "추세(10일선)", "ok": true, "detail": "81,220"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,159"}]} diff --git a/agents/stock/workspace/state/sim/variants/v101/portfolio.json b/agents/stock/workspace/state/sim/variants/v101/portfolio.json index fb5fa9a..89ddd92 100644 --- a/agents/stock/workspace/state/sim/variants/v101/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v101/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 63761210.79500002, + "cash": 53462666.24500001, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:36:03.447931+09:00", "stop": 118954, "target": 157594, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4156565.5467727734, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1977013.5669807782, "last_add_price": 139100 @@ -55,12 +55,12 @@ "entry_at": "2026-07-13T09:12:04.289321+09:00", "stop": 305399, "target": 410027, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3936003.3225085386, "last_add_price": 353000 @@ -81,10 +81,52 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4931395.975756928, "last_add_price": 138900 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 85, + "entry_price": 89534.11764705883, + "entry_at": "2026-07-23T09:50:01.505016+09:00", + "stop": 78555, + "target": 106003, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3844545.2388675264, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 190, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.474409+09:00", + "stop": 11706, + "target": 17791, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2698356.4719324163, + "last_add_price": 14140 } }, "realized_pnl": -6815976.445000009, @@ -102,5 +144,5 @@ "055550": "2026-07-20" }, "created_at": "2026-06-11T09:00:01.944232+09:00", - "updated_at": "2026-07-22T15:28:00.907073+09:00" + "updated_at": "2026-07-23T15:28:01.399293+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v101/trades.jsonl b/agents/stock/workspace/state/sim/variants/v101/trades.jsonl index c41172a..b2e88d6 100644 --- a/agents/stock/workspace/state/sim/variants/v101/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v101/trades.jsonl @@ -34,3 +34,6 @@ {"ts": "2026-07-16T09:28:03.472538+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 353000, "qty": 11, "cost": 3883582, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 300363, "target": 403206, "signals": [{"label": "손절선", "ok": true, "detail": "300,363 (현재 352,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 403,206"}, {"label": "추세(10일선)", "ok": true, "detail": "306,600"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -33 · 기 +28"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 351,963"}]} {"ts": "2026-07-20T11:28:01.181290+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 101900, "qty": 42, "proceeds": 4271454, "entry_price": 113100, "pnl": -479458, "pnl_pct": -9.9, "hold_from": "2026-07-13T10:04:06.402386+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "101,931 (현재 101,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 129,854"}, {"label": "추세(10일선)", "ok": true, "detail": "99,150"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -156 · 기 +275"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 115,714"}]} {"ts": "2026-07-20T12:28:02.306152+09:00", "side": "SELL", "code": "093370", "name": "후성", "price": 10310, "qty": 143, "proceeds": 1471455, "entry_price": 13660, "pnl": -482218, "pnl_pct": -24.52, "hold_from": "2026-07-10T11:06:06.461061+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,360 (현재 10,310)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 18,610"}, {"label": "추세(10일선)", "ok": false, "detail": "12,013"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -887 · 기 +515"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 14,626"}]} +{"ts": "2026-07-23T09:50:01.505017+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 43, "cost": 3793169, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77564, "target": 104155, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,200 vs 80,900"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,000 / 80,900"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.474411+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 190, "cost": 2687003, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 17791, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:54:04.487607+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 42, "cost": 3818373, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77564, "target": 104155, "signals": [{"label": "손절선", "ok": true, "detail": "77,564 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 104,155"}, {"label": "추세(10일선)", "ok": true, "detail": "81,180"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v103/portfolio.json b/agents/stock/workspace/state/sim/variants/v103/portfolio.json index 2819a6a..da63d71 100644 --- a/agents/stock/workspace/state/sim/variants/v103/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v103/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 59233324.24300005, + "cash": 50639923.08100005, "initial": 100000000, "positions": { "086790": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 122,215 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 5368206.728356878, "last_add_price": 126200 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:36:03.450092+09:00", "stop": 118952, "target": 157593, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4089582.9464364387, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1974063.9617849514, "last_add_price": 139100 @@ -76,12 +76,12 @@ "entry_at": "2026-07-13T09:12:04.291895+09:00", "stop": 305399, "target": 410027, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3962363.617644489, "last_add_price": 353000 @@ -97,40 +97,61 @@ "entry_at": "2026-07-22T14:18:05.417997+09:00", "stop": 11077, "target": 18460, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2223956.4783542515, "last_add_price": 14030 }, - "095610": { - "code": "095610", - "name": "테스", + "078930": { + "code": "078930", + "name": "GS", "sources": [ "auto" ], - "qty": 12, - "entry_price": 158100, - "entry_at": "2026-07-22T15:04:00.988783+09:00", - "stop": 120314, - "target": 214778, - "peak": 158200, + "qty": 86, + "entry_price": 89518.6046511628, + "entry_at": "2026-07-23T09:50:01.507036+09:00", + "stop": 78539, + "target": 105988, + "peak": 94700, "trailing_on": false, "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3892203.318086031, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 192, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.476527+09:00", + "stop": 11706, + "target": 17791, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, "tranches": 1, - "tranche_value": 1954146.8957968967, - "last_add_price": 158100 + "tranche_value": 2729046.8097362793, + "last_add_price": 14140 } }, - "realized_pnl": -6682623.91600001, - "closed_trades": 16, + "realized_pnl": -6758467.63600001, + "closed_trades": 17, "wins": 2, "peak_equity": 101529111.72700004, "max_drawdown": 0.09157997811013377, @@ -138,7 +159,7 @@ "030000": "2026-07-15", "086790": "2026-06-23", "403870": "2026-07-07", - "095610": "2026-07-16", + "095610": "2026-07-23", "093370": "2026-07-20", "240810": "2026-07-08", "214450": "2026-07-06", @@ -146,5 +167,5 @@ "055550": "2026-07-20" }, "created_at": "2026-06-11T09:00:01.944251+09:00", - "updated_at": "2026-07-22T15:28:00.908792+09:00" + "updated_at": "2026-07-23T15:28:01.400923+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v103/trades.jsonl b/agents/stock/workspace/state/sim/variants/v103/trades.jsonl index 493249b..3d7c0f5 100644 --- a/agents/stock/workspace/state/sim/variants/v103/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v103/trades.jsonl @@ -48,3 +48,7 @@ {"ts": "2026-07-20T12:28:02.308175+09:00", "side": "SELL", "code": "093370", "name": "후성", "price": 10310, "qty": 143, "proceeds": 1471455, "entry_price": 13660, "pnl": -482218, "pnl_pct": -24.52, "hold_from": "2026-07-10T11:06:06.463231+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,360 (현재 10,310)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 18,610"}, {"label": "추세(10일선)", "ok": false, "detail": "12,013"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -887 · 기 +515"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 14,626"}]} {"ts": "2026-07-22T14:18:05.417998+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 158, "cost": 2217073, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 18460, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,020 vs 12,975"}, {"label": "정배열(5>10)", "ok": true, "detail": "14,552 / 12,975"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} {"ts": "2026-07-22T15:04:00.988784+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 12, "cost": 1897485, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 120314, "target": 214778, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "158,000 vs 153,380"}, {"label": "정배열(5>10)", "ok": true, "detail": "172,240 / 153,380"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} +{"ts": "2026-07-23T09:50:01.507037+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 44, "cost": 3881382, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77564, "target": 104155, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,200 vs 80,900"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,000 / 80,900"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:24:01.496618+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 152100, "qty": 12, "proceeds": 1821641, "entry_price": 158100, "pnl": -75844, "pnl_pct": -3.8, "hold_from": "2026-07-22T15:04:00.988783+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "120,314 (현재 152,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 214,778"}, {"label": "추세(10일선)", "ok": false, "detail": "152,780"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -101 · 기 -107"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,575"}]} +{"ts": "2026-07-23T10:30:02.476529+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 192, "cost": 2715287, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 17791, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:54:04.489474+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 42, "cost": 3818373, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77564, "target": 104155, "signals": [{"label": "손절선", "ok": true, "detail": "77,564 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 104,155"}, {"label": "추세(10일선)", "ok": true, "detail": "81,180"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v105/portfolio.json b/agents/stock/workspace/state/sim/variants/v105/portfolio.json index ab439a1..7be9553 100644 --- a/agents/stock/workspace/state/sim/variants/v105/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v105/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 58016959.22450005, + "cash": 32681294.214500047, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:36:03.452341+09:00", "stop": 122826, "target": 157603, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5212031.062678178, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1902971.2205544217, "last_add_price": 139100 @@ -50,20 +50,20 @@ "sources": [ "auto" ], - "qty": 14, - "entry_price": 344500, + "qty": 27, + "entry_price": 350037.037037037, "entry_at": "2026-07-21T12:06:01.164331+09:00", - "stop": 313808, - "target": 405884, - "peak": 346000, + "stop": 318434, + "target": 413243, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 4980582.661409654, - "last_add_price": 344500 + "last_add_price": 356000 }, "161890": { "code": "161890", @@ -71,20 +71,20 @@ "sources": [ "auto" ], - "qty": 56, - "entry_price": 99200, + "qty": 110, + "entry_price": 101114.54545454546, "entry_at": "2026-07-22T09:04:01.813457+09:00", "stop": 92100, - "target": 113400, - "peak": 101700, + "target": 119144, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5575262.741000003, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -97,12 +97,12 @@ "entry_at": "2026-07-22T14:18:05.419863+09:00", "stop": 11815, "target": 18460, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2771844.6945600016, "last_add_price": 14030 @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T15:04:00.990875+09:00", "stop": 129761, "target": 214778, - "peak": 158200, + "peak": 167200, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 1, "tranche_value": 2437209.6311648185, "last_add_price": 158100 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 290, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.277793+09:00", + "stop": 17760, + "target": 21030, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 20,001 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5482241.910906253, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 107, + "entry_price": 89537.3831775701, + "entry_at": "2026-07-23T09:50:01.509012+09:00", + "stop": 81303, + "target": 106006, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 4849662.714601921, + "last_add_price": 90900 } }, - "realized_pnl": -12413496.009000018, - "closed_trades": 29, + "realized_pnl": -12502974.659000019, + "closed_trades": 30, "wins": 3, "peak_equity": 101695667.93550003, "max_drawdown": 0.14301256883650415, @@ -145,10 +187,10 @@ "034730": "2026-07-08", "214450": "2026-07-14", "003490": "2026-07-07", - "319660": "2026-07-22", + "319660": "2026-07-23", "105560": "2026-07-20", "086790": "2026-07-21" }, "created_at": "2026-06-11T09:00:01.944270+09:00", - "updated_at": "2026-07-22T15:28:00.910423+09:00" + "updated_at": "2026-07-23T15:28:01.402564+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v105/trades.jsonl b/agents/stock/workspace/state/sim/variants/v105/trades.jsonl index cc2bb26..f1b071a 100644 --- a/agents/stock/workspace/state/sim/variants/v105/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v105/trades.jsonl @@ -80,3 +80,10 @@ {"ts": "2026-07-22T12:12:00.734253+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 64, "proceeds": 10047569, "entry_price": 172134, "pnl": -970684, "pnl_pct": -8.62, "hold_from": "2026-07-21T10:12:01.040322+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 200,403"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.419864+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 197, "cost": 2764325, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11815, "target": 18460, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} {"ts": "2026-07-22T15:04:00.990876+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 15, "cost": 2371856, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 129761, "target": 214778, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,000 vs 136,315"}, {"label": "정배열(5>20)", "ok": true, "detail": "172,240 / 136,315"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} +{"ts": "2026-07-23T09:00:22.456369+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 34, "cost": 5444217, "path": "pullback", "reason": "눌림목 지정가 169,062 도달", "stop": 158000, "target": 164300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 169,062 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.406594+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 34, "proceeds": 5354738, "entry_price": 160100, "pnl": -89479, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:22.456363+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.277794+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 290, "cost": 5467320, "path": "pullback", "reason": "눌림목 지정가 20,001 도달", "stop": 17760, "target": 21030, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 20,001 (현재 18,850)"}]} +{"ts": "2026-07-23T09:50:01.509013+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 54, "cost": 4763514, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80223, "target": 104155, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,200 vs 75,070"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,000 / 75,070"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T12:18:01.539249+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 54, "cost": 5568235, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 113400, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,400"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} +{"ts": "2026-07-23T12:22:02.589476+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 13, "cost": 4628694, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 313808, "target": 405884, "signals": [{"label": "손절선", "ok": true, "detail": "313,808 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 405,884"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T12:54:04.491410+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 53, "cost": 4818423, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 80223, "target": 104155, "signals": [{"label": "손절선", "ok": true, "detail": "80,223 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 104,155"}, {"label": "추세(20일선)", "ok": true, "detail": "75,210"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v107/portfolio.json b/agents/stock/workspace/state/sim/variants/v107/portfolio.json index 4d24c69..4161728 100644 --- a/agents/stock/workspace/state/sim/variants/v107/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v107/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 55329639.44300002, + "cash": 39195669.91700001, "initial": 100000000, "positions": { "086790": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 122,215 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 5613307.207924683, "last_add_price": 126200 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:36:03.454533+09:00", "stop": 122827, "target": 157603, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5344399.843888248, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1927098.4703053648, "last_add_price": 139100 @@ -71,20 +71,20 @@ "sources": [ "auto" ], - "qty": 14, - "entry_price": 344500, + "qty": 28, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.166187+09:00", - "stop": 313808, - "target": 405884, - "peak": 346000, + "stop": 318647, + "target": 413456, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 5156172.079657566, - "last_add_price": 344500 + "last_add_price": 356000 }, "252990": { "code": "252990", @@ -97,40 +97,61 @@ "entry_at": "2026-07-22T14:18:05.421714+09:00", "stop": 11815, "target": 18460, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2902732.017409256, "last_add_price": 14030 }, - "095610": { - "code": "095610", - "name": "테스", + "078930": { + "code": "078930", + "name": "GS", "sources": [ "auto" ], - "qty": 16, - "entry_price": 158100, - "entry_at": "2026-07-22T15:04:00.992934+09:00", - "stop": 129761, - "target": 214778, - "peak": 158200, + "qty": 112, + "entry_price": 89525.89285714286, + "entry_at": "2026-07-23T09:50:01.510934+09:00", + "stop": 81291, + "target": 105995, + "peak": 94700, "trailing_on": false, "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 5078672.507755172, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 251, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.480603+09:00", + "stop": 12315, + "target": 17791, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, "tranches": 1, - "tranche_value": 2551422.890257649, - "last_add_price": 158100 + "tranche_value": 3561653.699057042, + "last_add_price": 14140 } }, - "realized_pnl": -9050038.310000015, - "closed_trades": 21, + "realized_pnl": -9151163.270000016, + "closed_trades": 22, "wins": 2, "peak_equity": 101690998.13850003, "max_drawdown": 0.10974977197391311, @@ -138,7 +159,7 @@ "086790": "2026-06-26", "030000": "2026-07-16", "403870": "2026-07-02", - "095610": "2026-07-16", + "095610": "2026-07-23", "093370": "2026-07-20", "240810": "2026-07-08", "034730": "2026-07-03", @@ -146,5 +167,5 @@ "055550": "2026-07-20" }, "created_at": "2026-06-11T09:00:01.944290+09:00", - "updated_at": "2026-07-22T15:28:00.912053+09:00" + "updated_at": "2026-07-23T15:28:01.404191+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v107/trades.jsonl b/agents/stock/workspace/state/sim/variants/v107/trades.jsonl index 53d6fed..88d3239 100644 --- a/agents/stock/workspace/state/sim/variants/v107/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v107/trades.jsonl @@ -59,3 +59,8 @@ {"ts": "2026-07-21T12:06:01.166188+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 344500, "qty": 14, "cost": 4823723, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 313808, "target": 405884, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "344,500 vs 305,800"}, {"label": "정배열(5>10)", "ok": true, "detail": "315,100 / 305,800"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "315,100 / 305,492"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+39.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +1 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+43%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.38% (환산) vs 평균 0.93% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "247,158 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "2.38% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "65"}]} {"ts": "2026-07-22T14:18:05.421715+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 206, "cost": 2890614, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11815, "target": 18460, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,020 vs 12,975"}, {"label": "정배열(5>10)", "ok": true, "detail": "14,552 / 12,975"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} {"ts": "2026-07-22T15:04:00.992935+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 16, "cost": 2529979, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 129761, "target": 214778, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "158,000 vs 153,380"}, {"label": "정배열(5>10)", "ok": true, "detail": "172,240 / 153,380"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} +{"ts": "2026-07-23T09:50:01.510936+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 57, "cost": 5028154, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80223, "target": 104155, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,200 vs 80,900"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,000 / 80,900"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:24:01.500387+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 152100, "qty": 16, "proceeds": 2428854, "entry_price": 158100, "pnl": -101125, "pnl_pct": -3.8, "hold_from": "2026-07-22T15:04:00.992934+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "129,761 (현재 152,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 214,778"}, {"label": "추세(10일선)", "ok": false, "detail": "152,780"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -101 · 기 -107"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,575"}]} +{"ts": "2026-07-23T10:30:02.480604+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 251, "cost": 3549672, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 12315, "target": 17791, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.591407+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 14, "cost": 4984748, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 313808, "target": 405884, "signals": [{"label": "손절선", "ok": true, "detail": "313,808 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 405,884"}, {"label": "추세(10일선)", "ok": true, "detail": "306,950"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T12:54:04.493271+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 55, "cost": 5000250, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 80223, "target": 104155, "signals": [{"label": "손절선", "ok": true, "detail": "80,223 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 104,155"}, {"label": "추세(10일선)", "ok": true, "detail": "81,180"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v147/portfolio.json b/agents/stock/workspace/state/sim/variants/v147/portfolio.json index 198310e..377a806 100644 --- a/agents/stock/workspace/state/sim/variants/v147/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v147/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 29451454.517999973, + "cash": 14157939.595499974, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,264 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 4122817.0756532787, "last_add_price": 179100 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 122,286 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 6390950.2104375, "last_add_price": 122200 @@ -55,12 +55,12 @@ "entry_at": "2026-07-09T09:10:01.824472+09:00", "stop": 119114, "target": 180939, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5286025.184468749, "last_add_price": 136900 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 164,061 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 3122522.1244186284, "last_add_price": 145700 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 15, - "entry_price": 344500, + "qty": 29, + "entry_price": 350051.724137931, "entry_at": "2026-07-21T12:06:01.168413+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 307915, + "target": 476463, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 5184250.1290937485, - "last_add_price": 344500 + "last_add_price": 356000 }, "161890": { "code": "161890", @@ -113,20 +113,20 @@ "sources": [ "auto" ], - "qty": 52, - "entry_price": 99200, + "qty": 102, + "entry_price": 101111.76470588235, "entry_at": "2026-07-22T09:04:01.817053+09:00", "stop": 92100, - "target": 120500, - "peak": 101700, + "target": 128147, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5241897.148781248, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -139,19 +139,40 @@ "entry_at": "2026-07-22T14:18:05.423676+09:00", "stop": 11077, "target": 22889, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 3869661.3480347595, "last_add_price": 14030 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 269, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.282863+09:00", + "stop": 17760, + "target": 22120, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 20,001 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5086651.315187499, + "last_add_price": 18850 } }, - "realized_pnl": -18848841.689500015, - "closed_trades": 21, + "realized_pnl": -18930425.164500017, + "closed_trades": 22, "wins": 1, "peak_equity": 103066363.367, "max_drawdown": 0.2178514707950695, @@ -165,11 +186,11 @@ "009150": "2026-07-06", "214450": "2026-07-06", "034730": "2026-07-07", - "319660": "2026-07-22", + "319660": "2026-07-23", "003490": "2026-07-09", "105560": "2026-07-20", "055550": "2026-07-21" }, "created_at": "2026-06-15T14:55:00.582771+09:00", - "updated_at": "2026-07-22T15:28:00.913688+09:00" + "updated_at": "2026-07-23T15:28:01.405812+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v147/trades.jsonl b/agents/stock/workspace/state/sim/variants/v147/trades.jsonl index e6eeb19..77fcd50 100644 --- a/agents/stock/workspace/state/sim/variants/v147/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v147/trades.jsonl @@ -62,3 +62,8 @@ {"ts": "2026-07-22T09:04:01.817054+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 99200, "qty": 52, "cost": 5159174, "path": "pullback", "reason": "눌림목 지정가 98,848 도달", "stop": 92100, "target": 120500, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "98,800 vs 98,505"}, {"label": "정배열(5>20)", "ok": true, "detail": "107,060 / 98,505"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "107,060 / 91,913"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +29 · 기 -34 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+33%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.16% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "272,433 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "1.16% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 98,848 (현재 98,800)"}]} {"ts": "2026-07-22T12:12:00.737790+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 59, "proceeds": 9262603, "entry_price": 172210, "pnl": -899321, "pnl_pct": -8.66, "hold_from": "2026-07-21T10:12:01.043989+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 214,841"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.423677+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 275, "cost": 3858829, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 22889, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} +{"ts": "2026-07-23T09:00:22.660826+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 31, "cost": 4963844, "path": "pullback", "reason": "눌림목 지정가 169,062 도달", "stop": 158000, "target": 166400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 169,062 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.410357+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 31, "proceeds": 4882261, "entry_price": 160100, "pnl": -81583, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:22.660819+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 166,400"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,669"}]} +{"ts": "2026-07-23T09:44:04.282865+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 269, "cost": 5071411, "path": "pullback", "reason": "눌림목 지정가 20,001 도달", "stop": 17760, "target": 22120, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 20,001 (현재 18,850)"}]} +{"ts": "2026-07-23T12:18:01.542920+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 50, "cost": 5155773, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 120500, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 120,500"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} +{"ts": "2026-07-23T12:22:02.593538+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 14, "cost": 4984748, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v149/portfolio.json b/agents/stock/workspace/state/sim/variants/v149/portfolio.json index 50e0928..a86799a 100644 --- a/agents/stock/workspace/state/sim/variants/v149/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v149/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 45756478.80349997, + "cash": 29509508.22349997, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:10:01.826441+09:00", "stop": 119115, "target": 157756, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5518075.13775, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 164,061 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 3210994.2539023594, "last_add_price": 145700 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 1, "tranche_value": 5436101.333343748, "last_add_price": 133100 @@ -71,20 +71,20 @@ "sources": [ "auto" ], - "qty": 15, - "entry_price": 344500, + "qty": 30, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.170285+09:00", - "stop": 303577, - "target": 405884, - "peak": 346000, + "stop": 308113, + "target": 413456, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 5435113.820843748, - "last_add_price": 344500 + "last_add_price": 356000 }, "161890": { "code": "161890", @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 55, - "entry_price": 99200, + "qty": 108, + "entry_price": 101113.88888888889, "entry_at": "2026-07-22T09:04:01.818826+09:00", "stop": 92100, - "target": 109850, - "peak": 101700, + "target": 114635, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5477452.925531248, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -118,12 +118,12 @@ "entry_at": "2026-07-22T14:18:05.425549+09:00", "stop": 11077, "target": 18460, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 4073147.5450868765, "last_add_price": 14030 @@ -139,19 +139,40 @@ "entry_at": "2026-07-22T15:04:00.996717+09:00", "stop": 120314, "target": 214778, - "peak": 158200, + "peak": 167200, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 1, "tranche_value": 3577781.348739306, "last_add_price": 158100 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 284, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.285427+09:00", + "stop": 17760, + "target": 20485, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 20,001 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5369808.242406248, + "last_add_price": 18850 } }, - "realized_pnl": -13520813.706500022, - "closed_trades": 25, + "realized_pnl": -13607660.63150002, + "closed_trades": 26, "wins": 4, "peak_equity": 103066363.367, "max_drawdown": 0.17324550881764336, @@ -166,11 +187,11 @@ "240810": "2026-07-08", "214450": "2026-07-06", "034730": "2026-07-07", - "319660": "2026-07-22", + "319660": "2026-07-23", "003490": "2026-07-09", "105560": "2026-07-20", "055550": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.582787+09:00", - "updated_at": "2026-07-22T15:28:00.915325+09:00" + "updated_at": "2026-07-23T15:28:01.407465+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v149/trades.jsonl b/agents/stock/workspace/state/sim/variants/v149/trades.jsonl index 074ea07..0477933 100644 --- a/agents/stock/workspace/state/sim/variants/v149/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v149/trades.jsonl @@ -70,3 +70,8 @@ {"ts": "2026-07-22T12:12:00.739533+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 62, "proceeds": 9733582, "entry_price": 172129, "pnl": -940018, "pnl_pct": -8.62, "hold_from": "2026-07-21T10:12:01.045877+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 193,323"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.425551+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 290, "cost": 4069310, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 18460, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} {"ts": "2026-07-22T15:04:00.996718+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 22, "cost": 3478722, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 120314, "target": 214778, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,000 vs 136,315"}, {"label": "정배열(5>20)", "ok": true, "detail": "172,240 / 136,315"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} +{"ts": "2026-07-23T09:00:22.764736+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 33, "cost": 5284092, "path": "pullback", "reason": "눌림목 지정가 169,062 도달", "stop": 158000, "target": 163250, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 169,062 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.412363+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "proceeds": 5197246, "entry_price": 160100, "pnl": -86847, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:22.764729+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.285428+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 284, "cost": 5354203, "path": "pullback", "reason": "눌림목 지정가 20,001 도달", "stop": 17760, "target": 20485, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 20,001 (현재 18,850)"}]} +{"ts": "2026-07-23T12:18:01.544812+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 53, "cost": 5465120, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 109850, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,850"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} +{"ts": "2026-07-23T12:22:02.595464+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 15, "cost": 5340801, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 405884, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 405,884"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v151/portfolio.json b/agents/stock/workspace/state/sim/variants/v151/portfolio.json index 0b268a4..b95a625 100644 --- a/agents/stock/workspace/state/sim/variants/v151/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v151/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 39342665.520499974, + "cash": 23849139.27049997, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,264 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 4122817.0756532787, "last_add_price": 179100 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:01.828358+09:00", "stop": 119115, "target": 165484, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5389478.369468749, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 164,061 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 3179983.5783414543, "last_add_price": 145700 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 1, "tranche_value": 5262640.649406249, "last_add_price": 133100 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 15, - "entry_price": 344500, + "qty": 29, + "entry_price": 350051.724137931, "entry_at": "2026-07-21T12:06:01.172122+09:00", - "stop": 303577, - "target": 426346, - "peak": 346000, + "stop": 307915, + "target": 434326, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 5274205.950343749, - "last_add_price": 344500 + "last_add_price": 356000 }, "161890": { "code": "161890", @@ -113,20 +113,20 @@ "sources": [ "auto" ], - "qty": 53, - "entry_price": 99200, + "qty": 104, + "entry_price": 101112.5, "entry_at": "2026-07-22T09:04:01.820564+09:00", "stop": 92100, - "target": 113400, - "peak": 101700, + "target": 119138, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5328934.220031248, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -139,19 +139,40 @@ "entry_at": "2026-07-22T14:18:05.427295+09:00", "stop": 11077, "target": 19936, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 3938166.1143596834, "last_add_price": 14030 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 274, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.287796+09:00", + "stop": 17760, + "target": 21030, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 20,001 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5178109.395031248, + "last_add_price": 18850 } }, - "realized_pnl": -16066446.849500021, - "closed_trades": 22, + "realized_pnl": -16150662.049500022, + "closed_trades": 23, "wins": 2, "peak_equity": 103066363.367, "max_drawdown": 0.20280329259383312, @@ -165,11 +186,11 @@ "009150": "2026-07-06", "214450": "2026-07-06", "034730": "2026-07-07", - "319660": "2026-07-22", + "319660": "2026-07-23", "003490": "2026-07-09", "105560": "2026-07-20", "055550": "2026-07-21" }, "created_at": "2026-06-15T14:55:00.582803+09:00", - "updated_at": "2026-07-22T15:28:00.916972+09:00" + "updated_at": "2026-07-23T15:28:01.409116+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v151/trades.jsonl b/agents/stock/workspace/state/sim/variants/v151/trades.jsonl index 3091ac9..9228d3a 100644 --- a/agents/stock/workspace/state/sim/variants/v151/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v151/trades.jsonl @@ -63,3 +63,8 @@ {"ts": "2026-07-22T09:04:01.820566+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 99200, "qty": 53, "cost": 5258389, "path": "pullback", "reason": "눌림목 지정가 98,848 도달", "stop": 92100, "target": 113400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "98,800 vs 98,505"}, {"label": "정배열(5>20)", "ok": true, "detail": "107,060 / 98,505"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "107,060 / 91,913"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +29 · 기 -34 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+33%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.16% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "272,433 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "1.16% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 98,848 (현재 98,800)"}]} {"ts": "2026-07-22T12:12:00.741239+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 60, "proceeds": 9419596, "entry_price": 172123, "pnl": -909353, "pnl_pct": -8.61, "hold_from": "2026-07-21T10:12:01.047658+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 200,370"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.427296+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 280, "cost": 3928989, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 19936, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} +{"ts": "2026-07-23T09:00:22.864455+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 32, "cost": 5123968, "path": "pullback", "reason": "눌림목 지정가 169,062 도달", "stop": 158000, "target": 164300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 169,062 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.414108+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 32, "proceeds": 5039753, "entry_price": 160100, "pnl": -84215, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:22.864448+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.287798+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 274, "cost": 5165675, "path": "pullback", "reason": "눌림목 지정가 20,001 도달", "stop": 17760, "target": 21030, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 20,001 (현재 18,850)"}]} +{"ts": "2026-07-23T12:18:01.546609+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 51, "cost": 5258889, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 113400, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,400"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} +{"ts": "2026-07-23T12:22:02.597376+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 14, "cost": 4984748, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 426346, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 426,346"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v155/portfolio.json b/agents/stock/workspace/state/sim/variants/v155/portfolio.json index 3387381..d7b0617 100644 --- a/agents/stock/workspace/state/sim/variants/v155/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v155/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 51978383.23150004, + "cash": 36200978.54600003, "initial": 100000000, "positions": { "010950": { @@ -13,37 +13,16 @@ "entry_at": "2026-07-09T09:10:01.830227+09:00", "stop": 122978, "target": 157755, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5210031.291334455, "last_add_price": 136900 }, - "240810": { - "code": "240810", - "name": "원익IPS", - "sources": [ - "auto" - ], - "qty": 29, - "entry_price": 140424.1379310345, - "entry_at": "2026-07-15T09:02:02.651821+09:00", - "stop": 111041, - "target": 199191, - "peak": 147400, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 164,061 도달", - "cur_price": 112300, - "tranches": 2, - "tranche_value": 2118805.2917068345, - "last_add_price": 145700 - }, "086790": { "code": "086790", "name": "하나금융지주", @@ -60,7 +39,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 1, "tranche_value": 5510427.724906253, "last_add_price": 133100 @@ -71,20 +50,20 @@ "sources": [ "auto" ], - "qty": 14, - "entry_price": 344500, + "qty": 27, + "entry_price": 350037.037037037, "entry_at": "2026-07-21T12:06:01.173991+09:00", - "stop": 313808, - "target": 405884, - "peak": 346000, + "stop": 318434, + "target": 413243, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 4947379.149752503, - "last_add_price": 344500 + "last_add_price": 356000 }, "161890": { "code": "161890", @@ -92,20 +71,20 @@ "sources": [ "auto" ], - "qty": 55, - "entry_price": 99200, + "qty": 108, + "entry_price": 101113.88888888889, "entry_at": "2026-07-22T09:04:01.822292+09:00", "stop": 92100, - "target": 113400, - "peak": 101700, + "target": 119142, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5540629.633968752, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -118,12 +97,12 @@ "entry_at": "2026-07-22T14:18:05.429022+09:00", "stop": 11815, "target": 18460, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2753187.388447304, "last_add_price": 14030 @@ -139,19 +118,61 @@ "entry_at": "2026-07-22T15:04:01.000489+09:00", "stop": 129761, "target": 214778, - "peak": 158200, + "peak": 167200, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 1, "tranche_value": 2420063.0422778954, "last_add_price": 158100 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 288, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.290078+09:00", + "stop": 17760, + "target": 21030, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 20,001 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5444791.019156253, + "last_add_price": 18850 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 237, + "entry_price": 14210, + "entry_at": "2026-07-23T10:50:06.623985+09:00", + "stop": 12373, + "target": 17884, + "peak": 14210, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 3372587.923184174, + "last_add_price": 14210 } }, - "realized_pnl": -12724643.016500019, - "closed_trades": 33, + "realized_pnl": -13683255.21650002, + "closed_trades": 35, "wins": 4, "peak_equity": 101291892.54300004, "max_drawdown": 0.14689590840830097, @@ -163,14 +184,14 @@ "095610": "2026-07-16", "003490": "2026-07-07", "093370": "2026-07-20", - "240810": "2026-07-08", + "240810": "2026-07-23", "009150": "2026-07-06", "034730": "2026-07-08", "214450": "2026-07-06", "055550": "2026-07-20", - "319660": "2026-07-22", + "319660": "2026-07-23", "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.582834+09:00", - "updated_at": "2026-07-22T15:28:00.918616+09:00" + "updated_at": "2026-07-23T15:28:01.410764+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v155/trades.jsonl b/agents/stock/workspace/state/sim/variants/v155/trades.jsonl index 0a51e86..1274dd7 100644 --- a/agents/stock/workspace/state/sim/variants/v155/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v155/trades.jsonl @@ -90,3 +90,10 @@ {"ts": "2026-07-22T12:12:00.742954+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 63, "proceeds": 9890576, "entry_price": 172216, "pnl": -960652, "pnl_pct": -8.66, "hold_from": "2026-07-21T10:12:01.049412+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 200,648"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.429023+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 196, "cost": 2750292, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11815, "target": 18460, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} {"ts": "2026-07-22T15:04:01.000490+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 15, "cost": 2371856, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 129761, "target": 214778, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,000 vs 136,315"}, {"label": "정배열(5>20)", "ok": true, "detail": "172,240 / 136,315"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} +{"ts": "2026-07-23T09:00:22.967757+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 33, "cost": 5284092, "path": "pullback", "reason": "눌림목 지정가 169,062 도달", "stop": 158000, "target": 164300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 169,062 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.415818+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "proceeds": 5197246, "entry_price": 160100, "pnl": -86847, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:22.967750+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.290079+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 288, "cost": 5429614, "path": "pullback", "reason": "눌림목 지정가 20,001 도달", "stop": 17760, "target": 21030, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 20,001 (현재 18,850)"}]} +{"ts": "2026-07-23T10:50:06.147431+09:00", "side": "SELL", "code": "240810", "name": "원익IPS", "price": 110600, "qty": 29, "proceeds": 3201146, "entry_price": 140424, "pnl": -871765, "pnl_pct": -21.24, "hold_from": "2026-07-15T09:02:02.651821+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "111,041 (현재 110,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 199,191"}, {"label": "추세(20일선)", "ok": false, "detail": "119,375"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -847 · 기 +78"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:50:06.624000+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14210, "qty": 237, "cost": 3368275, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 12373, "target": 17884, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,210 vs 10,945"}, {"label": "정배열(5>20)", "ok": true, "detail": "13,160 / 10,945"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,160 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+56.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "85.12% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,769,006 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "85.12% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:18:01.548380+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 53, "cost": 5465120, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 113400, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,400"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} +{"ts": "2026-07-23T12:22:02.599151+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 13, "cost": 4628694, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 313808, "target": 405884, "signals": [{"label": "손절선", "ok": true, "detail": "313,808 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 405,884"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v157/portfolio.json b/agents/stock/workspace/state/sim/variants/v157/portfolio.json index 633409d..aca1ab9 100644 --- a/agents/stock/workspace/state/sim/variants/v157/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v157/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 66136139.46299996, + "cash": 45184801.69299996, "initial": 100000000, "positions": { "010950": { @@ -13,37 +13,16 @@ "entry_at": "2026-07-09T09:10:01.832067+09:00", "stop": 122979, "target": 151959, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5409440.346221704, "last_add_price": 136900 }, - "240810": { - "code": "240810", - "name": "원익IPS", - "sources": [ - "auto" - ], - "qty": 31, - "entry_price": 140435.48387096773, - "entry_at": "2026-07-15T09:02:02.654015+09:00", - "stop": 111052, - "target": 184511, - "peak": 147400, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 154,441 도달", - "cur_price": 112300, - "tranches": 2, - "tranche_value": 2200820.745182178, - "last_add_price": 145700 - }, "086790": { "code": "086790", "name": "하나금융지주", @@ -60,7 +39,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 1, "tranche_value": 5720873.507374998, "last_add_price": 133100 @@ -71,24 +50,87 @@ "sources": [ "auto" ], - "qty": 14, - "entry_price": 344500, + "qty": 28, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.175730+09:00", - "stop": 313808, - "target": 390538, - "peak": 346000, + "stop": 318647, + "target": 397654, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 5132330.379099764, - "last_add_price": 344500 + "last_add_price": 356000 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 302, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.292321+09:00", + "stop": 17760, + "target": 20485, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 19,627 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5707514.317999998, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 112, + "entry_price": 89873.21428571429, + "entry_at": "2026-07-23T09:46:06.366617+09:00", + "stop": 81596, + "target": 102289, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 5067979.388839712, + "last_add_price": 91400 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 250, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.490113+09:00", + "stop": 12315, + "target": 16878, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 3543339.0887474506, + "last_add_price": 14140 } }, - "realized_pnl": -8462250.867000017, - "closed_trades": 25, + "realized_pnl": -9486600.037000017, + "closed_trades": 27, "wins": 4, "peak_equity": 100161893.89500001, "max_drawdown": 0.1050800786178568, @@ -98,15 +140,15 @@ "005930": "2026-06-23", "403870": "2026-07-02", "003490": "2026-07-07", - "240810": "2026-07-08", + "240810": "2026-07-23", "093370": "2026-07-20", "214450": "2026-07-06", "055550": "2026-07-20", "034730": "2026-07-08", - "319660": "2026-07-22", + "319660": "2026-07-23", "095610": "2026-07-16", "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.582849+09:00", - "updated_at": "2026-07-22T15:28:00.920319+09:00" + "updated_at": "2026-07-23T15:28:01.412468+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v157/trades.jsonl b/agents/stock/workspace/state/sim/variants/v157/trades.jsonl index 7ea3d3a..0e37bf0 100644 --- a/agents/stock/workspace/state/sim/variants/v157/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v157/trades.jsonl @@ -63,3 +63,11 @@ {"ts": "2026-07-21T12:06:01.175731+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 344500, "qty": 14, "cost": 4823723, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 313808, "target": 390538, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "344,500 vs 296,350"}, {"label": "정배열(5>20)", "ok": true, "detail": "315,100 / 296,350"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "315,100 / 305,492"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+39.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +1 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+43%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.38% (환산) vs 평균 0.93% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "247,158 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "2.38% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "65"}]} {"ts": "2026-07-22T11:56:00.832893+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159800, "qty": 35, "cost": 5593839, "path": "pullback", "reason": "눌림목 지정가 159,932 도달", "stop": 158000, "target": 162500, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "159,700 vs 149,775"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,580 / 149,775"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,580 / 113,220"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+75.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -408 · 기 +146 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.73% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,371,014 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "4.73% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,932 (현재 159,700)"}]} {"ts": "2026-07-22T12:12:00.744641+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 35, "proceeds": 5494764, "entry_price": 159800, "pnl": -99075, "pnl_pct": -1.56, "hold_from": "2026-07-22T11:56:00.832892+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,500"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,305"}]} +{"ts": "2026-07-23T09:00:23.070728+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 35, "cost": 5604341, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 158000, "target": 163250, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.417538+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 35, "proceeds": 5512230, "entry_price": 160100, "pnl": -92110, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:23.070721+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.292322+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 302, "cost": 5693554, "path": "pullback", "reason": "눌림목 지정가 19,627 도달", "stop": 17760, "target": 20485, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,627 (현재 18,850)"}]} +{"ts": "2026-07-23T09:46:06.366618+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88400, "qty": 57, "cost": 5039556, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80433, "target": 100350, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,300 vs 75,075"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,020 / 75,075"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,020 / 75,060"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.80% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "743,133 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.80% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.490114+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 250, "cost": 3535530, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 12315, "target": 16878, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,180 vs 10,944"}, {"label": "정배열(5>20)", "ok": true, "detail": "13,154 / 10,944"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T10:50:06.634622+09:00", "side": "SELL", "code": "240810", "name": "원익IPS", "price": 110600, "qty": 31, "proceeds": 3421914, "entry_price": 140435, "pnl": -932239, "pnl_pct": -21.24, "hold_from": "2026-07-15T09:02:02.654015+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "111,052 (현재 110,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 184,511"}, {"label": "추세(20일선)", "ok": false, "detail": "119,375"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -847 · 기 +78"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T12:22:02.600930+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 14, "cost": 4984748, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 313808, "target": 390538, "signals": [{"label": "손절선", "ok": true, "detail": "313,808 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 390,538"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T13:06:04.443405+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91400, "qty": 55, "cost": 5027754, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 80433, "target": 100350, "signals": [{"label": "손절선", "ok": true, "detail": "80,433 (현재 91,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 100,350"}, {"label": "추세(20일선)", "ok": true, "detail": "75,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,159"}]} diff --git a/agents/stock/workspace/state/sim/variants/v159/portfolio.json b/agents/stock/workspace/state/sim/variants/v159/portfolio.json index 2892dcf..7c16f58 100644 --- a/agents/stock/workspace/state/sim/variants/v159/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v159/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 51042683.02349999, + "cash": 30515674.67399998, "initial": 100000000, "positions": { "086790": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 118,779 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 6239163.4909375, "last_add_price": 122200 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 2396369.0841200342, "last_add_price": 177000 @@ -55,61 +55,103 @@ "entry_at": "2026-07-09T09:10:01.833874+09:00", "stop": 122949, "target": 169318, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5319361.910927292, "last_add_price": 136900 }, - "240810": { - "code": "240810", - "name": "원익IPS", - "sources": [ - "auto" - ], - "qty": 29, - "entry_price": 140424.1379310345, - "entry_at": "2026-07-15T09:02:02.656003+09:00", - "stop": 111041, - "target": 228575, - "peak": 147400, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 154,441 도달", - "cur_price": 112300, - "tranches": 2, - "tranche_value": 2165153.313254011, - "last_add_price": 145700 - }, "214450": { "code": "214450", "name": "파마리서치", "sources": [ "auto" ], - "qty": 14, - "entry_price": 344500, + "qty": 28, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.177446+09:00", - "stop": 313808, - "target": 436576, - "peak": 346000, + "stop": 318647, + "target": 445059, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 4992940.599795671, - "last_add_price": 344500 + "last_add_price": 356000 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 293, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.294383+09:00", + "stop": 17760, + "target": 22120, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 19,627 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5529844.023343749, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 108, + "entry_price": 89872.22222222222, + "entry_at": "2026-07-23T09:46:06.368358+09:00", + "stop": 81595, + "target": 114704, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 4910846.127133424, + "last_add_price": 91400 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 242, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.492003+09:00", + "stop": 12315, + "target": 19616, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 3425942.1165759997, + "last_add_price": 14140 } }, - "realized_pnl": -12522752.611500015, - "closed_trades": 23, + "realized_pnl": -13483996.536500016, + "closed_trades": 25, "wins": 1, "peak_equity": 100161893.89500001, "max_drawdown": 0.12235302663453111, @@ -119,14 +161,14 @@ "005930": "2026-06-23", "403870": "2026-07-02", "003490": "2026-07-07", - "240810": "2026-07-08", + "240810": "2026-07-23", "093370": "2026-07-20", "214450": "2026-07-06", "055550": "2026-07-20", "034730": "2026-07-08", - "319660": "2026-07-22", + "319660": "2026-07-23", "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.582864+09:00", - "updated_at": "2026-07-22T15:28:00.921934+09:00" + "updated_at": "2026-07-23T15:28:01.414099+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v159/trades.jsonl b/agents/stock/workspace/state/sim/variants/v159/trades.jsonl index 0714f6c..d8705db 100644 --- a/agents/stock/workspace/state/sim/variants/v159/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v159/trades.jsonl @@ -62,3 +62,11 @@ {"ts": "2026-07-21T12:06:01.177447+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 344500, "qty": 14, "cost": 4823723, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 313808, "target": 436576, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "344,500 vs 296,350"}, {"label": "정배열(5>20)", "ok": true, "detail": "315,100 / 296,350"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "315,100 / 305,492"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+39.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +1 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+43%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.38% (환산) vs 평균 0.93% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "247,158 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "2.38% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "65"}]} {"ts": "2026-07-22T11:56:00.834652+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159800, "qty": 34, "cost": 5434015, "path": "pullback", "reason": "눌림목 지정가 159,932 도달", "stop": 158000, "target": 165200, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "159,700 vs 149,775"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,580 / 149,775"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,580 / 113,220"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+75.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -408 · 기 +146 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.73% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,371,014 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "4.73% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,932 (현재 159,700)"}]} {"ts": "2026-07-22T12:12:00.746301+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 34, "proceeds": 5337771, "entry_price": 159800, "pnl": -96244, "pnl_pct": -1.56, "hold_from": "2026-07-22T11:56:00.834651+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 165,200"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,305"}]} +{"ts": "2026-07-23T09:00:23.169012+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 34, "cost": 5444217, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 158000, "target": 166400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.419219+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 34, "proceeds": 5354738, "entry_price": 160100, "pnl": -89479, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:23.169005+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 166,400"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,669"}]} +{"ts": "2026-07-23T09:44:04.294384+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 293, "cost": 5523878, "path": "pullback", "reason": "눌림목 지정가 19,627 도달", "stop": 17760, "target": 22120, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,627 (현재 18,850)"}]} +{"ts": "2026-07-23T09:46:06.368359+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88400, "qty": 55, "cost": 4862729, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80433, "target": 112300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,300 vs 75,075"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,020 / 75,075"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,020 / 75,060"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.80% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "743,133 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.80% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.492004+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 242, "cost": 3422393, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 12315, "target": 19616, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,180 vs 10,944"}, {"label": "정배열(5>20)", "ok": true, "detail": "13,154 / 10,944"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T10:50:06.642810+09:00", "side": "SELL", "code": "240810", "name": "원익IPS", "price": 110600, "qty": 29, "proceeds": 3201146, "entry_price": 140424, "pnl": -871765, "pnl_pct": -21.24, "hold_from": "2026-07-15T09:02:02.656003+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "111,041 (현재 110,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 228,575"}, {"label": "추세(20일선)", "ok": false, "detail": "119,375"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -847 · 기 +78"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T12:22:02.602685+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 14, "cost": 4984748, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 313808, "target": 436576, "signals": [{"label": "손절선", "ok": true, "detail": "313,808 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 436,576"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T13:06:04.445125+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91400, "qty": 53, "cost": 4844927, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 80433, "target": 112300, "signals": [{"label": "손절선", "ok": true, "detail": "80,433 (현재 91,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 112,300"}, {"label": "추세(20일선)", "ok": true, "detail": "75,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,159"}]} diff --git a/agents/stock/workspace/state/sim/variants/v161/portfolio.json b/agents/stock/workspace/state/sim/variants/v161/portfolio.json index 2393d14..05341e6 100644 --- a/agents/stock/workspace/state/sim/variants/v161/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v161/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 61412926.205000035, + "cash": 51440870.62100004, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:10:01.835827+09:00", "stop": 119106, "target": 180931, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4136719.8054039073, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4581298.170382758, "last_add_price": 134300 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1933448.411487534, "last_add_price": 139100 @@ -76,15 +76,57 @@ "entry_at": "2026-07-13T09:06:07.906813+09:00", "stop": 302625, "target": 468030, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3813943.0504600187, "last_add_price": 350000 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 82, + "entry_price": 89863.41463414633, + "entry_at": "2026-07-23T09:46:06.370394+09:00", + "stop": 78827, + "target": 122973, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3727885.349520808, + "last_add_price": 91400 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 184, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.494343+09:00", + "stop": 11706, + "target": 21442, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2605151.7783276504, + "last_add_price": 14140 } }, "realized_pnl": -10432951.31000001, @@ -105,5 +147,5 @@ "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.582879+09:00", - "updated_at": "2026-07-22T15:28:00.923726+09:00" + "updated_at": "2026-07-23T15:28:01.416017+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v161/trades.jsonl b/agents/stock/workspace/state/sim/variants/v161/trades.jsonl index a55a623..74461fe 100644 --- a/agents/stock/workspace/state/sim/variants/v161/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v161/trades.jsonl @@ -44,3 +44,6 @@ {"ts": "2026-07-20T12:28:02.325141+09:00", "side": "SELL", "code": "093370", "name": "후성", "price": 10310, "qty": 139, "proceeds": 1430295, "entry_price": 13660, "pnl": -468729, "pnl_pct": -24.52, "hold_from": "2026-07-10T11:06:06.480575+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,360 (현재 10,310)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 23,560"}, {"label": "추세(10일선)", "ok": false, "detail": "12,013"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -887 · 기 +515"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 14,626"}]} {"ts": "2026-07-20T14:12:02.385143+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 100100, "qty": 86, "proceeds": 8591813, "entry_price": 111367, "pnl": -987223, "pnl_pct": -10.12, "hold_from": "2026-07-06T09:34:02.077204+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,198 (현재 100,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,876"}, {"label": "추세(10일선)", "ok": true, "detail": "98,970"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -168 · 기 +257"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-20T14:12:02.740945+09:00", "side": "SELL", "code": "105560", "name": "KB금융", "price": 166000, "qty": 47, "proceeds": 7786786, "entry_price": 186245, "pnl": -968027, "pnl_pct": -10.87, "hold_from": "2026-07-10T09:18:05.236324+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "166,364 (현재 166,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 245,885"}, {"label": "추세(10일선)", "ok": true, "detail": "156,380"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -440 · 기 +299"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:46:06.370395+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88400, "qty": 42, "cost": 3713357, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77778, "target": 120266, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,300 vs 80,910"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,020 / 80,910"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,020 / 75,060"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.80% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "743,133 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.80% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.494344+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 184, "cost": 2602150, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 21442, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T13:06:04.447130+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91400, "qty": 40, "cost": 3656548, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77778, "target": 120266, "signals": [{"label": "손절선", "ok": true, "detail": "77,778 (현재 91,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 120,266"}, {"label": "추세(10일선)", "ok": true, "detail": "81,220"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,159"}]} diff --git a/agents/stock/workspace/state/sim/variants/v165/portfolio.json b/agents/stock/workspace/state/sim/variants/v165/portfolio.json index d362024..bb48db3 100644 --- a/agents/stock/workspace/state/sim/variants/v165/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v165/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 61412926.205000035, + "cash": 51440870.62100004, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:10:01.837488+09:00", "stop": 119106, "target": 165475, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4136719.8054039073, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4581298.170382758, "last_add_price": 134300 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1933448.411487534, "last_add_price": 139100 @@ -76,15 +76,57 @@ "entry_at": "2026-07-13T09:06:07.909051+09:00", "stop": 302625, "target": 426679, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3813943.0504600187, "last_add_price": 350000 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 82, + "entry_price": 89863.41463414633, + "entry_at": "2026-07-23T09:46:06.372102+09:00", + "stop": 78827, + "target": 111936, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3727885.349520808, + "last_add_price": 91400 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 184, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.496090+09:00", + "stop": 11706, + "target": 19008, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2605151.7783276504, + "last_add_price": 14140 } }, "realized_pnl": -10432951.31000001, @@ -105,5 +147,5 @@ "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.582910+09:00", - "updated_at": "2026-07-22T15:28:00.925349+09:00" + "updated_at": "2026-07-23T15:28:01.417683+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v165/trades.jsonl b/agents/stock/workspace/state/sim/variants/v165/trades.jsonl index 055b8b5..2069e4b 100644 --- a/agents/stock/workspace/state/sim/variants/v165/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v165/trades.jsonl @@ -44,3 +44,6 @@ {"ts": "2026-07-20T12:28:02.326967+09:00", "side": "SELL", "code": "093370", "name": "후성", "price": 10310, "qty": 139, "proceeds": 1430295, "entry_price": 13660, "pnl": -468729, "pnl_pct": -24.52, "hold_from": "2026-07-10T11:06:06.482327+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,360 (현재 10,310)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 20,260"}, {"label": "추세(10일선)", "ok": false, "detail": "12,013"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -887 · 기 +515"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 14,626"}]} {"ts": "2026-07-20T14:12:02.751263+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 100100, "qty": 86, "proceeds": 8591813, "entry_price": 111367, "pnl": -987223, "pnl_pct": -10.12, "hold_from": "2026-07-06T09:34:02.079678+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,198 (현재 100,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 133,706"}, {"label": "추세(10일선)", "ok": true, "detail": "98,970"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -168 · 기 +257"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-20T14:12:02.752134+09:00", "side": "SELL", "code": "105560", "name": "KB금융", "price": 166000, "qty": 47, "proceeds": 7786786, "entry_price": 186245, "pnl": -968027, "pnl_pct": -10.87, "hold_from": "2026-07-10T09:18:05.238376+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "166,364 (현재 166,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 226,005"}, {"label": "추세(10일선)", "ok": true, "detail": "156,380"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -440 · 기 +299"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:46:06.372104+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88400, "qty": 42, "cost": 3713357, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77778, "target": 109644, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,300 vs 80,910"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,020 / 80,910"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,020 / 75,060"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.80% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "743,133 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.80% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.496091+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 184, "cost": 2602150, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 19008, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T13:06:04.448860+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91400, "qty": 40, "cost": 3656548, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77778, "target": 109644, "signals": [{"label": "손절선", "ok": true, "detail": "77,778 (현재 91,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,644"}, {"label": "추세(10일선)", "ok": true, "detail": "81,220"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,159"}]} diff --git a/agents/stock/workspace/state/sim/variants/v167/portfolio.json b/agents/stock/workspace/state/sim/variants/v167/portfolio.json index 19c8e77..73eaf37 100644 --- a/agents/stock/workspace/state/sim/variants/v167/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v167/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 61955782.5365, + "cash": 51878171.1215, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:10:01.839168+09:00", "stop": 119106, "target": 157747, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4167016.287066403, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4614837.858935807, "last_add_price": 134300 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1947572.2900013078, "last_add_price": 139100 @@ -76,15 +76,57 @@ "entry_at": "2026-07-13T09:06:07.911275+09:00", "stop": 302625, "target": 406003, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3841906.161963773, "last_add_price": 350000 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 83, + "entry_price": 89881.92771084337, + "entry_at": "2026-07-23T09:46:06.373868+09:00", + "stop": 78845, + "target": 106437, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3755996.4301575036, + "last_add_price": 91400 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 185, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.497819+09:00", + "stop": 11706, + "target": 17791, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2624748.4104710557, + "last_add_price": 14140 } }, "realized_pnl": -9759175.34350001, @@ -105,5 +147,5 @@ "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.582926+09:00", - "updated_at": "2026-07-22T15:28:00.926990+09:00" + "updated_at": "2026-07-23T15:28:01.419318+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v167/trades.jsonl b/agents/stock/workspace/state/sim/variants/v167/trades.jsonl index 27a0229..dc30684 100644 --- a/agents/stock/workspace/state/sim/variants/v167/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v167/trades.jsonl @@ -43,3 +43,6 @@ {"ts": "2026-07-20T12:28:02.328809+09:00", "side": "SELL", "code": "093370", "name": "후성", "price": 10310, "qty": 140, "proceeds": 1440585, "entry_price": 13660, "pnl": -472101, "pnl_pct": -24.52, "hold_from": "2026-07-10T11:06:06.484072+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,360 (현재 10,310)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 18,610"}, {"label": "추세(10일선)", "ok": false, "detail": "12,013"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -887 · 기 +515"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 14,626"}]} {"ts": "2026-07-20T14:12:02.757886+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 100100, "qty": 86, "proceeds": 8591813, "entry_price": 111367, "pnl": -987223, "pnl_pct": -10.12, "hold_from": "2026-07-06T09:34:02.081925+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,198 (현재 100,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 128,122"}, {"label": "추세(10일선)", "ok": true, "detail": "98,970"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -168 · 기 +257"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-20T14:12:02.758626+09:00", "side": "SELL", "code": "105560", "name": "KB금융", "price": 166000, "qty": 47, "proceeds": 7786786, "entry_price": 186245, "pnl": -968027, "pnl_pct": -10.87, "hold_from": "2026-07-10T09:18:05.240331+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "166,364 (현재 166,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 216,065"}, {"label": "추세(10일선)", "ok": true, "detail": "156,380"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -440 · 기 +299"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:46:06.373869+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88400, "qty": 42, "cost": 3713357, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77778, "target": 104333, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,300 vs 80,910"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,020 / 80,910"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,020 / 75,060"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.80% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "743,133 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.80% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.497821+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 185, "cost": 2616292, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 17791, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T13:06:04.450612+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91400, "qty": 41, "cost": 3747962, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77778, "target": 104333, "signals": [{"label": "손절선", "ok": true, "detail": "77,778 (현재 91,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 104,333"}, {"label": "추세(10일선)", "ok": true, "detail": "81,220"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,159"}]} diff --git a/agents/stock/workspace/state/sim/variants/v189/portfolio.json b/agents/stock/workspace/state/sim/variants/v189/portfolio.json index bead12c..069ed07 100644 --- a/agents/stock/workspace/state/sim/variants/v189/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v189/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 52951792.71300001, + "cash": 28931184.932000004, "initial": 100000000, "positions": { "086790": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 118,779 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 6250717.7646875, "last_add_price": 122200 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 2409186.3415744826, "last_add_price": 177000 @@ -55,12 +55,12 @@ "entry_at": "2026-07-09T09:36:03.473480+09:00", "stop": 122826, "target": 169195, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5273495.601167365, "last_add_price": 136900 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1941238.6485938414, "last_add_price": 139100 @@ -92,24 +92,87 @@ "sources": [ "auto" ], - "qty": 14, - "entry_price": 344500, + "qty": 28, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.185929+09:00", - "stop": 313808, - "target": 436576, - "peak": 346000, + "stop": 318647, + "target": 445059, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 5085796.90859035, - "last_add_price": 344500 + "last_add_price": 356000 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 298, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.302591+09:00", + "stop": 17760, + "target": 22120, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 19,627 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5632988.3789375005, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 110, + "entry_price": 89525.45454545454, + "entry_at": "2026-07-23T09:50:01.528642+09:00", + "stop": 81291, + "target": 114229, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 4982054.533958632, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 246, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.499550+09:00", + "stop": 12315, + "target": 19616, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 3490344.3531899177, + "last_add_price": 14140 } }, - "realized_pnl": -11128720.17200001, - "closed_trades": 20, + "realized_pnl": -11218198.82200001, + "closed_trades": 21, "wins": 1, "peak_equity": 100344662.275, "max_drawdown": 0.11172115435773428, @@ -122,9 +185,9 @@ "214450": "2026-07-03", "093370": "2026-07-20", "034730": "2026-07-08", - "319660": "2026-07-22", + "319660": "2026-07-23", "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.583136+09:00", - "updated_at": "2026-07-22T15:28:00.928596+09:00" + "updated_at": "2026-07-23T15:28:01.420958+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v189/trades.jsonl b/agents/stock/workspace/state/sim/variants/v189/trades.jsonl index 303ca95..9fbd8a9 100644 --- a/agents/stock/workspace/state/sim/variants/v189/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v189/trades.jsonl @@ -56,3 +56,10 @@ {"ts": "2026-07-21T12:06:01.185931+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 344500, "qty": 14, "cost": 4823723, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 313808, "target": 436576, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "344,500 vs 296,350"}, {"label": "정배열(5>20)", "ok": true, "detail": "315,100 / 296,350"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "315,100 / 305,492"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+39.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +1 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+43%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.38% (환산) vs 평균 0.93% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "247,158 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "2.38% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "65"}]} {"ts": "2026-07-22T11:56:00.841667+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159800, "qty": 35, "cost": 5593839, "path": "pullback", "reason": "눌림목 지정가 159,932 도달", "stop": 158000, "target": 165200, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "159,700 vs 149,775"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,580 / 149,775"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,580 / 113,220"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+75.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -408 · 기 +146 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.73% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "1,371,014 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "4.73% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,932 (현재 159,700)"}]} {"ts": "2026-07-22T12:12:00.753196+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 35, "proceeds": 5494764, "entry_price": 159800, "pnl": -99075, "pnl_pct": -1.56, "hold_from": "2026-07-22T11:56:00.841665+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 165,200"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,305"}]} +{"ts": "2026-07-23T09:00:24.496838+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 34, "cost": 5444217, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 158000, "target": 166400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.426166+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 34, "proceeds": 5354738, "entry_price": 160100, "pnl": -89479, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:24.496830+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 166,400"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,669"}]} +{"ts": "2026-07-23T09:44:04.302592+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 298, "cost": 5618143, "path": "pullback", "reason": "눌림목 지정가 19,627 도달", "stop": 17760, "target": 22120, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,627 (현재 18,850)"}]} +{"ts": "2026-07-23T09:50:01.528643+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 56, "cost": 4939941, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80223, "target": 112132, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,200 vs 75,070"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,000 / 75,070"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.499551+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 246, "cost": 3478962, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 12315, "target": 19616, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,180 vs 10,944"}, {"label": "정배열(5>20)", "ok": true, "detail": "13,154 / 10,944"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.609780+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 14, "cost": 4984748, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 313808, "target": 436576, "signals": [{"label": "손절선", "ok": true, "detail": "313,808 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 436,576"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T12:54:04.510618+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 54, "cost": 4909336, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 80223, "target": 112132, "signals": [{"label": "손절선", "ok": true, "detail": "80,223 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 112,132"}, {"label": "추세(20일선)", "ok": true, "detail": "75,210"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v195/portfolio.json b/agents/stock/workspace/state/sim/variants/v195/portfolio.json index 180bf20..3dc2c27 100644 --- a/agents/stock/workspace/state/sim/variants/v195/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v195/portfolio.json @@ -1,28 +1,7 @@ { - "cash": 48410075.24650002, + "cash": 47521670.67650002, "initial": 100000000, "positions": { - "095610": { - "code": "095610", - "name": "테스", - "sources": [ - "auto" - ], - "qty": 24, - "entry_price": 167779.16666666666, - "entry_at": "2026-06-24T09:46:05.157519+09:00", - "stop": 131479, - "target": 276679, - "peak": 234500, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 158,264 도달", - "cur_price": 157000, - "tranches": 2, - "tranche_value": 2088366.7995946202, - "last_add_price": 179100 - }, "086790": { "code": "086790", "name": "하나금융지주", @@ -39,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 122,215 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 5323473.79266045, "last_add_price": 126200 @@ -55,12 +34,12 @@ "entry_at": "2026-07-09T09:36:03.475227+09:00", "stop": 118952, "target": 180777, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4027945.7278098115, "last_add_price": 136900 @@ -81,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1936694.4171909117, "last_add_price": 139100 @@ -97,37 +76,16 @@ "entry_at": "2026-07-13T09:12:04.319241+09:00", "stop": 305399, "target": 472804, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3889733.683715179, "last_add_price": 353000 }, - "003490": { - "code": "003490", - "name": "대한항공", - "sources": [ - "auto" - ], - "qty": 222, - "entry_price": 25350, - "entry_at": "2026-07-21T14:20:02.200879+09:00", - "stop": 23650, - "target": 30450, - "peak": 25850, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 25,328 도달", - "cur_price": 25000, - "tranches": 1, - "tranche_value": 5650193.705343751, - "last_add_price": 25350 - }, "252990": { "code": "252990", "name": "샘씨엔에스", @@ -139,19 +97,61 @@ "entry_at": "2026-07-22T14:18:05.440873+09:00", "stop": 11077, "target": 22889, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2142144.27951391, "last_add_price": 14030 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 83, + "entry_price": 89533.73493975903, + "entry_at": "2026-07-23T09:50:01.530389+09:00", + "stop": 78554, + "target": 122472, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3742230.636714602, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 185, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.501277+09:00", + "stop": 11706, + "target": 21442, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2622057.409294393, + "last_add_price": 14140 } }, - "realized_pnl": -9970822.82450001, - "closed_trades": 16, + "realized_pnl": -10466368.47450001, + "closed_trades": 18, "wins": 0, "peak_equity": 101140808.32700005, "max_drawdown": 0.11462270543674523, @@ -165,9 +165,10 @@ "240810": "2026-07-08", "214450": "2026-07-06", "034730": "2026-07-07", - "003490": "2026-07-09", - "105560": "2026-07-20" + "003490": "2026-07-23", + "105560": "2026-07-20", + "095610": "2026-07-23" }, "created_at": "2026-06-15T14:55:00.583184+09:00", - "updated_at": "2026-07-22T15:28:00.930357+09:00" + "updated_at": "2026-07-23T15:28:01.422613+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v195/trades.jsonl b/agents/stock/workspace/state/sim/variants/v195/trades.jsonl index 7ae051e..58df2e1 100644 --- a/agents/stock/workspace/state/sim/variants/v195/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v195/trades.jsonl @@ -50,3 +50,8 @@ {"ts": "2026-07-20T12:58:05.500110+09:00", "side": "SELL", "code": "105560", "name": "KB금융", "price": 166600, "qty": 46, "proceeds": 7648656, "entry_price": 187650, "pnl": -984539, "pnl_pct": -11.22, "hold_from": "2026-07-10T09:24:02.480664+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "167,541 (현재 166,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 247,976"}, {"label": "추세(10일선)", "ok": true, "detail": "156,450"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -385 · 기 +288"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-21T14:20:02.200881+09:00", "side": "BUY", "code": "003490", "name": "대한항공", "price": 25350, "qty": 222, "cost": 5628544, "path": "pullback", "reason": "눌림목 지정가 25,328 도달", "stop": 23650, "target": 30450, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "25,300 vs 25,185"}, {"label": "정배열(5>10)", "ok": true, "detail": "25,400 / 25,185"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "25,400 / 25,157"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+18.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +524 · 기 +141 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.9/5"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.44% (환산) vs 평균 0.58% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 28,400"}, {"label": "거래량 급증", "ok": false, "detail": "1,611,169 (환산) vs 평균 2,146,231"}, {"label": "회전율 급증", "ok": false, "detail": "0.44% (환산) vs 평균 0.58%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 25,328 (현재 25,300)"}]} {"ts": "2026-07-22T14:18:05.440874+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 152, "cost": 2132880, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 22889, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,020 vs 12,975"}, {"label": "정배열(5>10)", "ok": true, "detail": "14,552 / 12,975"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} +{"ts": "2026-07-23T09:00:25.487226+09:00", "side": "SELL", "code": "003490", "name": "대한항공", "price": 24900, "qty": 222, "proceeds": 5517021, "entry_price": 25350, "pnl": -111523, "pnl_pct": -1.78, "hold_from": "2026-07-21T14:20:02.200879+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "23,650 (현재 24,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 30,450"}, {"label": "추세(10일선)", "ok": false, "detail": "25,145"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -381 · 기 -427"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 25,990"}]} +{"ts": "2026-07-23T09:50:01.530390+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 42, "cost": 3704956, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77564, "target": 120109, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,200 vs 80,900"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,000 / 80,900"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:24:01.519428+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 152100, "qty": 24, "proceeds": 3643282, "entry_price": 167779, "pnl": -384022, "pnl_pct": -9.35, "hold_from": "2026-06-24T09:46:05.157519+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "131,479 (현재 152,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 276,679"}, {"label": "추세(10일선)", "ok": false, "detail": "152,780"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -101 · 기 -107"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:30:02.501278+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 185, "cost": 2616292, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 21442, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:54:04.512360+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 41, "cost": 3727459, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77564, "target": 120109, "signals": [{"label": "손절선", "ok": true, "detail": "77,564 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 120,109"}, {"label": "추세(10일선)", "ok": true, "detail": "81,180"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v197/portfolio.json b/agents/stock/workspace/state/sim/variants/v197/portfolio.json index bad5f7a..d457c2b 100644 --- a/agents/stock/workspace/state/sim/variants/v197/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v197/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 63910201.044500016, + "cash": 41357122.02950001, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,264 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 2088366.7995946202, "last_add_price": 179100 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:36:03.476927+09:00", "stop": 118952, "target": 165321, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4067747.817915917, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1987575.3756416566, "last_add_price": 139100 @@ -71,20 +71,20 @@ "sources": [ "auto" ], - "qty": 11, - "entry_price": 344500, + "qty": 21, + "entry_price": 349976.1904761905, "entry_at": "2026-07-21T12:06:01.189281+09:00", - "stop": 303577, - "target": 426346, - "peak": 346000, + "stop": 307839, + "target": 434250, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3891157.6622701483, - "last_add_price": 344500 + "last_add_price": 356000 }, "161890": { "code": "161890", @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 58, - "entry_price": 99200, + "qty": 114, + "entry_price": 101115.78947368421, "entry_at": "2026-07-22T09:04:01.835859+09:00", "stop": 92100, - "target": 113400, - "peak": 101700, + "target": 119147, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5814522.042968751, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T14:18:05.442603+09:00", "stop": 11077, "target": 19936, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2163614.2656266936, "last_add_price": 14030 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 302, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.306333+09:00", + "stop": 17760, + "target": 21030, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 20,001 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5694360.666843751, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 83, + "entry_price": 89533.73493975903, + "entry_at": "2026-07-23T09:50:01.532131+09:00", + "stop": 78554, + "target": 111492, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3778918.748885343, + "last_add_price": 90900 } }, - "realized_pnl": -8584753.817500016, - "closed_trades": 20, + "realized_pnl": -8676864.192500016, + "closed_trades": 21, "wins": 2, "peak_equity": 101368884.75700004, "max_drawdown": 0.10567329154482291, @@ -143,10 +185,10 @@ "214450": "2026-07-06", "009150": "2026-07-06", "034730": "2026-07-07", - "319660": "2026-07-22", + "319660": "2026-07-23", "003490": "2026-07-09", "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.583198+09:00", - "updated_at": "2026-07-22T15:28:00.932000+09:00" + "updated_at": "2026-07-23T15:28:01.424252+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v197/trades.jsonl b/agents/stock/workspace/state/sim/variants/v197/trades.jsonl index fdcd721..c35b280 100644 --- a/agents/stock/workspace/state/sim/variants/v197/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v197/trades.jsonl @@ -58,3 +58,10 @@ {"ts": "2026-07-22T09:04:01.835860+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 99200, "qty": 58, "cost": 5754463, "path": "pullback", "reason": "눌림목 지정가 98,848 도달", "stop": 92100, "target": 113400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "98,800 vs 98,505"}, {"label": "정배열(5>20)", "ok": true, "detail": "107,060 / 98,505"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "107,060 / 91,913"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +29 · 기 -34 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+33%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.16% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "272,433 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "1.16% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 98,848 (현재 98,800)"}]} {"ts": "2026-07-22T12:12:00.756545+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 66, "proceeds": 10361555, "entry_price": 172139, "pnl": -1001349, "pnl_pct": -8.62, "hold_from": "2026-07-21T10:12:01.062791+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 200,418"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.442604+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 154, "cost": 2160944, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 19936, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} +{"ts": "2026-07-23T09:00:25.597059+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 35, "cost": 5604341, "path": "pullback", "reason": "눌림목 지정가 169,062 도달", "stop": 158000, "target": 164300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 169,062 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.429516+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 35, "proceeds": 5512230, "entry_price": 160100, "pnl": -92110, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:25.597052+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.306334+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 302, "cost": 5693554, "path": "pullback", "reason": "눌림목 지정가 20,001 도달", "stop": 17760, "target": 21030, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 20,001 (현재 18,850)"}]} +{"ts": "2026-07-23T09:50:01.532132+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 42, "cost": 3704956, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77564, "target": 109473, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,200 vs 75,070"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,000 / 75,070"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T12:18:01.562114+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 56, "cost": 5774466, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 113400, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,400"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} +{"ts": "2026-07-23T12:22:02.613218+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 426346, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 426,346"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T12:54:04.514100+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 41, "cost": 3727459, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77564, "target": 109473, "signals": [{"label": "손절선", "ok": true, "detail": "77,564 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,473"}, {"label": "추세(20일선)", "ok": true, "detail": "75,210"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v199/portfolio.json b/agents/stock/workspace/state/sim/variants/v199/portfolio.json index afa0360..fbf072e 100644 --- a/agents/stock/workspace/state/sim/variants/v199/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v199/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 72112709.37050003, + "cash": 52708372.59600003, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1823343.1265236405, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:36:03.478610+09:00", "stop": 118952, "target": 165321, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4039283.450888891, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1967591.0085317888, "last_add_price": 139100 @@ -71,24 +71,87 @@ "sources": [ "auto" ], - "qty": 11, - "entry_price": 344500, + "qty": 21, + "entry_price": 349976.1904761905, "entry_at": "2026-07-21T12:06:01.191055+09:00", - "stop": 303577, - "target": 426346, - "peak": 346000, + "stop": 307839, + "target": 434250, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3848025.874946516, - "last_add_price": 344500 + "last_add_price": 356000 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 301, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.308111+09:00", + "stop": 17760, + "target": 21030, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 19,627 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5689431.187218752, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 83, + "entry_price": 89533.73493975903, + "entry_at": "2026-07-23T09:50:01.533917+09:00", + "stop": 78554, + "target": 111492, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3774325.11581779, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 187, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.504688+09:00", + "stop": 11706, + "target": 19008, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2644855.695004356, + "last_add_price": 14140 } }, - "realized_pnl": -8784425.629500013, - "closed_trades": 18, + "realized_pnl": -8876536.004500013, + "closed_trades": 19, "wins": 2, "peak_equity": 100182695.41500005, "max_drawdown": 0.09613499352961095, @@ -100,10 +163,10 @@ "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-08", - "319660": "2026-07-22", + "319660": "2026-07-23", "003490": "2026-07-09", "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.583212+09:00", - "updated_at": "2026-07-22T15:28:00.933653+09:00" + "updated_at": "2026-07-23T15:28:01.425929+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v199/trades.jsonl b/agents/stock/workspace/state/sim/variants/v199/trades.jsonl index 8e25c0c..5d0a80f 100644 --- a/agents/stock/workspace/state/sim/variants/v199/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v199/trades.jsonl @@ -51,3 +51,10 @@ {"ts": "2026-07-21T12:06:01.191056+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 344500, "qty": 11, "cost": 3790068, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 303577, "target": 426346, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "344,500 vs 296,350"}, {"label": "정배열(5>20)", "ok": true, "detail": "315,100 / 296,350"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "315,100 / 305,492"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+39.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +1 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+43%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.38% (환산) vs 평균 0.93% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "247,158 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "2.38% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "65"}]} {"ts": "2026-07-22T11:56:00.846714+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159800, "qty": 35, "cost": 5593839, "path": "pullback", "reason": "눌림목 지정가 159,932 도달", "stop": 158000, "target": 163400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "159,700 vs 149,775"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,580 / 149,775"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,580 / 113,220"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+75.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -408 · 기 +146 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.73% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "1,371,014 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "4.73% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,932 (현재 159,700)"}]} {"ts": "2026-07-22T12:12:00.758300+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 35, "proceeds": 5494764, "entry_price": 159800, "pnl": -99075, "pnl_pct": -1.56, "hold_from": "2026-07-22T11:56:00.846713+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 163,400"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,305"}]} +{"ts": "2026-07-23T09:00:25.699142+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 35, "cost": 5604341, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 158000, "target": 164300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.431227+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 35, "proceeds": 5512230, "entry_price": 160100, "pnl": -92110, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:25.699135+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.308112+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 301, "cost": 5674701, "path": "pullback", "reason": "눌림목 지정가 19,627 도달", "stop": 17760, "target": 21030, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,627 (현재 18,850)"}]} +{"ts": "2026-07-23T09:50:01.533918+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 42, "cost": 3704956, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77564, "target": 109473, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,200 vs 75,070"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,000 / 75,070"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.504689+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 187, "cost": 2644577, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 19008, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,180 vs 10,944"}, {"label": "정배열(5>20)", "ok": true, "detail": "13,154 / 10,944"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.614973+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 426346, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 426,346"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T12:54:04.515832+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 41, "cost": 3727459, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77564, "target": 109473, "signals": [{"label": "손절선", "ok": true, "detail": "77,564 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,473"}, {"label": "추세(20일선)", "ok": true, "detail": "75,210"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v201/portfolio.json b/agents/stock/workspace/state/sim/variants/v201/portfolio.json index 9d969df..0dacc7a 100644 --- a/agents/stock/workspace/state/sim/variants/v201/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v201/portfolio.json @@ -1,28 +1,7 @@ { - "cash": 48410075.24650002, + "cash": 47521670.67650002, "initial": 100000000, "positions": { - "095610": { - "code": "095610", - "name": "테스", - "sources": [ - "auto" - ], - "qty": 24, - "entry_price": 167779.16666666666, - "entry_at": "2026-06-24T09:46:05.179968+09:00", - "stop": 131479, - "target": 240379, - "peak": 234500, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 158,264 도달", - "cur_price": 157000, - "tranches": 2, - "tranche_value": 2088366.7995946202, - "last_add_price": 179100 - }, "086790": { "code": "086790", "name": "하나금융지주", @@ -39,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 122,215 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 5323473.79266045, "last_add_price": 126200 @@ -55,12 +34,12 @@ "entry_at": "2026-07-09T09:36:03.480275+09:00", "stop": 118952, "target": 165321, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4027945.7278098115, "last_add_price": 136900 @@ -81,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1936694.4171909117, "last_add_price": 139100 @@ -97,37 +76,16 @@ "entry_at": "2026-07-13T09:12:04.324564+09:00", "stop": 305399, "target": 430953, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3889733.683715179, "last_add_price": 353000 }, - "003490": { - "code": "003490", - "name": "대한항공", - "sources": [ - "auto" - ], - "qty": 222, - "entry_price": 25350, - "entry_at": "2026-07-21T14:20:02.206534+09:00", - "stop": 23650, - "target": 28750, - "peak": 25850, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 25,328 도달", - "cur_price": 25000, - "tranches": 1, - "tranche_value": 5650193.705343751, - "last_add_price": 25350 - }, "252990": { "code": "252990", "name": "샘씨엔에스", @@ -139,19 +97,61 @@ "entry_at": "2026-07-22T14:18:05.445916+09:00", "stop": 11077, "target": 19936, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2142144.27951391, "last_add_price": 14030 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 83, + "entry_price": 89533.73493975903, + "entry_at": "2026-07-23T09:50:01.535674+09:00", + "stop": 78554, + "target": 111492, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3742230.636714602, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 185, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.506419+09:00", + "stop": 11706, + "target": 19008, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2622057.409294393, + "last_add_price": 14140 } }, - "realized_pnl": -9970822.82450001, - "closed_trades": 16, + "realized_pnl": -10466368.47450001, + "closed_trades": 18, "wins": 0, "peak_equity": 101140808.32700005, "max_drawdown": 0.11462270543674523, @@ -165,9 +165,10 @@ "240810": "2026-07-08", "214450": "2026-07-06", "034730": "2026-07-07", - "003490": "2026-07-09", - "105560": "2026-07-20" + "003490": "2026-07-23", + "105560": "2026-07-20", + "095610": "2026-07-23" }, "created_at": "2026-06-15T14:55:00.583227+09:00", - "updated_at": "2026-07-22T15:28:00.935260+09:00" + "updated_at": "2026-07-23T15:28:01.427565+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v201/trades.jsonl b/agents/stock/workspace/state/sim/variants/v201/trades.jsonl index 7a17d42..028f57e 100644 --- a/agents/stock/workspace/state/sim/variants/v201/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v201/trades.jsonl @@ -50,3 +50,8 @@ {"ts": "2026-07-20T12:58:05.505774+09:00", "side": "SELL", "code": "105560", "name": "KB금융", "price": 166600, "qty": 46, "proceeds": 7648656, "entry_price": 187650, "pnl": -984539, "pnl_pct": -11.22, "hold_from": "2026-07-10T09:24:02.504787+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "167,541 (현재 166,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 227,868"}, {"label": "추세(10일선)", "ok": true, "detail": "156,450"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -385 · 기 +288"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-21T14:20:02.206535+09:00", "side": "BUY", "code": "003490", "name": "대한항공", "price": 25350, "qty": 222, "cost": 5628544, "path": "pullback", "reason": "눌림목 지정가 25,328 도달", "stop": 23650, "target": 28750, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "25,300 vs 25,185"}, {"label": "정배열(5>10)", "ok": true, "detail": "25,400 / 25,185"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "25,400 / 25,157"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+18.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +524 · 기 +141 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.9/5"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.44% (환산) vs 평균 0.58% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 28,400"}, {"label": "거래량 급증", "ok": false, "detail": "1,611,169 (환산) vs 평균 2,146,231"}, {"label": "회전율 급증", "ok": false, "detail": "0.44% (환산) vs 평균 0.58%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 25,328 (현재 25,300)"}]} {"ts": "2026-07-22T14:18:05.445917+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 152, "cost": 2132880, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 19936, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,020 vs 12,975"}, {"label": "정배열(5>10)", "ok": true, "detail": "14,552 / 12,975"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} +{"ts": "2026-07-23T09:00:25.805090+09:00", "side": "SELL", "code": "003490", "name": "대한항공", "price": 24900, "qty": 222, "proceeds": 5517021, "entry_price": 25350, "pnl": -111523, "pnl_pct": -1.78, "hold_from": "2026-07-21T14:20:02.206534+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "23,650 (현재 24,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 28,750"}, {"label": "추세(10일선)", "ok": false, "detail": "25,145"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -381 · 기 -427"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 25,990"}]} +{"ts": "2026-07-23T09:50:01.535676+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 42, "cost": 3704956, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77564, "target": 109473, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,200 vs 80,900"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,000 / 80,900"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:24:01.524474+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 152100, "qty": 24, "proceeds": 3643282, "entry_price": 167779, "pnl": -384022, "pnl_pct": -9.35, "hold_from": "2026-06-24T09:46:05.179968+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "131,479 (현재 152,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 240,379"}, {"label": "추세(10일선)", "ok": false, "detail": "152,780"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -101 · 기 -107"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:30:02.506420+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 185, "cost": 2616292, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 19008, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:54:04.517542+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 41, "cost": 3727459, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77564, "target": 109473, "signals": [{"label": "손절선", "ok": true, "detail": "77,564 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,473"}, {"label": "추세(10일선)", "ok": true, "detail": "81,180"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v203/portfolio.json b/agents/stock/workspace/state/sim/variants/v203/portfolio.json index 7d223c1..b7fee3c 100644 --- a/agents/stock/workspace/state/sim/variants/v203/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v203/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 73277335.9585, + "cash": 48577403.63349997, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:36:03.481939+09:00", "stop": 122827, "target": 151807, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5361936.603499421, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1973467.2774454139, "last_add_price": 139100 @@ -50,24 +50,87 @@ "sources": [ "auto" ], - "qty": 15, - "entry_price": 344500, + "qty": 29, + "entry_price": 350051.724137931, "entry_at": "2026-07-21T12:06:01.194399+09:00", - "stop": 313808, - "target": 390538, - "peak": 346000, + "stop": 318449, + "target": 397456, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 5225929.659467572, - "last_add_price": 344500 + "last_add_price": 356000 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 308, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.311543+09:00", + "stop": 17760, + "target": 20485, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 19,627 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5812518.366156249, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 114, + "entry_price": 89526.31578947368, + "entry_at": "2026-07-23T09:50:01.537436+09:00", + "stop": 81292, + "target": 101878, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 5138975.321289769, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 255, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.508174+09:00", + "stop": 12315, + "target": 16878, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 3610488.8363555884, + "last_add_price": 14140 } }, - "realized_pnl": -7092719.991500013, - "closed_trades": 22, + "realized_pnl": -7187462.091500013, + "closed_trades": 23, "wins": 4, "peak_equity": 100344662.275, "max_drawdown": 0.09675076894367877, @@ -80,10 +143,10 @@ "214450": "2026-07-03", "093370": "2026-07-20", "034730": "2026-07-08", - "319660": "2026-07-22", + "319660": "2026-07-23", "095610": "2026-07-16", "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.583241+09:00", - "updated_at": "2026-07-22T15:28:00.936926+09:00" + "updated_at": "2026-07-23T15:28:01.429236+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v203/trades.jsonl b/agents/stock/workspace/state/sim/variants/v203/trades.jsonl index 3550f45..cd15b6d 100644 --- a/agents/stock/workspace/state/sim/variants/v203/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v203/trades.jsonl @@ -56,3 +56,10 @@ {"ts": "2026-07-21T12:06:01.194400+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 344500, "qty": 15, "cost": 5168275, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 313808, "target": 390538, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "344,500 vs 296,350"}, {"label": "정배열(5>20)", "ok": true, "detail": "315,100 / 296,350"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "315,100 / 305,492"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+39.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +1 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+43%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.38% (환산) vs 평균 0.93% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "247,158 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "2.38% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "65"}]} {"ts": "2026-07-22T11:56:00.850083+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159800, "qty": 36, "cost": 5753663, "path": "pullback", "reason": "눌림목 지정가 159,932 도달", "stop": 158000, "target": 162500, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "159,700 vs 149,775"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,580 / 149,775"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,580 / 113,220"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+75.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -408 · 기 +146 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.73% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "1,371,014 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "4.73% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,932 (현재 159,700)"}]} {"ts": "2026-07-22T12:12:00.761634+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 36, "proceeds": 5651758, "entry_price": 159800, "pnl": -101905, "pnl_pct": -1.56, "hold_from": "2026-07-22T11:56:00.850081+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,500"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,305"}]} +{"ts": "2026-07-23T09:00:25.909523+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 36, "cost": 5764465, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 158000, "target": 163250, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.434630+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 36, "proceeds": 5669722, "entry_price": 160100, "pnl": -94742, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:25.909516+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.311545+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 308, "cost": 5806671, "path": "pullback", "reason": "눌림목 지정가 19,627 도달", "stop": 17760, "target": 20485, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,627 (현재 18,850)"}]} +{"ts": "2026-07-23T09:50:01.537437+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 58, "cost": 5116367, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80223, "target": 100166, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,200 vs 75,070"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,000 / 75,070"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.508176+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 255, "cost": 3606241, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 12315, "target": 16878, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,180 vs 10,944"}, {"label": "정배열(5>20)", "ok": true, "detail": "13,154 / 10,944"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.618391+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 14, "cost": 4984748, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 313808, "target": 390538, "signals": [{"label": "손절선", "ok": true, "detail": "313,808 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 390,538"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T12:54:04.519326+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 56, "cost": 5091164, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 80223, "target": 100166, "signals": [{"label": "손절선", "ok": true, "detail": "80,223 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 100,166"}, {"label": "추세(20일선)", "ok": true, "detail": "75,210"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v205/portfolio.json b/agents/stock/workspace/state/sim/variants/v205/portfolio.json index 0bdfe4f..2aef7a9 100644 --- a/agents/stock/workspace/state/sim/variants/v205/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v205/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 66917985.86700003, + "cash": 43651199.81200002, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:36:03.483808+09:00", "stop": 118912, "target": 157553, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4100167.692846849, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1993160.4408968717, "last_add_price": 139100 @@ -50,20 +50,20 @@ "sources": [ "auto" ], - "qty": 11, - "entry_price": 344500, + "qty": 22, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.196090+09:00", - "stop": 303577, - "target": 405884, - "peak": 346000, + "stop": 308113, + "target": 413456, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3939968.9939820534, - "last_add_price": 344500 + "last_add_price": 356000 }, "161890": { "code": "161890", @@ -71,20 +71,20 @@ "sources": [ "auto" ], - "qty": 59, - "entry_price": 99200, + "qty": 116, + "entry_price": 101116.37931034483, "entry_at": "2026-07-22T09:04:01.842571+09:00", "stop": 92100, - "target": 109850, - "peak": 101700, + "target": 114641, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5880825.494625002, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -97,12 +97,12 @@ "entry_at": "2026-07-22T14:18:05.449229+09:00", "stop": 11077, "target": 18460, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2194371.3136614803, "last_add_price": 14030 @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T15:04:01.021105+09:00", "stop": 120314, "target": 214778, - "peak": 158200, + "peak": 167200, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 1, "tranche_value": 1929720.6345830075, "last_add_price": 158100 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 306, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.313305+09:00", + "stop": 17760, + "target": 20485, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 20,001 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5782162.218250002, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 85, + "entry_price": 89534.11764705883, + "entry_at": "2026-07-23T09:50:01.539141+09:00", + "stop": 78555, + "target": 106003, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3836617.5002028025, + "last_add_price": 90900 } }, - "realized_pnl": -7447489.531000015, - "closed_trades": 23, + "realized_pnl": -7539599.906000015, + "closed_trades": 24, "wins": 4, "peak_equity": 101368884.75700004, "max_drawdown": 0.09320413829301381, @@ -144,10 +186,10 @@ "240810": "2026-07-08", "214450": "2026-07-06", "034730": "2026-07-07", - "319660": "2026-07-22", + "319660": "2026-07-23", "003490": "2026-07-09", "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.583273+09:00", - "updated_at": "2026-07-22T15:28:00.938532+09:00" + "updated_at": "2026-07-23T15:28:01.430861+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v205/trades.jsonl b/agents/stock/workspace/state/sim/variants/v205/trades.jsonl index 35a2808..fef4eea 100644 --- a/agents/stock/workspace/state/sim/variants/v205/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v205/trades.jsonl @@ -64,3 +64,10 @@ {"ts": "2026-07-22T12:12:00.763311+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 67, "proceeds": 10518549, "entry_price": 172063, "pnl": -1011380, "pnl_pct": -8.58, "hold_from": "2026-07-21T10:12:01.069760+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 193,157"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.449230+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 156, "cost": 2189008, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 18460, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} {"ts": "2026-07-22T15:04:01.021107+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 12, "cost": 1897485, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 120314, "target": 214778, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,000 vs 136,315"}, {"label": "정배열(5>20)", "ok": true, "detail": "172,240 / 136,315"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} +{"ts": "2026-07-23T09:00:26.010701+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 35, "cost": 5604341, "path": "pullback", "reason": "눌림목 지정가 169,062 도달", "stop": 158000, "target": 163250, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 169,062 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.436337+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 35, "proceeds": 5512230, "entry_price": 160100, "pnl": -92110, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:26.010694+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.313306+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 306, "cost": 5768965, "path": "pullback", "reason": "눌림목 지정가 20,001 도달", "stop": 17760, "target": 20485, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 20,001 (현재 18,850)"}]} +{"ts": "2026-07-23T09:50:01.539143+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 43, "cost": 3793169, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77564, "target": 104155, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,200 vs 75,070"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,000 / 75,070"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T12:18:01.568808+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 57, "cost": 5877582, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 109850, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,850"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} +{"ts": "2026-07-23T12:22:02.620162+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 11, "cost": 3916587, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 405884, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 405,884"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T12:54:04.521033+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 42, "cost": 3818373, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77564, "target": 104155, "signals": [{"label": "손절선", "ok": true, "detail": "77,564 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 104,155"}, {"label": "추세(20일선)", "ok": true, "detail": "75,210"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v207/portfolio.json b/agents/stock/workspace/state/sim/variants/v207/portfolio.json index eb7d000..021c965 100644 --- a/agents/stock/workspace/state/sim/variants/v207/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v207/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 62032466.33950004, + "cash": 51983759.25950004, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:36:03.485481+09:00", "stop": 118912, "target": 165281, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4104199.1508728755, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1943356.297579488, "last_add_price": 139100 @@ -55,12 +55,12 @@ "entry_at": "2026-07-13T09:12:04.329595+09:00", "stop": 305125, "target": 430679, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3869967.7922643563, "last_add_price": 353000 @@ -81,10 +81,52 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4856628.092474961, "last_add_price": 138900 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 83, + "entry_price": 89533.73493975903, + "entry_at": "2026-07-23T09:50:01.540887+09:00", + "stop": 78554, + "target": 111492, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3737129.4618013836, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 185, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.511570+09:00", + "stop": 11706, + "target": 19008, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2622973.21488934, + "last_add_price": 14140 } }, "realized_pnl": -9448256.410500009, @@ -104,5 +146,5 @@ "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.583289+09:00", - "updated_at": "2026-07-22T15:28:00.940184+09:00" + "updated_at": "2026-07-23T15:28:01.432531+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v207/trades.jsonl b/agents/stock/workspace/state/sim/variants/v207/trades.jsonl index 0c5c52c..7f1b5bb 100644 --- a/agents/stock/workspace/state/sim/variants/v207/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v207/trades.jsonl @@ -41,3 +41,6 @@ {"ts": "2026-07-20T11:28:01.215823+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 101900, "qty": 41, "proceeds": 4169753, "entry_price": 113100, "pnl": -468042, "pnl_pct": -9.9, "hold_from": "2026-07-13T10:04:06.438946+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "101,931 (현재 101,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 135,439"}, {"label": "추세(10일선)", "ok": true, "detail": "99,150"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -156 · 기 +275"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 115,714"}]} {"ts": "2026-07-20T12:28:02.343816+09:00", "side": "SELL", "code": "093370", "name": "후성", "price": 10310, "qty": 140, "proceeds": 1440585, "entry_price": 13660, "pnl": -472101, "pnl_pct": -24.52, "hold_from": "2026-07-10T11:06:06.497686+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,360 (현재 10,310)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 20,260"}, {"label": "추세(10일선)", "ok": false, "detail": "12,013"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -887 · 기 +515"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 14,626"}]} {"ts": "2026-07-20T12:58:05.511194+09:00", "side": "SELL", "code": "105560", "name": "KB금융", "price": 166600, "qty": 46, "proceeds": 7648656, "entry_price": 187650, "pnl": -984539, "pnl_pct": -11.22, "hold_from": "2026-07-10T09:24:02.518932+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "167,541 (현재 166,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 227,868"}, {"label": "추세(10일선)", "ok": true, "detail": "156,450"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -385 · 기 +288"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:50:01.540889+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 42, "cost": 3704956, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77564, "target": 109473, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,200 vs 80,900"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,000 / 80,900"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.511571+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 185, "cost": 2616292, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 19008, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:54:04.522755+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 41, "cost": 3727459, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77564, "target": 109473, "signals": [{"label": "손절선", "ok": true, "detail": "77,564 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,473"}, {"label": "추세(10일선)", "ok": true, "detail": "81,180"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v209/portfolio.json b/agents/stock/workspace/state/sim/variants/v209/portfolio.json index 85461c8..48903aa 100644 --- a/agents/stock/workspace/state/sim/variants/v209/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v209/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 61772638.521000035, + "cash": 51709789.32000004, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:36:03.487132+09:00", "stop": 118954, "target": 157594, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4134023.492494496, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1957563.5830104812, "last_add_price": 139100 @@ -55,12 +55,12 @@ "entry_at": "2026-07-13T09:12:04.331285+09:00", "stop": 305399, "target": 410027, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3898349.7986140535, "last_add_price": 353000 @@ -81,10 +81,52 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4892197.723204158, "last_add_price": 138900 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 83, + "entry_price": 89533.73493975903, + "entry_at": "2026-07-23T09:50:01.542608+09:00", + "stop": 78554, + "target": 106003, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3762093.1541708363, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 186, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.513301+09:00", + "stop": 11706, + "target": 17791, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2640560.266340469, + "last_add_price": 14140 } }, "realized_pnl": -8804548.71900001, @@ -104,5 +146,5 @@ "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.583304+09:00", - "updated_at": "2026-07-22T15:28:00.941794+09:00" + "updated_at": "2026-07-23T15:28:01.434172+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v209/trades.jsonl b/agents/stock/workspace/state/sim/variants/v209/trades.jsonl index 2afeb18..0254b24 100644 --- a/agents/stock/workspace/state/sim/variants/v209/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v209/trades.jsonl @@ -40,3 +40,6 @@ {"ts": "2026-07-20T11:28:01.217450+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 101900, "qty": 42, "proceeds": 4271454, "entry_price": 113100, "pnl": -479458, "pnl_pct": -9.9, "hold_from": "2026-07-13T10:04:06.440641+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "101,931 (현재 101,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 129,854"}, {"label": "추세(10일선)", "ok": true, "detail": "99,150"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -156 · 기 +275"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 115,714"}]} {"ts": "2026-07-20T12:28:02.345777+09:00", "side": "SELL", "code": "093370", "name": "후성", "price": 10310, "qty": 141, "proceeds": 1450875, "entry_price": 13660, "pnl": -475474, "pnl_pct": -24.52, "hold_from": "2026-07-10T11:06:06.499417+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,360 (현재 10,310)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 18,610"}, {"label": "추세(10일선)", "ok": false, "detail": "12,013"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -887 · 기 +515"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 14,626"}]} {"ts": "2026-07-20T12:58:05.512945+09:00", "side": "SELL", "code": "105560", "name": "KB금융", "price": 166600, "qty": 47, "proceeds": 7814931, "entry_price": 187591, "pnl": -1003191, "pnl_pct": -11.19, "hold_from": "2026-07-10T09:24:02.522686+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "167,483 (현재 166,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 217,755"}, {"label": "추세(10일선)", "ok": true, "detail": "156,450"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -385 · 기 +288"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:50:01.542609+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 42, "cost": 3704956, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77564, "target": 104155, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,200 vs 80,900"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,000 / 80,900"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.513302+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 186, "cost": 2630435, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 17791, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:54:04.524456+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 41, "cost": 3727459, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77564, "target": 104155, "signals": [{"label": "손절선", "ok": true, "detail": "77,564 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 104,155"}, {"label": "추세(10일선)", "ok": true, "detail": "81,180"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v211/portfolio.json b/agents/stock/workspace/state/sim/variants/v211/portfolio.json index 70427d1..0492c58 100644 --- a/agents/stock/workspace/state/sim/variants/v211/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v211/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 51786787.58950004, + "cash": 49031366.22550003, "initial": 100000000, "positions": { "086790": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 122,215 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 5357366.7482318785, "last_add_price": 126200 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:36:03.488778+09:00", "stop": 118952, "target": 157593, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4055251.939081083, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1948930.4488017063, "last_add_price": 139100 @@ -76,37 +76,16 @@ "entry_at": "2026-07-13T09:12:04.332947+09:00", "stop": 305399, "target": 410027, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3913399.394880189, "last_add_price": 353000 }, - "003490": { - "code": "003490", - "name": "대한항공", - "sources": [ - "auto" - ], - "qty": 226, - "entry_price": 25350, - "entry_at": "2026-07-21T14:20:02.215118+09:00", - "stop": 23650, - "target": 27900, - "peak": 25850, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 25,328 도달", - "cur_price": 25000, - "tranches": 1, - "tranche_value": 5751056.733250002, - "last_add_price": 25350 - }, "252990": { "code": "252990", "name": "샘씨엔에스", @@ -118,40 +97,61 @@ "entry_at": "2026-07-22T14:18:05.454214+09:00", "stop": 11077, "target": 18460, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2181352.5763444137, "last_add_price": 14030 }, - "095610": { - "code": "095610", - "name": "테스", + "078930": { + "code": "078930", + "name": "GS", "sources": [ "auto" ], - "qty": 12, - "entry_price": 158100, - "entry_at": "2026-07-22T15:04:01.026351+09:00", - "stop": 120314, - "target": 214778, - "peak": 158200, + "qty": 84, + "entry_price": 89517.85714285714, + "entry_at": "2026-07-23T09:50:01.544323+09:00", + "stop": 78539, + "target": 105987, + "peak": 94700, "trailing_on": false, "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3814573.88062613, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 189, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.515088+09:00", + "stop": 11706, + "target": 17791, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, "tranches": 1, - "tranche_value": 1916404.3878682526, - "last_add_price": 158100 + "tranche_value": 2674635.2051584437, + "last_add_price": 14140 } }, - "realized_pnl": -8441297.51800001, - "closed_trades": 19, + "realized_pnl": -8630674.033000011, + "closed_trades": 21, "wins": 2, "peak_equity": 101140808.32700005, "max_drawdown": 0.10055654354291904, @@ -161,14 +161,14 @@ "010120": "2026-06-25", "298040": "2026-06-26", "403870": "2026-07-07", - "095610": "2026-07-16", + "095610": "2026-07-23", "093370": "2026-07-20", "240810": "2026-07-08", "214450": "2026-07-06", "034730": "2026-07-07", - "003490": "2026-07-09", + "003490": "2026-07-23", "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.583318+09:00", - "updated_at": "2026-07-22T15:28:00.943392+09:00" + "updated_at": "2026-07-23T15:28:01.435811+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v211/trades.jsonl b/agents/stock/workspace/state/sim/variants/v211/trades.jsonl index bb5fff4..529ff20 100644 --- a/agents/stock/workspace/state/sim/variants/v211/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v211/trades.jsonl @@ -57,3 +57,8 @@ {"ts": "2026-07-21T14:20:02.215120+09:00", "side": "BUY", "code": "003490", "name": "대한항공", "price": 25350, "qty": 226, "cost": 5729959, "path": "pullback", "reason": "눌림목 지정가 25,328 도달", "stop": 23650, "target": 27900, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "25,300 vs 25,185"}, {"label": "정배열(5>10)", "ok": true, "detail": "25,400 / 25,185"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "25,400 / 25,157"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+18.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +524 · 기 +141 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.9/5"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.44% (환산) vs 평균 0.58% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 28,400"}, {"label": "거래량 급증", "ok": false, "detail": "1,611,169 (환산) vs 평균 2,146,231"}, {"label": "회전율 급증", "ok": false, "detail": "0.44% (환산) vs 평균 0.58%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 25,328 (현재 25,300)"}]} {"ts": "2026-07-22T14:18:05.454215+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 155, "cost": 2174976, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 18460, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,020 vs 12,975"}, {"label": "정배열(5>10)", "ok": true, "detail": "14,552 / 12,975"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} {"ts": "2026-07-22T15:04:01.026352+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 12, "cost": 1897485, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 120314, "target": 214778, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "158,000 vs 153,380"}, {"label": "정배열(5>10)", "ok": true, "detail": "172,240 / 153,380"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} +{"ts": "2026-07-23T09:00:26.315380+09:00", "side": "SELL", "code": "003490", "name": "대한항공", "price": 24900, "qty": 226, "proceeds": 5616427, "entry_price": 25350, "pnl": -113533, "pnl_pct": -1.78, "hold_from": "2026-07-21T14:20:02.215118+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "23,650 (현재 24,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 27,900"}, {"label": "추세(10일선)", "ok": false, "detail": "25,145"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -381 · 기 -427"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 25,990"}]} +{"ts": "2026-07-23T09:50:01.544324+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 43, "cost": 3793169, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77564, "target": 104155, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,200 vs 80,900"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,000 / 80,900"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:24:01.532818+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 152100, "qty": 12, "proceeds": 1821641, "entry_price": 158100, "pnl": -75844, "pnl_pct": -3.8, "hold_from": "2026-07-22T15:04:01.026351+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "120,314 (현재 152,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 214,778"}, {"label": "추세(10일선)", "ok": false, "detail": "152,780"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -101 · 기 -107"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,575"}]} +{"ts": "2026-07-23T10:30:02.515089+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 189, "cost": 2672861, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 17791, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:54:04.526176+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 41, "cost": 3727459, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77564, "target": 104155, "signals": [{"label": "손절선", "ok": true, "detail": "77,564 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 104,155"}, {"label": "추세(10일선)", "ok": true, "detail": "81,180"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v213/portfolio.json b/agents/stock/workspace/state/sim/variants/v213/portfolio.json index f5423f3..5c62304 100644 --- a/agents/stock/workspace/state/sim/variants/v213/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v213/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 59170289.1985, + "cash": 33314946.248500004, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:36:03.490473+09:00", "stop": 122793, "target": 157570, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5164908.463247621, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1900904.0747925004, "last_add_price": 139100 @@ -50,20 +50,20 @@ "sources": [ "auto" ], - "qty": 14, - "entry_price": 344500, + "qty": 28, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.202637+09:00", - "stop": 313808, - "target": 405884, - "peak": 346000, + "stop": 318647, + "target": 413456, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 5038910.050638685, - "last_add_price": 344500 + "last_add_price": 356000 }, "161890": { "code": "161890", @@ -71,20 +71,20 @@ "sources": [ "auto" ], - "qty": 56, - "entry_price": 99200, + "qty": 110, + "entry_price": 101114.54545454546, "entry_at": "2026-07-22T09:04:01.849191+09:00", "stop": 92100, - "target": 113400, - "peak": 101700, + "target": 119144, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5640212.3774375, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -97,12 +97,12 @@ "entry_at": "2026-07-22T14:18:05.455954+09:00", "stop": 11815, "target": 18460, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2804743.751868104, "last_add_price": 14030 @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T15:04:01.028111+09:00", "stop": 129761, "target": 214778, - "peak": 158200, + "peak": 167200, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 1, "tranche_value": 2466171.5710514397, "last_add_price": 158100 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 294, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.320034+09:00", + "stop": 17760, + "target": 21030, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 20,001 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5547046.28428125, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 108, + "entry_price": 89525.0, + "entry_at": "2026-07-23T09:50:01.546094+09:00", + "stop": 81291, + "target": 105994, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 4907020.835552651, + "last_add_price": 90900 } }, - "realized_pnl": -11369022.361000016, - "closed_trades": 30, + "realized_pnl": -11458501.011000017, + "closed_trades": 31, "wins": 4, "peak_equity": 101501376.42350003, "max_drawdown": 0.13934286891330708, @@ -145,9 +187,9 @@ "009150": "2026-07-06", "034730": "2026-07-08", "214450": "2026-07-03", - "319660": "2026-07-22", + "319660": "2026-07-23", "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.583333+09:00", - "updated_at": "2026-07-22T15:28:00.945047+09:00" + "updated_at": "2026-07-23T15:28:01.437467+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v213/trades.jsonl b/agents/stock/workspace/state/sim/variants/v213/trades.jsonl index 7dd70cb..f12f877 100644 --- a/agents/stock/workspace/state/sim/variants/v213/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v213/trades.jsonl @@ -83,3 +83,10 @@ {"ts": "2026-07-22T12:12:00.769867+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 64, "proceeds": 10047569, "entry_price": 172134, "pnl": -970684, "pnl_pct": -8.62, "hold_from": "2026-07-21T10:12:01.076723+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 200,403"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.455955+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 199, "cost": 2792389, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11815, "target": 18460, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} {"ts": "2026-07-22T15:04:01.028112+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 15, "cost": 2371856, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 129761, "target": 214778, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,000 vs 136,315"}, {"label": "정배열(5>20)", "ok": true, "detail": "172,240 / 136,315"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} +{"ts": "2026-07-23T09:00:26.415466+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 34, "cost": 5444217, "path": "pullback", "reason": "눌림목 지정가 169,062 도달", "stop": 158000, "target": 164300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 169,062 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.442947+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 34, "proceeds": 5354738, "entry_price": 160100, "pnl": -89479, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:26.415460+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.320036+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 294, "cost": 5542731, "path": "pullback", "reason": "눌림목 지정가 20,001 도달", "stop": 17760, "target": 21030, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 20,001 (현재 18,850)"}]} +{"ts": "2026-07-23T09:50:01.546095+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 55, "cost": 4851728, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80223, "target": 104155, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,200 vs 75,070"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,000 / 75,070"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T12:18:01.575527+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 54, "cost": 5568235, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 113400, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,400"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} +{"ts": "2026-07-23T12:22:02.626897+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 14, "cost": 4984748, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 313808, "target": 405884, "signals": [{"label": "손절선", "ok": true, "detail": "313,808 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 405,884"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T12:54:04.527916+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 53, "cost": 4818423, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 80223, "target": 104155, "signals": [{"label": "손절선", "ok": true, "detail": "80,223 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 104,155"}, {"label": "추세(20일선)", "ok": true, "detail": "75,210"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v215/portfolio.json b/agents/stock/workspace/state/sim/variants/v215/portfolio.json index 92746fb..2f3dc87 100644 --- a/agents/stock/workspace/state/sim/variants/v215/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v215/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 48192897.46600003, + "cash": 37638422.02600002, "initial": 100000000, "positions": { "086790": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 122,215 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 5572324.860088777, "last_add_price": 126200 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:36:03.492141+09:00", "stop": 122826, "target": 157603, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5242158.578984787, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1892242.1783291898, "last_add_price": 139100 @@ -71,41 +71,20 @@ "sources": [ "auto" ], - "qty": 14, - "entry_price": 344500, + "qty": 28, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.204321+09:00", - "stop": 313808, - "target": 405884, - "peak": 346000, + "stop": 318647, + "target": 413456, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 5033450.427529937, - "last_add_price": 344500 - }, - "003490": { - "code": "003490", - "name": "대한항공", - "sources": [ - "auto" - ], - "qty": 220, - "entry_price": 25350, - "entry_at": "2026-07-21T14:20:02.218495+09:00", - "stop": 23650, - "target": 28750, - "peak": 25850, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 25,328 도달", - "cur_price": 25000, - "tranches": 1, - "tranche_value": 5595558.921593752, - "last_add_price": 25350 + "last_add_price": 356000 }, "252990": { "code": "252990", @@ -118,40 +97,61 @@ "entry_at": "2026-07-22T14:18:05.457812+09:00", "stop": 11815, "target": 18460, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2832410.166868771, "last_add_price": 14030 }, - "095610": { - "code": "095610", - "name": "테스", + "078930": { + "code": "078930", + "name": "GS", "sources": [ "auto" ], - "qty": 15, - "entry_price": 158100, - "entry_at": "2026-07-22T15:04:01.030035+09:00", - "stop": 129761, - "target": 214778, - "peak": 158200, + "qty": 110, + "entry_price": 89525.45454545454, + "entry_at": "2026-07-23T09:50:01.547830+09:00", + "stop": 81291, + "target": 105994, + "peak": 94700, "trailing_on": false, "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 4951509.819030465, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 245, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.518471+09:00", + "stop": 12315, + "target": 17791, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, "tranches": 1, - "tranche_value": 2489244.393150271, - "last_add_price": 158100 + "tranche_value": 3472660.2483083294, + "last_add_price": 14140 } }, - "realized_pnl": -11232387.239500016, - "closed_trades": 25, + "realized_pnl": -11437710.539500017, + "closed_trades": 27, "wins": 2, "peak_equity": 101258161.16350003, "max_drawdown": 0.12309824464295209, @@ -161,8 +161,8 @@ "403870": "2026-07-02", "010120": "2026-06-25", "298040": "2026-06-26", - "095610": "2026-07-16", - "003490": "2026-07-07", + "095610": "2026-07-23", + "003490": "2026-07-23", "093370": "2026-07-20", "240810": "2026-07-08", "034730": "2026-07-03", @@ -170,5 +170,5 @@ "105560": "2026-07-20" }, "created_at": "2026-06-15T14:55:00.583347+09:00", - "updated_at": "2026-07-22T15:28:00.946669+09:00" + "updated_at": "2026-07-23T15:28:01.439145+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v215/trades.jsonl b/agents/stock/workspace/state/sim/variants/v215/trades.jsonl index 10f2d5d..b5819c8 100644 --- a/agents/stock/workspace/state/sim/variants/v215/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v215/trades.jsonl @@ -70,3 +70,9 @@ {"ts": "2026-07-21T14:20:02.218497+09:00", "side": "BUY", "code": "003490", "name": "대한항공", "price": 25350, "qty": 220, "cost": 5577837, "path": "pullback", "reason": "눌림목 지정가 25,328 도달", "stop": 23650, "target": 28750, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "25,300 vs 25,185"}, {"label": "정배열(5>10)", "ok": true, "detail": "25,400 / 25,185"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "25,400 / 25,157"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+18.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +524 · 기 +141 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.9/5"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.44% (환산) vs 평균 0.58% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 28,400"}, {"label": "거래량 급증", "ok": false, "detail": "1,611,169 (환산) vs 평균 2,146,231"}, {"label": "회전율 급증", "ok": false, "detail": "0.44% (환산) vs 평균 0.58%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 25,328 (현재 25,300)"}]} {"ts": "2026-07-22T14:18:05.457813+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 201, "cost": 2820453, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11815, "target": 18460, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,020 vs 12,975"}, {"label": "정배열(5>10)", "ok": true, "detail": "14,552 / 12,975"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} {"ts": "2026-07-22T15:04:01.030036+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 15, "cost": 2371856, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 129761, "target": 214778, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "158,000 vs 153,380"}, {"label": "정배열(5>10)", "ok": true, "detail": "172,240 / 153,380"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} +{"ts": "2026-07-23T09:00:26.518123+09:00", "side": "SELL", "code": "003490", "name": "대한항공", "price": 24900, "qty": 220, "proceeds": 5467318, "entry_price": 25350, "pnl": -110519, "pnl_pct": -1.78, "hold_from": "2026-07-21T14:20:02.218495+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "23,650 (현재 24,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 28,750"}, {"label": "추세(10일선)", "ok": false, "detail": "25,145"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -381 · 기 -427"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 25,990"}]} +{"ts": "2026-07-23T09:50:01.547831+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 56, "cost": 4939941, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80223, "target": 104155, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,200 vs 80,900"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,000 / 80,900"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:24:01.536237+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 152100, "qty": 15, "proceeds": 2277051, "entry_price": 158100, "pnl": -94805, "pnl_pct": -3.8, "hold_from": "2026-07-22T15:04:01.030035+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "129,761 (현재 152,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 214,778"}, {"label": "추세(10일선)", "ok": false, "detail": "152,780"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -101 · 기 -107"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,575"}]} +{"ts": "2026-07-23T10:30:02.518473+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 245, "cost": 3464820, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 12315, "target": 17791, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.628643+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 14, "cost": 4984748, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 313808, "target": 405884, "signals": [{"label": "손절선", "ok": true, "detail": "313,808 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 405,884"}, {"label": "추세(10일선)", "ok": true, "detail": "306,950"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T12:54:04.529654+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 54, "cost": 4909336, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 80223, "target": 104155, "signals": [{"label": "손절선", "ok": true, "detail": "80,223 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 104,155"}, {"label": "추세(10일선)", "ok": true, "detail": "81,180"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v217/portfolio.json b/agents/stock/workspace/state/sim/variants/v217/portfolio.json index 13c4e2b..1e59014 100644 --- a/agents/stock/workspace/state/sim/variants/v217/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v217/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53561575.733, + "cash": 37603866.65300002, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1797744.31883954, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.598088+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4019229.444473994, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4444963.71074213, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1786456.904035452, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.209787+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3627364.7637924887, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:04:01.779224+09:00", "stop": 604000, "target": 784000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5382901.926437501, "last_add_price": 649000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:28.490571+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5318546.045812501, + "last_add_price": 351500 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 77, + "entry_price": 91179.22077922078, + "entry_at": "2026-07-23T10:44:02.863253+09:00", + "stop": 79957, + "target": 124846, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3559940.05276684, + "last_add_price": 92800 } }, - "realized_pnl": -14207490.352000035, - "closed_trades": 62, + "realized_pnl": -14309521.437000036, + "closed_trades": 67, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.1495392426699999, @@ -143,21 +185,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:40:00.621011+09:00", - "updated_at": "2026-07-22T15:28:00.954282+09:00" + "updated_at": "2026-07-23T15:28:01.446769+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v217/trades.jsonl b/agents/stock/workspace/state/sim/variants/v217/trades.jsonl index ed8f0cc..9267496 100644 --- a/agents/stock/workspace/state/sim/variants/v217/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v217/trades.jsonl @@ -142,3 +142,17 @@ {"ts": "2026-07-22T14:40:01.264975+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.203329+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.786519+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.839007+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.786518+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:27.524776+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:28.490586+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:04.792058+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:27.524767+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.187511+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.356877+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.187493+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.779591+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:06.801106+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.779585+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.099769+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.366386+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.099750+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.785300+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:02.439144+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.785279+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:02.863270+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 89600, "qty": 39, "cost": 3494924, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 78792, "target": 122024, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "89,600 vs 75,082"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -181 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+15%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.94% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "871,257 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.94% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]} +{"ts": "2026-07-23T12:22:02.634720+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T13:42:05.646102+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92800, "qty": 38, "cost": 3526929, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 78792, "target": 122024, "signals": [{"label": "손절선", "ok": true, "detail": "78,792 (현재 92,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,024"}, {"label": "추세(60일선)", "ok": true, "detail": "75,133"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,406"}]} diff --git a/agents/stock/workspace/state/sim/variants/v218/portfolio.json b/agents/stock/workspace/state/sim/variants/v218/portfolio.json index f0aea7d..81cf284 100644 --- a/agents/stock/workspace/state/sim/variants/v218/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v218/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53609582.933000006, + "cash": 42193605.01050002, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1797744.31883954, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.604940+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4019229.444473994, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4444963.71074213, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1786456.904035452, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.213387+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3627364.7637924887, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:04.494054+09:00", "stop": 604000, "target": 760000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5384498.801437501, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:35.616869+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5321546.4958125, + "last_add_price": 351500 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 175, + "entry_price": 14170, + "entry_at": "2026-07-23T10:44:03.280658+09:00", + "stop": 11720, + "target": 21519, + "peak": 14210, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2485000.446913082, + "last_add_price": 14170 } }, - "realized_pnl": -14207490.352000035, - "closed_trades": 62, + "realized_pnl": -14309521.437000036, + "closed_trades": 67, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.14905917067000002, @@ -143,21 +185,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:55:00.583395+09:00", - "updated_at": "2026-07-22T15:28:00.956074+09:00" + "updated_at": "2026-07-23T15:28:01.448572+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v218/trades.jsonl b/agents/stock/workspace/state/sim/variants/v218/trades.jsonl index ba58d4e..8f9b596 100644 --- a/agents/stock/workspace/state/sim/variants/v218/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v218/trades.jsonl @@ -142,3 +142,16 @@ {"ts": "2026-07-22T14:40:01.285420+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.221741+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.790712+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.843088+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.790711+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:35.615928+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:35.616874+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:05.212116+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:35.615920+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.212697+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.800326+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.212694+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.800851+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.224642+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.800848+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.409030+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.804361+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.409020+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.804979+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:02.875524+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.804975+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.280677+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14170, "qty": 175, "cost": 2480122, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11720, "target": 21519, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "14,170 vs 12,686"}, {"label": "정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "88.34% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "13,251,629 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "88.34% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.638317+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v223/portfolio.json b/agents/stock/workspace/state/sim/variants/v223/portfolio.json index 326c5a7..835e799 100644 --- a/agents/stock/workspace/state/sim/variants/v223/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v223/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53547326.61799998, + "cash": 37589617.537999995, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1796390.6144710162, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.609794+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4016046.033999526, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4441360.270202171, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1785074.3957384636, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.215189+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3624744.3180141365, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:04.768256+09:00", "stop": 604000, "target": 760000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5380607.781749999, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:35.720579+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5317655.476124998, + "last_add_price": 351500 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 77, + "entry_price": 91179.22077922078, + "entry_at": "2026-07-23T10:44:03.295983+09:00", + "stop": 79957, + "target": 124846, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3559349.4158756477, + "last_add_price": 92800 } }, - "realized_pnl": -14269746.667000033, - "closed_trades": 63, + "realized_pnl": -14371777.752000034, + "closed_trades": 68, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.1496817338200003, @@ -144,21 +186,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:40:00.621059+09:00", - "updated_at": "2026-07-22T15:28:00.957824+09:00" + "updated_at": "2026-07-23T15:28:01.450334+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v223/trades.jsonl b/agents/stock/workspace/state/sim/variants/v223/trades.jsonl index b41459e..fc23c81 100644 --- a/agents/stock/workspace/state/sim/variants/v223/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v223/trades.jsonl @@ -144,3 +144,17 @@ {"ts": "2026-07-22T14:40:01.292480+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.228156+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.792832+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.845129+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.792831+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:35.718674+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:35.720585+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:05.218518+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:35.718667+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.218870+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.806339+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.218867+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.806577+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.477868+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.806574+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.479165+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.810744+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.479161+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.811196+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.294206+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.811193+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.295988+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 89600, "qty": 39, "cost": 3494924, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 78792, "target": 122024, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "89,600 vs 75,082"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -181 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+15%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.94% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "871,257 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.94% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]} +{"ts": "2026-07-23T12:22:02.640178+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T13:42:05.650484+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92800, "qty": 38, "cost": 3526929, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 78792, "target": 122024, "signals": [{"label": "손절선", "ok": true, "detail": "78,792 (현재 92,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,024"}, {"label": "추세(60일선)", "ok": true, "detail": "75,133"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,406"}]} diff --git a/agents/stock/workspace/state/sim/variants/v224/portfolio.json b/agents/stock/workspace/state/sim/variants/v224/portfolio.json index ab8c5ac..c216308 100644 --- a/agents/stock/workspace/state/sim/variants/v224/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v224/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53547326.61799998, + "cash": 42131348.695499994, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1796390.6144710162, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.613925+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4016046.033999526, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4441360.270202171, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1785074.3957384636, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.216956+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3624744.3180141365, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:04.776807+09:00", "stop": 604000, "target": 760000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5380607.781749999, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:35.823102+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5317655.476124998, + "last_add_price": 351500 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 175, + "entry_price": 14170, + "entry_at": "2026-07-23T10:44:03.304070+09:00", + "stop": 11720, + "target": 21519, + "peak": 14210, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2483200.0959262447, + "last_add_price": 14170 } }, - "realized_pnl": -14269746.667000033, - "closed_trades": 63, + "realized_pnl": -14371777.752000034, + "closed_trades": 68, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.1496817338200003, @@ -144,21 +186,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:55:00.583512+09:00", - "updated_at": "2026-07-22T15:28:00.959585+09:00" + "updated_at": "2026-07-23T15:28:01.452111+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v224/trades.jsonl b/agents/stock/workspace/state/sim/variants/v224/trades.jsonl index b2b87b3..8413102 100644 --- a/agents/stock/workspace/state/sim/variants/v224/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v224/trades.jsonl @@ -144,3 +144,16 @@ {"ts": "2026-07-22T14:40:01.298844+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.233795+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.794885+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.847153+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.794884+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:35.821899+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:35.823110+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:05.223314+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:35.821888+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.223642+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.809893+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.223639+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.810068+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.485455+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.810066+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.486176+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.817321+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.486173+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.817923+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.302788+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.817920+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.304074+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14170, "qty": 175, "cost": 2480122, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11720, "target": 21519, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "14,170 vs 12,686"}, {"label": "정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "88.34% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "13,251,629 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "88.34% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.642029+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v229/portfolio.json b/agents/stock/workspace/state/sim/variants/v229/portfolio.json index b577294..bf37037 100644 --- a/agents/stock/workspace/state/sim/variants/v229/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v229/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53547326.61799998, + "cash": 37589617.537999995, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1796390.6144710162, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.617956+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4016046.033999526, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4441360.270202171, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1785074.3957384636, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.218730+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3624744.3180141365, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:04.783089+09:00", "stop": 604000, "target": 760000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5380607.781749999, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:35.927016+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5317655.476124998, + "last_add_price": 351500 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 77, + "entry_price": 91179.22077922078, + "entry_at": "2026-07-23T10:44:03.310812+09:00", + "stop": 79957, + "target": 124846, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3559349.4158756477, + "last_add_price": 92800 } }, - "realized_pnl": -14269746.667000033, - "closed_trades": 63, + "realized_pnl": -14371777.752000034, + "closed_trades": 68, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.1496817338200003, @@ -144,21 +186,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:40:00.621103+09:00", - "updated_at": "2026-07-22T15:28:00.961316+09:00" + "updated_at": "2026-07-23T15:28:01.453867+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v229/trades.jsonl b/agents/stock/workspace/state/sim/variants/v229/trades.jsonl index bf95d7b..49f65e5 100644 --- a/agents/stock/workspace/state/sim/variants/v229/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v229/trades.jsonl @@ -144,3 +144,17 @@ {"ts": "2026-07-22T14:40:01.304326+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.238573+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.796872+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.849055+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.796871+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:35.924797+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:35.927026+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:05.227861+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:35.924787+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.228125+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.813411+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.228123+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.813656+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.491061+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.813653+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.491709+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.822747+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.491706+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.823038+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.309582+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.823035+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.310816+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 89600, "qty": 39, "cost": 3494924, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 78792, "target": 122024, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "89,600 vs 75,082"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -181 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+15%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.94% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "871,257 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.94% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]} +{"ts": "2026-07-23T12:22:02.643876+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T13:42:05.654497+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92800, "qty": 38, "cost": 3526929, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 78792, "target": 122024, "signals": [{"label": "손절선", "ok": true, "detail": "78,792 (현재 92,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,024"}, {"label": "추세(60일선)", "ok": true, "detail": "75,133"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,406"}]} diff --git a/agents/stock/workspace/state/sim/variants/v230/portfolio.json b/agents/stock/workspace/state/sim/variants/v230/portfolio.json index ab431b5..76413e7 100644 --- a/agents/stock/workspace/state/sim/variants/v230/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v230/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53547326.61799998, + "cash": 42131348.695499994, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1796390.6144710162, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.621641+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4016046.033999526, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4441360.270202171, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1785074.3957384636, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.220511+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3624744.3180141365, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:04.788365+09:00", "stop": 604000, "target": 760000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5380607.781749999, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:36.034509+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5317655.476124998, + "last_add_price": 351500 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 175, + "entry_price": 14170, + "entry_at": "2026-07-23T10:44:03.316911+09:00", + "stop": 11720, + "target": 21519, + "peak": 14210, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2483200.0959262447, + "last_add_price": 14170 } }, - "realized_pnl": -14269746.667000033, - "closed_trades": 63, + "realized_pnl": -14371777.752000034, + "closed_trades": 68, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.1496817338200003, @@ -144,21 +186,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:55:00.583628+09:00", - "updated_at": "2026-07-22T15:28:00.963073+09:00" + "updated_at": "2026-07-23T15:28:01.455643+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v230/trades.jsonl b/agents/stock/workspace/state/sim/variants/v230/trades.jsonl index 00a4eba..05b69f4 100644 --- a/agents/stock/workspace/state/sim/variants/v230/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v230/trades.jsonl @@ -144,3 +144,16 @@ {"ts": "2026-07-22T14:40:01.308724+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.242875+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.798843+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.850901+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.798842+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:36.033524+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:36.034515+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:05.231811+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:36.033517+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.232053+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.818143+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.232051+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.818340+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.497371+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.818338+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.497901+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.827273+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.497898+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.827683+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.316060+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.827681+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.316915+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14170, "qty": 175, "cost": 2480122, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11720, "target": 21519, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "14,170 vs 12,686"}, {"label": "정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "88.34% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "13,251,629 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "88.34% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.645701+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v235/portfolio.json b/agents/stock/workspace/state/sim/variants/v235/portfolio.json index 394c8d6..ee8020c 100644 --- a/agents/stock/workspace/state/sim/variants/v235/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v235/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53547326.61799998, + "cash": 37589617.537999995, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1796390.6144710162, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.625003+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4016046.033999526, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4441360.270202171, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1785074.3957384636, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.222302+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3624744.3180141365, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:04.793177+09:00", "stop": 604000, "target": 760000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5380607.781749999, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:36.137669+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5317655.476124998, + "last_add_price": 351500 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 77, + "entry_price": 91179.22077922078, + "entry_at": "2026-07-23T10:44:03.323082+09:00", + "stop": 79957, + "target": 124846, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3559349.4158756477, + "last_add_price": 92800 } }, - "realized_pnl": -14269746.667000033, - "closed_trades": 63, + "realized_pnl": -14371777.752000034, + "closed_trades": 68, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.1496817338200003, @@ -144,21 +186,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:40:00.621148+09:00", - "updated_at": "2026-07-22T15:28:00.964810+09:00" + "updated_at": "2026-07-23T15:28:01.457398+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v235/trades.jsonl b/agents/stock/workspace/state/sim/variants/v235/trades.jsonl index c6ef9d0..df25201 100644 --- a/agents/stock/workspace/state/sim/variants/v235/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v235/trades.jsonl @@ -144,3 +144,17 @@ {"ts": "2026-07-22T14:40:01.312751+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.247036+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.800678+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.852745+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.800677+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:36.135703+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:36.137676+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:05.235426+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:36.135696+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.235650+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.821930+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.235648+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.822095+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.502174+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.822093+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.502569+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.831591+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.502566+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.831825+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.322200+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.831822+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.323086+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 89600, "qty": 39, "cost": 3494924, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 78792, "target": 122024, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "89,600 vs 75,082"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -181 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+15%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.94% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "871,257 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.94% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]} +{"ts": "2026-07-23T12:22:02.647547+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T13:42:05.658337+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92800, "qty": 38, "cost": 3526929, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 78792, "target": 122024, "signals": [{"label": "손절선", "ok": true, "detail": "78,792 (현재 92,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,024"}, {"label": "추세(60일선)", "ok": true, "detail": "75,133"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,406"}]} diff --git a/agents/stock/workspace/state/sim/variants/v236/portfolio.json b/agents/stock/workspace/state/sim/variants/v236/portfolio.json index c1a5693..1dd5ee3 100644 --- a/agents/stock/workspace/state/sim/variants/v236/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v236/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53547326.61799998, + "cash": 42131348.695499994, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1796390.6144710162, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.628145+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4016046.033999526, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4441360.270202171, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1785074.3957384636, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.224085+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3624744.3180141365, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:04.797452+09:00", "stop": 604000, "target": 760000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5380607.781749999, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:36.246003+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5317655.476124998, + "last_add_price": 351500 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 175, + "entry_price": 14170, + "entry_at": "2026-07-23T10:44:03.328083+09:00", + "stop": 11720, + "target": 21519, + "peak": 14210, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2483200.0959262447, + "last_add_price": 14170 } }, - "realized_pnl": -14269746.667000033, - "closed_trades": 63, + "realized_pnl": -14371777.752000034, + "closed_trades": 68, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.1496817338200003, @@ -144,21 +186,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:55:00.583751+09:00", - "updated_at": "2026-07-22T15:28:00.966570+09:00" + "updated_at": "2026-07-23T15:28:01.459172+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v236/trades.jsonl b/agents/stock/workspace/state/sim/variants/v236/trades.jsonl index ac9e59f..80d4eb2 100644 --- a/agents/stock/workspace/state/sim/variants/v236/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v236/trades.jsonl @@ -144,3 +144,16 @@ {"ts": "2026-07-22T14:40:01.316666+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.250836+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.802508+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.854597+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.802507+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:36.243792+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:36.246012+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:05.238984+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:36.243782+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.239220+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.825490+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.239218+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.825675+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.506229+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.825673+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.506632+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.835522+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.506630+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.835921+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.327389+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.835919+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.328086+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14170, "qty": 175, "cost": 2480122, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11720, "target": 21519, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "14,170 vs 12,686"}, {"label": "정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "88.34% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "13,251,629 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "88.34% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.649368+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v265/portfolio.json b/agents/stock/workspace/state/sim/variants/v265/portfolio.json index 5303352..ff5e905 100644 --- a/agents/stock/workspace/state/sim/variants/v265/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v265/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53547326.61799998, + "cash": 37589617.537999995, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1796390.6144710162, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.631281+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4016046.033999526, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4441360.270202171, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1785074.3957384636, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.225869+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3624744.3180141365, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:04.801605+09:00", "stop": 604000, "target": 760000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5380607.781749999, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:36.356536+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5317655.476124998, + "last_add_price": 351500 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 77, + "entry_price": 91179.22077922078, + "entry_at": "2026-07-23T10:44:03.333068+09:00", + "stop": 79957, + "target": 124846, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3559349.4158756477, + "last_add_price": 92800 } }, - "realized_pnl": -14269746.667000033, - "closed_trades": 63, + "realized_pnl": -14371777.752000034, + "closed_trades": 68, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.1496817338200003, @@ -144,21 +186,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:40:00.621367+09:00", - "updated_at": "2026-07-22T15:28:00.968309+09:00" + "updated_at": "2026-07-23T15:28:01.460926+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v265/trades.jsonl b/agents/stock/workspace/state/sim/variants/v265/trades.jsonl index 73e6f31..8760e88 100644 --- a/agents/stock/workspace/state/sim/variants/v265/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v265/trades.jsonl @@ -144,3 +144,17 @@ {"ts": "2026-07-22T14:40:01.320191+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.254345+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.804320+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.856440+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.804319+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:36.354380+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:36.356541+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:05.242325+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:36.354370+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.242554+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.829084+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.242552+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.829253+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.510342+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.829251+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.510709+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.839346+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.510706+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.839543+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.332365+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.839541+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.333071+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 89600, "qty": 39, "cost": 3494924, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 78792, "target": 122024, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "89,600 vs 75,082"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -181 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+15%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.94% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "871,257 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.94% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]} +{"ts": "2026-07-23T12:22:02.651236+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T13:42:05.661984+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92800, "qty": 38, "cost": 3526929, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 78792, "target": 122024, "signals": [{"label": "손절선", "ok": true, "detail": "78,792 (현재 92,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,024"}, {"label": "추세(60일선)", "ok": true, "detail": "75,133"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,406"}]} diff --git a/agents/stock/workspace/state/sim/variants/v266/portfolio.json b/agents/stock/workspace/state/sim/variants/v266/portfolio.json index d1b910c..3a9520e 100644 --- a/agents/stock/workspace/state/sim/variants/v266/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v266/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53547326.61799998, + "cash": 42131348.695499994, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1796390.6144710162, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.634235+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4016046.033999526, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4441360.270202171, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1785074.3957384636, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.227631+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3624744.3180141365, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:04.805429+09:00", "stop": 604000, "target": 760000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5380607.781749999, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:36.460977+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5317655.476124998, + "last_add_price": 351500 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 175, + "entry_price": 14170, + "entry_at": "2026-07-23T10:44:03.337272+09:00", + "stop": 11720, + "target": 21519, + "peak": 14210, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2483200.0959262447, + "last_add_price": 14170 } }, - "realized_pnl": -14269746.667000033, - "closed_trades": 63, + "realized_pnl": -14371777.752000034, + "closed_trades": 68, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.1496817338200003, @@ -144,21 +186,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:55:00.584337+09:00", - "updated_at": "2026-07-22T15:28:00.970056+09:00" + "updated_at": "2026-07-23T15:28:01.462742+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v266/trades.jsonl b/agents/stock/workspace/state/sim/variants/v266/trades.jsonl index 9ed61cd..13f6922 100644 --- a/agents/stock/workspace/state/sim/variants/v266/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v266/trades.jsonl @@ -144,3 +144,16 @@ {"ts": "2026-07-22T14:40:01.323381+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.257622+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.806141+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.858270+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.806140+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:36.460150+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:36.460982+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:05.245427+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:36.460144+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.245617+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.832513+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.245615+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.832660+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.514003+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.832658+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.514366+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.842928+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.514364+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.843318+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.336656+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.843316+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.337275+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14170, "qty": 175, "cost": 2480122, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11720, "target": 21519, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "14,170 vs 12,686"}, {"label": "정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "88.34% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "13,251,629 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "88.34% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.653077+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v271/portfolio.json b/agents/stock/workspace/state/sim/variants/v271/portfolio.json index 102d815..030d039 100644 --- a/agents/stock/workspace/state/sim/variants/v271/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v271/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53547326.61799998, + "cash": 37589617.537999995, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1796390.6144710162, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.637074+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4016046.033999526, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4441360.270202171, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1785074.3957384636, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.229400+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3624744.3180141365, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:04.808926+09:00", "stop": 604000, "target": 760000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5380607.781749999, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:36.564684+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5317655.476124998, + "last_add_price": 351500 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 77, + "entry_price": 91179.22077922078, + "entry_at": "2026-07-23T10:44:03.341660+09:00", + "stop": 79957, + "target": 124846, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3559349.4158756477, + "last_add_price": 92800 } }, - "realized_pnl": -14269746.667000033, - "closed_trades": 63, + "realized_pnl": -14371777.752000034, + "closed_trades": 68, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.1496817338200003, @@ -144,21 +186,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:40:00.621411+09:00", - "updated_at": "2026-07-22T15:28:00.971848+09:00" + "updated_at": "2026-07-23T15:28:01.464511+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v271/trades.jsonl b/agents/stock/workspace/state/sim/variants/v271/trades.jsonl index ce0cfc3..1997cc6 100644 --- a/agents/stock/workspace/state/sim/variants/v271/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v271/trades.jsonl @@ -144,3 +144,17 @@ {"ts": "2026-07-22T14:40:01.326605+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.260882+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.807945+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.860084+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.807944+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:36.562687+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:36.564691+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:05.248351+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:36.562680+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.248544+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.835707+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.248542+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.835854+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.517641+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.835852+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.518010+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.846440+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.518008+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.846644+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.340937+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.846642+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.341662+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 89600, "qty": 39, "cost": 3494924, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 78792, "target": 122024, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "89,600 vs 75,082"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -181 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+15%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.94% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "871,257 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.94% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]} +{"ts": "2026-07-23T12:22:02.654965+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T13:42:05.665595+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92800, "qty": 38, "cost": 3526929, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 78792, "target": 122024, "signals": [{"label": "손절선", "ok": true, "detail": "78,792 (현재 92,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,024"}, {"label": "추세(60일선)", "ok": true, "detail": "75,133"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,406"}]} diff --git a/agents/stock/workspace/state/sim/variants/v272/portfolio.json b/agents/stock/workspace/state/sim/variants/v272/portfolio.json index 59b80a4..3e9d102 100644 --- a/agents/stock/workspace/state/sim/variants/v272/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v272/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53547326.61799998, + "cash": 42131348.695499994, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1796390.6144710162, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.639710+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4016046.033999526, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4441360.270202171, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1785074.3957384636, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.231187+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3624744.3180141365, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:04.812223+09:00", "stop": 604000, "target": 760000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5380607.781749999, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:36.669097+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5317655.476124998, + "last_add_price": 351500 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 175, + "entry_price": 14170, + "entry_at": "2026-07-23T10:44:03.346027+09:00", + "stop": 11720, + "target": 21519, + "peak": 14210, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2483200.0959262447, + "last_add_price": 14170 } }, - "realized_pnl": -14269746.667000033, - "closed_trades": 63, + "realized_pnl": -14371777.752000034, + "closed_trades": 68, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.1496817338200003, @@ -144,21 +186,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:55:00.584451+09:00", - "updated_at": "2026-07-22T15:28:00.973613+09:00" + "updated_at": "2026-07-23T15:28:01.466280+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v272/trades.jsonl b/agents/stock/workspace/state/sim/variants/v272/trades.jsonl index 1a45b1c..e50aa8f 100644 --- a/agents/stock/workspace/state/sim/variants/v272/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v272/trades.jsonl @@ -144,3 +144,16 @@ {"ts": "2026-07-22T14:40:01.329721+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.263920+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.809747+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.861908+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.809746+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:36.667842+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:36.669105+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:05.251263+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:36.667831+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.251454+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.838671+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.251452+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.838812+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.521070+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.838810+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.521384+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.849716+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.521382+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.850073+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.345191+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.850071+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.346030+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14170, "qty": 175, "cost": 2480122, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11720, "target": 21519, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "14,170 vs 12,686"}, {"label": "정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "88.34% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "13,251,629 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "88.34% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.656835+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v277/portfolio.json b/agents/stock/workspace/state/sim/variants/v277/portfolio.json index 5a11751..76bfb23 100644 --- a/agents/stock/workspace/state/sim/variants/v277/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v277/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53547326.61799998, + "cash": 37589617.537999995, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1796390.6144710162, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.642364+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4016046.033999526, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4441360.270202171, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1785074.3957384636, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.232986+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3624744.3180141365, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:04.815539+09:00", "stop": 604000, "target": 760000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5380607.781749999, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:36.774290+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5317655.476124998, + "last_add_price": 351500 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 77, + "entry_price": 91179.22077922078, + "entry_at": "2026-07-23T10:44:03.350271+09:00", + "stop": 79957, + "target": 124846, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3559349.4158756477, + "last_add_price": 92800 } }, - "realized_pnl": -14269746.667000033, - "closed_trades": 63, + "realized_pnl": -14371777.752000034, + "closed_trades": 68, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.1496817338200003, @@ -144,21 +186,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:40:00.621453+09:00", - "updated_at": "2026-07-22T15:28:00.975363+09:00" + "updated_at": "2026-07-23T15:28:01.468048+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v277/trades.jsonl b/agents/stock/workspace/state/sim/variants/v277/trades.jsonl index 512efb2..a87f897 100644 --- a/agents/stock/workspace/state/sim/variants/v277/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v277/trades.jsonl @@ -144,3 +144,17 @@ {"ts": "2026-07-22T14:40:01.332667+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.266861+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.811584+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.863776+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.811583+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:36.772155+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:36.774299+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:05.254118+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:36.772145+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.254295+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.841624+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.254293+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.841771+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.524218+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.841769+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.524495+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.852968+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.524493+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.853136+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.349662+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.853134+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.350273+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 89600, "qty": 39, "cost": 3494924, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 78792, "target": 122024, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "89,600 vs 75,082"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -181 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+15%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.94% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "871,257 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.94% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]} +{"ts": "2026-07-23T12:22:02.658677+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T13:42:05.669200+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92800, "qty": 38, "cost": 3526929, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 78792, "target": 122024, "signals": [{"label": "손절선", "ok": true, "detail": "78,792 (현재 92,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,024"}, {"label": "추세(60일선)", "ok": true, "detail": "75,133"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,406"}]} diff --git a/agents/stock/workspace/state/sim/variants/v278/portfolio.json b/agents/stock/workspace/state/sim/variants/v278/portfolio.json index 1b5398a..16ba47b 100644 --- a/agents/stock/workspace/state/sim/variants/v278/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v278/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53547326.61799998, + "cash": 42131348.695499994, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1796390.6144710162, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.644830+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4016046.033999526, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4441360.270202171, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1785074.3957384636, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.234767+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3624744.3180141365, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:04.818573+09:00", "stop": 604000, "target": 760000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5380607.781749999, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:36.882219+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5317655.476124998, + "last_add_price": 351500 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 175, + "entry_price": 14170, + "entry_at": "2026-07-23T10:44:03.353916+09:00", + "stop": 11720, + "target": 21519, + "peak": 14210, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2483200.0959262447, + "last_add_price": 14170 } }, - "realized_pnl": -14269746.667000033, - "closed_trades": 63, + "realized_pnl": -14371777.752000034, + "closed_trades": 68, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.1496817338200003, @@ -144,21 +186,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:55:00.584565+09:00", - "updated_at": "2026-07-22T15:28:00.977108+09:00" + "updated_at": "2026-07-23T15:28:01.469836+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v278/trades.jsonl b/agents/stock/workspace/state/sim/variants/v278/trades.jsonl index bb4295d..b63ee3b 100644 --- a/agents/stock/workspace/state/sim/variants/v278/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v278/trades.jsonl @@ -144,3 +144,16 @@ {"ts": "2026-07-22T14:40:01.335390+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.269624+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.813384+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.865599+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.813383+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:36.881397+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:36.882227+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:05.256832+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:36.881392+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.257009+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.844570+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.257008+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.844709+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.527134+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.844707+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.527410+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.855892+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.527408+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.856345+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.353387+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.856343+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.353918+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14170, "qty": 175, "cost": 2480122, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11720, "target": 21519, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "14,170 vs 12,686"}, {"label": "정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "88.34% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "13,251,629 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "88.34% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.660579+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v283/portfolio.json b/agents/stock/workspace/state/sim/variants/v283/portfolio.json index 149c191..7092272 100644 --- a/agents/stock/workspace/state/sim/variants/v283/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v283/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53547326.61799998, + "cash": 37589617.537999995, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1796390.6144710162, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.647351+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4016046.033999526, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4441360.270202171, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1785074.3957384636, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.236516+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3624744.3180141365, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:04.821495+09:00", "stop": 604000, "target": 760000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5380607.781749999, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:36.991333+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5317655.476124998, + "last_add_price": 351500 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 77, + "entry_price": 91179.22077922078, + "entry_at": "2026-07-23T10:44:03.357444+09:00", + "stop": 79957, + "target": 124846, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3559349.4158756477, + "last_add_price": 92800 } }, - "realized_pnl": -14269746.667000033, - "closed_trades": 63, + "realized_pnl": -14371777.752000034, + "closed_trades": 68, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.1496817338200003, @@ -144,21 +186,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:40:00.621497+09:00", - "updated_at": "2026-07-22T15:28:00.978851+09:00" + "updated_at": "2026-07-23T15:28:01.471593+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v283/trades.jsonl b/agents/stock/workspace/state/sim/variants/v283/trades.jsonl index 63eb6ad..c9479bd 100644 --- a/agents/stock/workspace/state/sim/variants/v283/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v283/trades.jsonl @@ -144,3 +144,17 @@ {"ts": "2026-07-22T14:40:01.338072+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.272273+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.815264+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.867436+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.815263+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:36.989190+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:36.991342+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:05.259388+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:36.989179+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.259561+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.847304+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.259559+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.847449+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.530039+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.847448+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.530320+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.858895+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.530318+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.859046+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.356884+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.859045+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.357446+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 89600, "qty": 39, "cost": 3494924, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 78792, "target": 122024, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "89,600 vs 75,082"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -181 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+15%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.94% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "871,257 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.94% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]} +{"ts": "2026-07-23T12:22:02.662555+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T13:42:05.672820+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92800, "qty": 38, "cost": 3526929, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 78792, "target": 122024, "signals": [{"label": "손절선", "ok": true, "detail": "78,792 (현재 92,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,024"}, {"label": "추세(60일선)", "ok": true, "detail": "75,133"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,406"}]} diff --git a/agents/stock/workspace/state/sim/variants/v284/portfolio.json b/agents/stock/workspace/state/sim/variants/v284/portfolio.json index ac46003..61d3ead 100644 --- a/agents/stock/workspace/state/sim/variants/v284/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v284/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53547326.61799998, + "cash": 42131348.695499994, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1796390.6144710162, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:02.649859+09:00", "stop": 119105, "target": 180930, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4016046.033999526, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4441360.270202171, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1785074.3957384636, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 20, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.238289+09:00", - "stop": 303577, - "target": 467269, - "peak": 346000, + "stop": 308113, + "target": 476661, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3624744.3180141365, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:04.824251+09:00", "stop": 604000, "target": 760000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 5380607.781749999, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 15, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:37.099322+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5317655.476124998, + "last_add_price": 351500 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 175, + "entry_price": 14170, + "entry_at": "2026-07-23T10:44:03.360797+09:00", + "stop": 11720, + "target": 21519, + "peak": 14210, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2483200.0959262447, + "last_add_price": 14170 } }, - "realized_pnl": -14269746.667000033, - "closed_trades": 63, + "realized_pnl": -14371777.752000034, + "closed_trades": 68, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.1496817338200003, @@ -144,21 +186,21 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20", "222800": "2026-07-21" }, "created_at": "2026-06-15T14:55:00.584680+09:00", - "updated_at": "2026-07-22T15:28:00.980603+09:00" + "updated_at": "2026-07-23T15:28:01.473360+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v284/trades.jsonl b/agents/stock/workspace/state/sim/variants/v284/trades.jsonl index 3110dd8..bfe4fe2 100644 --- a/agents/stock/workspace/state/sim/variants/v284/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v284/trades.jsonl @@ -144,3 +144,16 @@ {"ts": "2026-07-22T14:40:01.340753+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 9, "proceeds": 4949330, "entry_price": 552000, "pnl": -19415, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.274851+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:00.817062+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 33, "cost": 5254388, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 162800, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.869262+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 33, "proceeds": 5203833, "entry_price": 159200, "pnl": -50555, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:00.817061+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,800"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:37.098140+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:37.099330+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 15, "cost": 5273291, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:05.261926+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:37.098130+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.262086+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 16, "cost": 5272791, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:01.849975+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 16, "proceeds": 5253735, "entry_price": 329500, "pnl": -19056, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:05.262085+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:01.850110+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 7, "cost": 4760714, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.532854+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 7, "proceeds": 4729759, "entry_price": 680000, "pnl": -30955, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:01.850109+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.533121+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "cost": 5208181, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.861624+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 33, "proceeds": 5187365, "entry_price": 157800, "pnl": -20816, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.533119+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,803"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.861933+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 9, "cost": 4896734, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.360289+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 9, "proceeds": 4877470, "entry_price": 544000, "pnl": -19264, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.861931+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.360799+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14170, "qty": 175, "cost": 2480122, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11720, "target": 21519, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "14,170 vs 12,686"}, {"label": "정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,152 / 12,686"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "88.34% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "13,251,629 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "88.34% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.664421+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 10, "cost": 3560534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 467269, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 467,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v296/portfolio.json b/agents/stock/workspace/state/sim/variants/v296/portfolio.json index b97c1eb..8f39f95 100644 --- a/agents/stock/workspace/state/sim/variants/v296/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v296/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 34536155.400000006, + "cash": 34272952.38, "initial": 100000000, "positions": { "055550": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 104100, + "cur_price": 103400, "tranches": 2, "tranche_value": 4371332.168068898, "last_add_price": 105800 @@ -34,12 +34,12 @@ "entry_at": "2026-07-08T09:16:02.747351+09:00", "stop": 112606, "target": 175803, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 3448434.606240806, "last_add_price": 130800 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 146,218 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1478967.7315768395, "last_add_price": 158000 @@ -81,32 +81,11 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4504679.249331353, "last_add_price": 139700 }, - "003490": { - "code": "003490", - "name": "대한항공", - "sources": [ - "auto" - ], - "qty": 174, - "entry_price": 26500, - "entry_at": "2026-07-16T09:10:05.297812+09:00", - "stop": 24098, - "target": 33705, - "peak": 27100, - "trailing_on": false, - "scaled_out": false, - "entry_path": "immediate", - "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 25000, - "tranches": 1, - "tranche_value": 4615467.447503124, - "last_add_price": 26500 - }, "214450": { "code": "214450", "name": "파마리서치", @@ -118,12 +97,12 @@ "entry_at": "2026-07-21T09:02:06.017875+09:00", "stop": 293113, "target": 451661, - "peak": 346000, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3417673.0117698065, "last_add_price": 338000 @@ -144,7 +123,7 @@ "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2181698.9774842947, "last_add_price": 15290 @@ -160,19 +139,40 @@ "entry_at": "2026-07-21T11:08:01.673418+09:00", "stop": 92100, "target": 130900, - "peak": 102700, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 98200, + "cur_price": 102200, "tranches": 1, "tranche_value": 4194789.767858763, "last_add_price": 101800 + }, + "034730": { + "code": "034730", + "name": "SK", + "sources": [ + "auto" + ], + "qty": 7, + "entry_price": 647000, + "entry_at": "2026-07-23T11:26:06.078328+09:00", + "stop": 604000, + "target": 776000, + "peak": 661000, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 706,121 도달", + "cur_price": 656000, + "tranches": 1, + "tranche_value": 4975770.733125, + "last_add_price": 647000 } }, - "realized_pnl": -20577832.708000023, - "closed_trades": 55, + "realized_pnl": -20923048.028000027, + "closed_trades": 59, "wins": 0, "peak_equity": 100000000, "max_drawdown": 0.21052744599999995, @@ -186,12 +186,12 @@ "035420": "2026-06-23", "034220": "2026-06-23", "003550": "2026-06-23", - "003490": "2026-07-14", + "003490": "2026-07-23", "033640": "2026-06-24", "064400": "2026-06-24", "010120": "2026-07-08", - "011070": "2026-07-13", - "012330": "2026-07-13", + "011070": "2026-07-23", + "012330": "2026-07-23", "403870": "2026-06-26", "059090": "2026-06-26", "028260": "2026-07-16", @@ -203,7 +203,7 @@ "005935": "2026-07-16", "319660": "2026-07-09", "032830": "2026-07-20", - "402340": "2026-07-21", + "402340": "2026-07-23", "222800": "2026-07-16", "214450": "2026-07-15", "004170": "2026-07-21", @@ -213,5 +213,5 @@ "034730": "2026-07-21" }, "created_at": "2026-06-16T09:00:03.113416+09:00", - "updated_at": "2026-07-22T15:28:00.982339+09:00" + "updated_at": "2026-07-23T15:28:01.475107+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v296/trades.jsonl b/agents/stock/workspace/state/sim/variants/v296/trades.jsonl index 451ecbe..0a11232 100644 --- a/agents/stock/workspace/state/sim/variants/v296/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v296/trades.jsonl @@ -134,3 +134,11 @@ {"ts": "2026-07-21T11:06:02.300835+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 558000, "qty": 8, "cost": 4464670, "path": "pullback", "reason": "눌림목 지정가 601,342 도달", "stop": 557999, "target": 558003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "557,000 vs 539,225"}, {"label": "정배열(5>60)", "ok": true, "detail": "705,200 / 539,225"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "705,200 / 539,225"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+23.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +19 · 기 -15 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.92% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "86,393 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.92% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "39"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 601,342 (현재 557,000)"}]} {"ts": "2026-07-21T11:08:01.251249+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 555000, "qty": 8, "proceeds": 4431342, "entry_price": 558000, "pnl": -33328, "pnl_pct": -0.54, "hold_from": "2026-07-21T11:06:02.300833+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "557,999 (현재 556,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 558,003"}, {"label": "추세(60일선)", "ok": true, "detail": "539,208"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +19 · 기 -15"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 592,886"}]} {"ts": "2026-07-21T11:08:01.673433+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 101800, "qty": 41, "cost": 4174426, "path": "immediate", "reason": "조건 충족 — 즉시매수(눌림 안 기다림)", "stop": 92100, "target": 130900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "101,800 vs 91,963"}, {"label": "정배열(5>60)", "ok": true, "detail": "107,660 / 91,963"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "107,660 / 91,963"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -37 · 기 +7 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+29%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.72% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "403,947 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "1.72% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": false, "detail": "지정가 94,787 (현재 101,800)"}]} +{"ts": "2026-07-23T09:00:37.206214+09:00", "side": "SELL", "code": "003490", "name": "대한항공", "price": 24900, "qty": 174, "proceeds": 4324151, "entry_price": 26500, "pnl": -287540, "pnl_pct": -6.04, "hold_from": "2026-07-16T09:10:05.297812+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "24,098 (현재 24,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 33,705"}, {"label": "추세(60일선)", "ok": false, "detail": "25,150"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -381 · 기 -427"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 27,140"}]} +{"ts": "2026-07-23T09:00:37.240198+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 662000, "qty": 7, "cost": 4634695, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 661999, "target": 662003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "666,000 vs 638,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,000,200 / 638,100"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,000,200 / 638,100"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+83%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.46% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "108,233 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "0.46% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 666,000)"}]} +{"ts": "2026-07-23T11:14:01.321502+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 661000, "qty": 7, "proceeds": 4617977, "entry_price": 662000, "pnl": -16718, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:00:37.240189+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "661,999 (현재 661,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,017"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +63 · 기 -29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T11:14:01.736156+09:00", "side": "BUY", "code": "012330", "name": "현대모비스", "price": 519000, "qty": 9, "cost": 4671701, "path": "immediate", "reason": "조건 충족 — 즉시매수(눌림 안 기다림)", "stop": 518999, "target": 519003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "517,000 vs 503,583"}, {"label": "정배열(5>60)", "ok": true, "detail": "573,000 / 503,583"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "573,000 / 503,583"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +89 · 기 +50 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.65% (환산) vs 평균 1.23% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 822,000"}, {"label": "거래량 급증", "ok": false, "detail": "588,802 (환산) vs 평균 1,116,783"}, {"label": "회전율 급증", "ok": false, "detail": "0.65% (환산) vs 평균 1.23%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": false, "detail": "지정가 503,583 (현재 517,000)"}]} +{"ts": "2026-07-23T11:24:01.684262+09:00", "side": "SELL", "code": "012330", "name": "현대모비스", "price": 518000, "qty": 9, "proceeds": 4652909, "entry_price": 519000, "pnl": -18792, "pnl_pct": -0.19, "hold_from": "2026-07-23T11:14:01.736139+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "518,999 (현재 518,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "503,600"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +89 · 기 +50"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T11:24:02.097687+09:00", "side": "BUY", "code": "402340", "name": "SK스퀘어", "price": 1213000, "qty": 4, "cost": 4852728, "path": "pullback", "reason": "눌림목 지정가 1,245,641 도달", "stop": 1212999, "target": 1213003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,212,000 vs 1,153,750"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,566,200 / 1,153,750"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,566,200 / 1,153,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+14.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -148 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+57%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.99% (환산) vs 평균 1.01% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,189,000"}, {"label": "거래량 급증", "ok": false, "detail": "1,307,137 (환산) vs 평균 1,333,116"}, {"label": "회전율 급증", "ok": false, "detail": "0.99% (환산) vs 평균 1.01%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,245,641 (현재 1,212,000)"}]} +{"ts": "2026-07-23T11:26:05.661646+09:00", "side": "SELL", "code": "402340", "name": "SK스퀘어", "price": 1210000, "qty": 4, "proceeds": 4830562, "entry_price": 1213000, "pnl": -22166, "pnl_pct": -0.25, "hold_from": "2026-07-23T11:24:02.097671+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,212,999 (현재 1,210,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 1,213,003"}, {"label": "추세(60일선)", "ok": true, "detail": "1,153,717"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -148 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 1,306,155"}]} +{"ts": "2026-07-23T11:26:06.078346+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 647000, "qty": 7, "cost": 4529679, "path": "pullback", "reason": "눌림목 지정가 706,121 도달", "stop": 604000, "target": 776000, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "647,000 vs 528,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "747,400 / 528,983"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "747,400 / 528,983"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -36 · 기 +73 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.45% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "326,462 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.45% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 706,121 (현재 647,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v298/portfolio.json b/agents/stock/workspace/state/sim/variants/v298/portfolio.json index 06e6587..fb453d5 100644 --- a/agents/stock/workspace/state/sim/variants/v298/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v298/portfolio.json @@ -1,28 +1,7 @@ { - "cash": 5258123.449499968, + "cash": 8445170.140499968, "initial": 100000000, "positions": { - "095610": { - "code": "095610", - "name": "테스", - "sources": [ - "auto" - ], - "qty": 45, - "entry_price": 167953.33333333334, - "entry_at": "2026-06-24T09:46:05.255414+09:00", - "stop": 131653, - "target": 276853, - "peak": 234500, - "trailing_on": false, - "scaled_out": false, - "entry_path": "immediate", - "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 157000, - "tranches": 2, - "tranche_value": 3916274.109485522, - "last_add_price": 179100 - }, "055550": { "code": "055550", "name": "신한지주", @@ -39,7 +18,7 @@ "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 104100, + "cur_price": 103400, "tranches": 2, "tranche_value": 5402457.352781249, "last_add_price": 104900 @@ -60,7 +39,7 @@ "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 5406063.780281249, "last_add_price": 126200 @@ -76,12 +55,12 @@ "entry_at": "2026-07-08T09:16:02.749482+09:00", "stop": 112589, "target": 175786, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4939827.041843749, "last_add_price": 130800 @@ -102,7 +81,7 @@ "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 5291435.503531248, "last_add_price": 6020 @@ -123,7 +102,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 153,927 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 1, "tranche_value": 3005488.010300275, "last_add_price": 140000 @@ -139,12 +118,12 @@ "entry_at": "2026-07-21T09:02:06.772828+09:00", "stop": 293113, "target": 451661, - "peak": 346000, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 4843602.718718749, "last_add_price": 338000 @@ -160,19 +139,40 @@ "entry_at": "2026-07-21T10:08:05.932367+09:00", "stop": 73000, "target": 113290, - "peak": 86800, + "peak": 94700, "trailing_on": false, "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 84100, + "cur_price": 93900, "tranches": 2, "tranche_value": 4883011.806843748, "last_add_price": 84700 + }, + "252990": { + "code": "252990", + "name": "샘씨엔에스", + "sources": [ + "auto" + ], + "qty": 261, + "entry_price": 13960, + "entry_at": "2026-07-23T10:24:01.900022+09:00", + "stop": 10973, + "target": 22922, + "peak": 14230, + "trailing_on": false, + "scaled_out": false, + "entry_path": "immediate", + "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", + "cur_price": 14060, + "tranches": 1, + "tranche_value": 3651136.6614530287, + "last_add_price": 13960 } }, - "realized_pnl": -23608948.211500015, - "closed_trades": 25, + "realized_pnl": -24336828.671500016, + "closed_trades": 26, "wins": 1, "peak_equity": 100289247.17, "max_drawdown": 0.23559543148677553, @@ -194,8 +194,9 @@ "034730": "2026-07-07", "475150": "2026-07-08", "214450": "2026-07-15", - "089970": "2026-07-21" + "089970": "2026-07-21", + "095610": "2026-07-23" }, "created_at": "2026-06-16T09:00:03.113433+09:00", - "updated_at": "2026-07-22T15:28:00.983980+09:00" + "updated_at": "2026-07-23T15:28:01.476745+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v298/trades.jsonl b/agents/stock/workspace/state/sim/variants/v298/trades.jsonl index a2437d0..ec86b80 100644 --- a/agents/stock/workspace/state/sim/variants/v298/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v298/trades.jsonl @@ -73,3 +73,5 @@ {"ts": "2026-07-21T09:18:04.230917+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 338000, "qty": 14, "cost": 4732710, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 289291, "target": 442126, "signals": [{"label": "손절선", "ok": true, "detail": "289,291 (현재 337,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 442,126"}, {"label": "추세(10일선)", "ok": true, "detail": "305,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -14 · 기 +5"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 337,409"}]} {"ts": "2026-07-21T10:08:05.932382+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 81500, "qty": 59, "cost": 4809221, "path": "immediate", "reason": "조건 충족 — 즉시매수(눌림 안 기다림)", "stop": 73000, "target": 107000, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "81,500 vs 80,230"}, {"label": "정배열(5>10)", "ok": true, "detail": "81,660 / 80,230"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "81,660 / 74,947"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -145 · 기 +294 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.44% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": false, "detail": "408,176 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": false, "detail": "0.44% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": false, "detail": "지정가 80,230 (현재 81,500)"}]} {"ts": "2026-07-22T09:02:04.087577+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 84700, "qty": 57, "cost": 4828624, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 73000, "target": 107000, "signals": [{"label": "손절선", "ok": true, "detail": "73,000 (현재 84,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 107,000"}, {"label": "추세(10일선)", "ok": true, "detail": "80,520"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -127 · 기 +251"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 84,048"}]} +{"ts": "2026-07-23T10:24:01.574204+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 152100, "qty": 45, "proceeds": 6831153, "entry_price": 167953, "pnl": -727880, "pnl_pct": -9.44, "hold_from": "2026-06-24T09:46:05.255414+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "131,653 (현재 152,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 276,853"}, {"label": "추세(10일선)", "ok": false, "detail": "152,780"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -101 · 기 -107"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:24:01.900041+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 13960, "qty": 261, "cost": 3644107, "path": "immediate", "reason": "조건 충족 — 즉시매수(눌림 안 기다림)", "stop": 10973, "target": 22922, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "13,960 vs 12,969"}, {"label": "정배열(5>10)", "ok": true, "detail": "14,540 / 12,969"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,540 / 13,282"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -966 · 기 +1,230 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.21% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "726,573 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "1.21% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": false, "detail": "지정가 13,259 (현재 13,960)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v299/portfolio.json b/agents/stock/workspace/state/sim/variants/v299/portfolio.json index 4285d3c..03e96ce 100644 --- a/agents/stock/workspace/state/sim/variants/v299/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v299/portfolio.json @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 104100, + "cur_price": 103400, "tranches": 2, "tranche_value": 5666061.52171875, "last_add_price": 99700 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 157,257 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 3003806.097814414, "last_add_price": 177000 @@ -55,12 +55,12 @@ "entry_at": "2026-07-08T09:16:02.751562+09:00", "stop": 112619, "target": 175815, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4789675.2297187485, "last_add_price": 130800 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 163,375 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 3311963.1438753214, "last_add_price": 139100 @@ -102,7 +102,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 4852421.820656248, "last_add_price": 6030 @@ -123,7 +123,7 @@ "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 98200, + "cur_price": 102200, "tranches": 2, "tranche_value": 4978530.748468748, "last_add_price": 106600 @@ -144,7 +144,7 @@ "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4950711.192343748, "last_add_price": 141700 @@ -160,12 +160,12 @@ "entry_at": "2026-07-21T09:02:06.779465+09:00", "stop": 292918, "target": 451467, - "peak": 346000, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 4623660.577343748, "last_add_price": 338000 @@ -201,5 +201,5 @@ "105560": "2026-07-20" }, "created_at": "2026-06-16T09:00:03.113489+09:00", - "updated_at": "2026-07-22T15:28:00.985635+09:00" + "updated_at": "2026-07-23T15:28:01.478403+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v300/portfolio.json b/agents/stock/workspace/state/sim/variants/v300/portfolio.json index 809cfb9..4c1833b 100644 --- a/agents/stock/workspace/state/sim/variants/v300/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v300/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 42950133.84050003, + "cash": 25781713.04550002, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 4159962.72301425, "last_add_price": 177000 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4611511.948906251, "last_add_price": 134300 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 153,333 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 3281980.220200973, "last_add_price": 135500 @@ -71,27 +71,69 @@ "sources": [ "auto" ], - "qty": 7, - "entry_price": 629000, + "qty": 13, + "entry_price": 647000.0, "entry_at": "2026-07-22T09:00:22.724425+09:00", "stop": 604000, - "target": 704000, - "peak": 663000, + "target": 776000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, - "tranches": 1, + "cur_price": 656000, + "tranches": 2, "tranche_value": 4463507.707843752, - "last_add_price": 629000 + "last_add_price": 668000 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 97, + "entry_price": 89884.53608247422, + "entry_at": "2026-07-23T09:46:06.439525+09:00", + "stop": 81607, + "target": 114717, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 4400054.8290937515, + "last_add_price": 91400 + }, + "214450": { + "code": "214450", + "name": "파마리서치", + "sources": [ + "auto" + ], + "qty": 12, + "entry_price": 364000, + "entry_at": "2026-07-23T13:16:01.458017+09:00", + "stop": 331540, + "target": 461380, + "peak": 364500, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 360000, + "tranches": 1, + "tranche_value": 4371310.515343752, + "last_add_price": 364000 } }, - "realized_pnl": -28810130.834500026, - "closed_trades": 40, + "realized_pnl": -28881187.409500025, + "closed_trades": 41, "wins": 1, "peak_equity": 100401992.91950001, - "max_drawdown": 0.3031061256264108, + "max_drawdown": 0.3098231986185848, "last_exit": { "204320": "2026-06-19", "003490": "2026-07-09", @@ -110,9 +152,9 @@ "055550": "2026-07-20", "034730": "2026-07-15", "032830": "2026-07-09", - "319660": "2026-07-22", + "319660": "2026-07-23", "105560": "2026-07-20" }, "created_at": "2026-06-16T10:45:02.136776+09:00", - "updated_at": "2026-07-22T15:28:00.991750+09:00" + "updated_at": "2026-07-23T15:28:01.484542+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v300/trades.jsonl b/agents/stock/workspace/state/sim/variants/v300/trades.jsonl index 9631883..6a2c1aa 100644 --- a/agents/stock/workspace/state/sim/variants/v300/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v300/trades.jsonl @@ -101,3 +101,9 @@ {"ts": "2026-07-22T09:00:22.724438+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 629000, "qty": 7, "cost": 4403660, "path": "pullback", "reason": "눌림목 지정가 705,586 도달", "stop": 604000, "target": 704000, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "628,000 vs 613,262"}, {"label": "정배열(5>40)", "ok": true, "detail": "743,600 / 613,262"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "743,600 / 528,667"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+18.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -48 · 기 +90 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.13% (환산) vs 평균 0.45% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "96,440 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.13% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 705,586 (현재 628,000)"}]} {"ts": "2026-07-22T11:56:00.904418+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159800, "qty": 27, "cost": 4315247, "path": "pullback", "reason": "눌림목 지정가 159,932 도달", "stop": 158000, "target": 165200, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "159,700 vs 127,525"}, {"label": "정배열(5>40)", "ok": true, "detail": "169,580 / 127,525"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,580 / 113,220"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+75.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -408 · 기 +146 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.73% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,371,014 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "4.73% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,932 (현재 159,700)"}]} {"ts": "2026-07-22T12:12:00.815660+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 27, "proceeds": 4238818, "entry_price": 159800, "pnl": -76429, "pnl_pct": -1.56, "hold_from": "2026-07-22T11:56:00.904416+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 165,200"}, {"label": "추세(40일선)", "ok": true, "detail": "127,465"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,305"}]} +{"ts": "2026-07-23T09:00:37.564915+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 27, "cost": 4323348, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 158000, "target": 166400, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "158,100 vs 127,485"}, {"label": "정배열(5>40)", "ok": true, "detail": "169,260 / 127,485"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:05.274369+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 27, "proceeds": 4252292, "entry_price": 160100, "pnl": -71057, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:37.564911+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 166,400"}, {"label": "추세(40일선)", "ok": true, "detail": "127,480"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,669"}]} +{"ts": "2026-07-23T09:46:06.439526+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88400, "qty": 49, "cost": 4332250, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80433, "target": 112300, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "88,300 vs 74,252"}, {"label": "정배열(5>40)", "ok": true, "detail": "83,020 / 74,252"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,020 / 75,060"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.80% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "743,133 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.80% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T09:58:01.465903+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 668000, "qty": 6, "cost": 4008601, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 604000, "target": 704000, "signals": [{"label": "손절선", "ok": true, "detail": "604,000 (현재 668,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 704,000"}, {"label": "추세(40일선)", "ok": true, "detail": "614,262"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -36 · 기 +73"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 665,293"}]} +{"ts": "2026-07-23T13:06:04.659869+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91400, "qty": 48, "cost": 4387858, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 80433, "target": 112300, "signals": [{"label": "손절선", "ok": true, "detail": "80,433 (현재 91,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 112,300"}, {"label": "추세(40일선)", "ok": true, "detail": "74,330"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,159"}]} +{"ts": "2026-07-23T13:16:01.458019+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 364000, "qty": 12, "cost": 4368655, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 331540, "target": 461380, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "364,000 vs 306,850"}, {"label": "정배열(5>40)", "ok": true, "detail": "319,000 / 306,850"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "319,000 / 305,817"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+38.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +6 · 기 +26 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.49% (환산) vs 평균 0.93% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "259,126 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "2.49% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "69"}]} diff --git a/agents/stock/workspace/state/sim/variants/v301/portfolio.json b/agents/stock/workspace/state/sim/variants/v301/portfolio.json index cdc23a9..225f095 100644 --- a/agents/stock/workspace/state/sim/variants/v301/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v301/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 44211950.35100001, + "cash": 31227482.97300001, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-08T09:16:02.760758+09:00", "stop": 112617, "target": 175814, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4497110.087925, "last_add_price": 130800 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4524049.632675001, "last_add_price": 134300 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 3791260.103190828, "last_add_price": 139100 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 4441317.796325, "last_add_price": 6030 @@ -97,15 +97,57 @@ "entry_at": "2026-07-16T09:04:04.870738+09:00", "stop": 305169, "target": 472574, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 4537990.22125, "last_add_price": 353000 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 96, + "entry_price": 89868.75, + "entry_at": "2026-07-23T09:46:06.441344+09:00", + "stop": 78832, + "target": 122978, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 4354026.517550001, + "last_add_price": 91400 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 308, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.566042+09:00", + "stop": 11706, + "target": 21442, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 4359614.53055, + "last_add_price": 14140 } }, "realized_pnl": -12944734.11550001, @@ -125,5 +167,5 @@ "055550": "2026-07-20" }, "created_at": "2026-06-16T14:30:00.114884+09:00", - "updated_at": "2026-07-22T15:28:00.993362+09:00" + "updated_at": "2026-07-23T15:28:01.486184+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v301/trades.jsonl b/agents/stock/workspace/state/sim/variants/v301/trades.jsonl index 00fafc9..9502973 100644 --- a/agents/stock/workspace/state/sim/variants/v301/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v301/trades.jsonl @@ -43,3 +43,6 @@ {"ts": "2026-07-16T09:28:03.562919+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 353000, "qty": 12, "cost": 4236635, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 301363, "target": 461911, "signals": [{"label": "손절선", "ok": true, "detail": "301,363 (현재 352,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 461,911"}, {"label": "추세(10일선)", "ok": true, "detail": "306,600"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -33 · 기 +28"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 351,963"}]} {"ts": "2026-07-20T10:54:01.319052+09:00", "side": "SELL", "code": "093370", "name": "후성", "price": 10530, "qty": 584, "proceeds": 6137528, "entry_price": 12776, "pnl": -1324771, "pnl_pct": -17.58, "hold_from": "2026-07-10T11:06:07.392699+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,530 (현재 10,530)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 19,514"}, {"label": "추세(10일선)", "ok": false, "detail": "12,035"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -893 · 기 +516"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-20T14:12:02.851527+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 100100, "qty": 83, "proceeds": 8292099, "entry_price": 111383, "pnl": -954088, "pnl_pct": -10.13, "hold_from": "2026-07-06T09:34:02.911972+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,214 (현재 100,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,891"}, {"label": "추세(10일선)", "ok": true, "detail": "98,970"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -168 · 기 +257"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:46:06.441345+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88400, "qty": 49, "cost": 4332250, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77778, "target": 120266, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,300 vs 80,910"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,020 / 80,910"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,020 / 75,060"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.80% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "743,133 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.80% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.566044+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 308, "cost": 4355773, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 21442, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T13:06:04.661707+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91400, "qty": 47, "cost": 4296444, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77778, "target": 120266, "signals": [{"label": "손절선", "ok": true, "detail": "77,778 (현재 91,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 120,266"}, {"label": "추세(10일선)", "ok": true, "detail": "81,220"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,159"}]} diff --git a/agents/stock/workspace/state/sim/variants/v302/portfolio.json b/agents/stock/workspace/state/sim/variants/v302/portfolio.json index ced85af..a257ce9 100644 --- a/agents/stock/workspace/state/sim/variants/v302/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v302/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 34333160.345500015, + "cash": 17659926.478000015, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 3546990.802202721, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-08T09:16:02.762599+09:00", "stop": 112616, "target": 175813, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4360729.7882, "last_add_price": 130800 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 3789711.3515926166, "last_add_price": 139100 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4639656.985925001, "last_add_price": 138300 @@ -102,7 +102,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 4412981.9396750005, "last_add_price": 6030 @@ -118,19 +118,82 @@ "entry_at": "2026-07-16T09:04:04.880674+09:00", "stop": 305169, "target": 472574, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 4542977.951950001, "last_add_price": 353000 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 221, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.371517+09:00", + "stop": 17760, + "target": 22120, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 19,627 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 4183862.861025001, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 92, + "entry_price": 89867.39130434782, + "entry_at": "2026-07-23T09:46:06.443281+09:00", + "stop": 78831, + "target": 122977, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 4183455.6171500003, + "last_add_price": 91400 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 295, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.567812+09:00", + "stop": 11706, + "target": 21442, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 4177568.9561500004, + "last_add_price": 14140 } }, - "realized_pnl": -15791069.411000013, - "closed_trades": 19, + "realized_pnl": -15856862.536000013, + "closed_trades": 20, "wins": 1, "peak_equity": 100864171.466, "max_drawdown": 0.17765526509619187, @@ -142,11 +205,11 @@ "240810": "2026-07-08", "093370": "2026-07-20", "034730": "2026-07-08", - "319660": "2026-07-22", + "319660": "2026-07-23", "214450": "2026-07-15", "105560": "2026-07-20", "055550": "2026-07-20" }, "created_at": "2026-06-16T14:30:00.114893+09:00", - "updated_at": "2026-07-22T15:28:00.994992+09:00" + "updated_at": "2026-07-23T15:28:01.487848+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v302/trades.jsonl b/agents/stock/workspace/state/sim/variants/v302/trades.jsonl index 779cb85..8973eae 100644 --- a/agents/stock/workspace/state/sim/variants/v302/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v302/trades.jsonl @@ -57,3 +57,9 @@ {"ts": "2026-07-20T14:12:02.853155+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 100100, "qty": 83, "proceeds": 8292099, "entry_price": 111383, "pnl": -954088, "pnl_pct": -10.13, "hold_from": "2026-07-06T09:34:02.913874+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,214 (현재 100,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,891"}, {"label": "추세(20일선)", "ok": true, "detail": "96,810"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -168 · 기 +257"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T11:56:00.909221+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159800, "qty": 26, "cost": 4155423, "path": "pullback", "reason": "눌림목 지정가 159,932 도달", "stop": 158000, "target": 165200, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "159,700 vs 149,775"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,580 / 149,775"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,580 / 113,220"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+75.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -408 · 기 +146 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.73% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,371,014 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "4.73% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,932 (현재 159,700)"}]} {"ts": "2026-07-22T12:12:00.820368+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 26, "proceeds": 4081825, "entry_price": 159800, "pnl": -73598, "pnl_pct": -1.56, "hold_from": "2026-07-22T11:56:00.909220+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 165,200"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,305"}]} +{"ts": "2026-07-23T09:00:37.774417+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 25, "cost": 4003100, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 158000, "target": 166400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:05.279746+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 25, "proceeds": 3937307, "entry_price": 160100, "pnl": -65793, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:37.774411+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 166,400"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,669"}]} +{"ts": "2026-07-23T09:44:04.371518+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 221, "cost": 4166475, "path": "pullback", "reason": "눌림목 지정가 19,627 도달", "stop": 17760, "target": 22120, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,627 (현재 18,850)"}]} +{"ts": "2026-07-23T09:46:06.443282+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88400, "qty": 47, "cost": 4155423, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77778, "target": 120266, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,300 vs 75,075"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,020 / 75,075"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,020 / 75,060"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.80% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "743,133 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.80% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.567813+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 295, "cost": 4171926, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 21442, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,180 vs 10,944"}, {"label": "정배열(5>20)", "ok": true, "detail": "13,154 / 10,944"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T13:06:04.663457+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91400, "qty": 45, "cost": 4113617, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77778, "target": 120266, "signals": [{"label": "손절선", "ok": true, "detail": "77,778 (현재 91,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 120,266"}, {"label": "추세(20일선)", "ok": true, "detail": "75,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,159"}]} diff --git a/agents/stock/workspace/state/sim/variants/v303/portfolio.json b/agents/stock/workspace/state/sim/variants/v303/portfolio.json index 327dd22..51b7a07 100644 --- a/agents/stock/workspace/state/sim/variants/v303/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v303/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 54011840.603000015, + "cash": 35004167.333000004, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1788561.3745409653, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-08T09:16:02.764565+09:00", "stop": 112608, "target": 175805, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 3561275.575471075, "last_add_price": 130800 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4425433.834195267, "last_add_price": 134300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1924262.4890183615, "last_add_price": 139100 @@ -95,14 +95,14 @@ "qty": 8, "entry_price": 553000, "entry_at": "2026-07-20T09:00:34.059389+09:00", - "stop": 553586, + "stop": 559121, "target": 553003, - "peak": 663000, + "peak": 668000, "trailing_on": true, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 697,871 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 4450311.437725, "last_add_price": 553000 @@ -113,24 +113,87 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 338500, + "qty": 20, + "entry_price": 344000.0, "entry_at": "2026-07-21T09:20:05.279235+09:00", - "stop": 298577, - "target": 458269, - "peak": 346000, + "stop": 302791, + "target": 467626, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3616873.7658032966, - "last_add_price": 338500 + "last_add_price": 349500 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 12, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:37.883564+09:00", + "stop": 351499, + "target": 351503, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 4259290.730150001, + "last_add_price": 351500 + }, + "032830": { + "code": "032830", + "name": "삼성생명", + "sources": [ + "interest" + ], + "qty": 13, + "entry_price": 320000, + "entry_at": "2026-07-23T09:00:37.921145+09:00", + "stop": 319999, + "target": 320003, + "peak": 333000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 390,057 도달", + "cur_price": 326500, + "tranches": 1, + "tranche_value": 4259259.09515, + "last_add_price": 320000 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 77, + "entry_price": 91280.51948051948, + "entry_at": "2026-07-23T11:14:02.520362+09:00", + "stop": 80058, + "target": 124947, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3542431.9465922415, + "last_add_price": 92800 } }, - "realized_pnl": -15253549.897000032, - "closed_trades": 67, + "realized_pnl": -15356787.927000033, + "closed_trades": 72, "wins": 1, "peak_equity": 100085511.5725, "max_drawdown": 0.14989712775392522, @@ -146,14 +209,14 @@ "403870": "2026-07-07", "005935": "2026-07-01", "240810": "2026-07-08", - "009150": "2026-07-22", + "009150": "2026-07-23", "093370": "2026-07-20", "034730": "2026-07-16", "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", - "402340": "2026-07-22", - "004170": "2026-07-22", + "319660": "2026-07-23", + "011070": "2026-07-23", + "402340": "2026-07-23", + "004170": "2026-07-23", "028260": "2026-07-22", "214450": "2026-07-15", "055550": "2026-07-20", @@ -161,5 +224,5 @@ "222800": "2026-07-21" }, "created_at": "2026-06-16T14:30:00.114901+09:00", - "updated_at": "2026-07-22T15:28:00.996749+09:00" + "updated_at": "2026-07-23T15:28:01.489627+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v303/trades.jsonl b/agents/stock/workspace/state/sim/variants/v303/trades.jsonl index 1c5649e..5d22469 100644 --- a/agents/stock/workspace/state/sim/variants/v303/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v303/trades.jsonl @@ -153,3 +153,18 @@ {"ts": "2026-07-22T14:20:00.931618+09:00", "side": "SELL", "code": "402340", "name": "SK스퀘어", "price": 1247000, "qty": 3, "proceeds": 3733705, "entry_price": 1250000, "pnl": -16857, "pnl_pct": -0.24, "hold_from": "2026-07-22T14:16:00.899414+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,249,999 (현재 1,248,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,154,350"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -23 · 기 +58"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:32:02.548499+09:00", "side": "SELL", "code": "028260", "name": "삼성물산", "price": 359000, "qty": 11, "proceeds": 3941299, "entry_price": 359500, "pnl": -13794, "pnl_pct": -0.14, "hold_from": "2026-07-22T09:00:23.050347+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "359,499 (현재 359,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "350,250"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +202 · 기 -99"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:44:01.211201+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 652000, "qty": 6, "proceeds": 3904372, "entry_price": 653000, "pnl": -14216, "pnl_pct": -0.15, "hold_from": "2026-07-22T09:00:23.093756+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "652,999 (현재 652,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "637,867"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +90 · 기 -48"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:00:37.881531+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 2, "cost": 2840426, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:37.883571+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 12, "cost": 4218633, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351503, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:00:37.921153+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 320000, "qty": 13, "cost": 4160624, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 319999, "target": 320003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "320,500 vs 311,267"}, {"label": "정배열(5>60)", "ok": true, "detail": "436,800 / 311,267"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "436,800 / 311,267"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+27%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.03% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "63,680 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.03% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 320,500)"}]} +{"ts": "2026-07-23T09:00:37.921942+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 662000, "qty": 6, "cost": 3972596, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 661999, "target": 662003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "666,000 vs 638,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,000,200 / 638,100"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,000,200 / 638,100"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+83%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.46% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "108,233 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "0.46% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 666,000)"}]} +{"ts": "2026-07-23T09:32:05.281450+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 2, "proceeds": 2832466, "entry_price": 1420000, "pnl": -7960, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:37.881523+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.606571+09:00", "side": "BUY", "code": "402340", "name": "SK스퀘어", "price": 1247000, "qty": 3, "cost": 3741561, "path": "pullback", "reason": "눌림목 지정가 1,249,391 도달", "stop": 1246999, "target": 1247003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,246,000 vs 1,154,317"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,573,000 / 1,154,317"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,573,000 / 1,154,317"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+16.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +30 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+52%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.12% (환산) vs 평균 1.01% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,189,000"}, {"label": "거래량 급증", "ok": false, "detail": "1,470,727 (환산) vs 평균 1,333,116"}, {"label": "회전율 급증", "ok": false, "detail": "1.12% (환산) vs 평균 1.01%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,249,391 (현재 1,246,000)"}]} +{"ts": "2026-07-23T10:32:05.471486+09:00", "side": "SELL", "code": "402340", "name": "SK스퀘어", "price": 1237000, "qty": 3, "proceeds": 3703764, "entry_price": 1247000, "pnl": -37798, "pnl_pct": -0.8, "hold_from": "2026-07-23T09:32:05.606562+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,246,999 (현재 1,238,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,154,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -148 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:32:05.897901+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 155300, "qty": 27, "cost": 4193729, "path": "pullback", "reason": "눌림목 지정가 159,396 도달", "stop": 155299, "target": 155303, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "154,600 vs 113,135"}, {"label": "정배열(5>60)", "ok": true, "detail": "168,560 / 113,135"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "168,560 / 113,135"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+72.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+16%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.11% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,479,527 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "5.11% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,396 (현재 154,600)"}]} +{"ts": "2026-07-23T10:50:07.040914+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 155100, "qty": 27, "proceeds": 4179534, "entry_price": 155300, "pnl": -14195, "pnl_pct": -0.13, "hold_from": "2026-07-23T10:32:05.897885+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "155,299 (현재 155,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "113,142"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:50:07.391800+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 7, "cost": 3808571, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "544,000 vs 539,008"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,600 / 539,008"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,600 / 539,008"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+12.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+54%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.77% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "71,927 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.77% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 544,000)"}]} +{"ts": "2026-07-23T11:14:01.781174+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 661000, "qty": 6, "proceeds": 3958266, "entry_price": 662000, "pnl": -14330, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:00:37.921938+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "661,999 (현재 661,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,017"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +63 · 기 -29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T11:14:02.152545+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 541000, "qty": 7, "proceeds": 3779615, "entry_price": 544000, "pnl": -28956, "pnl_pct": -0.55, "hold_from": "2026-07-23T10:50:07.391781+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 542,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,975"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +12 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T11:14:02.520378+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 89800, "qty": 39, "cost": 3502725, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 78921, "target": 122438, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "89,800 vs 75,085"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,320 / 75,085"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,320 / 75,085"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+50.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -181 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+15%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.95% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "882,545 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.95% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]} +{"ts": "2026-07-23T11:52:01.441410+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 349500, "qty": 10, "cost": 3495524, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 298577, "target": 458269, "signals": [{"label": "손절선", "ok": true, "detail": "298,577 (현재 349,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 458,269"}, {"label": "추세(60일선)", "ok": true, "detail": "305,567"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +3 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 348,802"}]} +{"ts": "2026-07-23T13:42:05.691062+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92800, "qty": 38, "cost": 3526929, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 78921, "target": 122438, "signals": [{"label": "손절선", "ok": true, "detail": "78,921 (현재 92,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,438"}, {"label": "추세(60일선)", "ok": true, "detail": "75,133"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,606"}]} diff --git a/agents/stock/workspace/state/sim/variants/v304/portfolio.json b/agents/stock/workspace/state/sim/variants/v304/portfolio.json index cffa5fd..52fddbe 100644 --- a/agents/stock/workspace/state/sim/variants/v304/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v304/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 61459493.882500015, + "cash": 56870645.757500015, "initial": 100000000, "positions": { "086790": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 122,215 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 2655772.3181489734, "last_add_price": 126200 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:06:03.765255+09:00", "stop": 114980, "target": 163281, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 1651331.990927872, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 174700, + "cur_price": 176200, "tranches": 2, "tranche_value": 1761968.1579426918, "last_add_price": 188300 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 104100, + "cur_price": 103400, "tranches": 1, "tranche_value": 1874414.018276448, "last_add_price": 110600 @@ -102,7 +102,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1110000.4919609942, "last_add_price": 131900 @@ -116,14 +116,14 @@ "qty": 6, "entry_price": 553000, "entry_at": "2026-07-20T09:00:34.570463+09:00", - "stop": 553586, + "stop": 559121, "target": 553002, - "peak": 663000, + "peak": 668000, "trailing_on": true, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 736,914 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 3830988.8754375004, "last_add_price": 553000 @@ -134,41 +134,20 @@ "sources": [ "auto" ], - "qty": 4, - "entry_price": 346500, + "qty": 8, + "entry_price": 352500.0, "entry_at": "2026-07-21T10:34:01.219132+09:00", - "stop": 295346, - "target": 423230, - "peak": 346500, + "stop": 299382, + "target": 432177, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 1541443.3087531894, - "last_add_price": 346500 - }, - "003490": { - "code": "003490", - "name": "대한항공", - "sources": [ - "auto" - ], - "qty": 133, - "entry_price": 25350, - "entry_at": "2026-07-21T14:20:02.269408+09:00", - "stop": 23650, - "target": 27900, - "peak": 25850, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 25,328 도달", - "cur_price": 25000, - "tranches": 1, - "tranche_value": 3394130.7531199637, - "last_add_price": 25350 + "last_add_price": 358500 }, "252990": { "code": "252990", @@ -181,12 +160,12 @@ "entry_at": "2026-07-22T14:18:05.510245+09:00", "stop": 10340, "target": 19565, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 860620.9881350341, "last_add_price": 14030 @@ -202,12 +181,12 @@ "entry_at": "2026-07-22T15:04:01.083816+09:00", "stop": 110868, "target": 228948, - "peak": 158200, + "peak": 167200, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 1, "tranche_value": 756440.8308644168, "last_add_price": 158100 @@ -218,24 +197,45 @@ "sources": [ "auto" ], - "qty": 34, - "entry_price": 98600, + "qty": 67, + "entry_price": 100570.14925373135, "entry_at": "2026-07-22T15:18:03.039315+09:00", "stop": 92100, - "target": 108350, - "peak": 98600, + "target": 113275, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,784 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 3422505.993388654, - "last_add_price": 98600 + "last_add_price": 102600 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 32, + "entry_price": 91200.0, + "entry_at": "2026-07-23T11:04:03.463379+09:00", + "stop": 77172, + "target": 112242, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 1493175.7536818886, + "last_add_price": 92800 } }, - "realized_pnl": -9919533.615500035, - "closed_trades": 107, + "realized_pnl": -10141076.74300004, + "closed_trades": 116, "wins": 1, "peak_equity": 100036582.48, "max_drawdown": 0.09787308157450743, @@ -243,30 +243,30 @@ "017670": "2026-06-23", "178320": "2026-06-23", "033640": "2026-07-01", - "012330": "2026-07-22", + "012330": "2026-07-23", "307950": "2026-07-01", "329180": "2026-07-02", "064400": "2026-06-24", "010120": "2026-07-08", "403870": "2026-07-07", "086790": "2026-06-26", - "011070": "2026-07-22", + "011070": "2026-07-23", "005935": "2026-07-02", - "009150": "2026-07-22", + "009150": "2026-07-23", "093370": "2026-07-20", "222800": "2026-07-21", "084370": "2026-07-15", "240810": "2026-07-07", - "402340": "2026-07-22", + "402340": "2026-07-23", "034730": "2026-07-16", - "004170": "2026-07-22", - "319660": "2026-07-22", - "032830": "2026-07-22", - "028260": "2026-07-22", - "003490": "2026-07-13", + "004170": "2026-07-23", + "319660": "2026-07-23", + "032830": "2026-07-23", + "028260": "2026-07-23", + "003490": "2026-07-23", "214450": "2026-07-15", "095610": "2026-07-20" }, "created_at": "2026-06-22T09:00:04.885275+09:00", - "updated_at": "2026-07-22T15:28:00.998490+09:00" + "updated_at": "2026-07-23T15:28:01.492743+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v304/trades.jsonl b/agents/stock/workspace/state/sim/variants/v304/trades.jsonl index c952f25..f9a6e2c 100644 --- a/agents/stock/workspace/state/sim/variants/v304/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v304/trades.jsonl @@ -237,3 +237,24 @@ {"ts": "2026-07-22T14:40:01.362440+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 654000, "qty": 5, "proceeds": 3263624, "entry_price": 655000, "pnl": -11868, "pnl_pct": -0.15, "hold_from": "2026-07-22T09:02:04.520995+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "654,999 (현재 654,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "637,900"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +90 · 기 -48"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T15:04:01.083817+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 4, "cost": 632495, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 110868, "target": 228948, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "158,000 vs 99,750"}, {"label": "정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} {"ts": "2026-07-22T15:18:03.039317+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 98600, "qty": 34, "cost": 3352903, "path": "pullback", "reason": "눌림목 지정가 98,784 도달", "stop": 92100, "target": 108350, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "98,600 vs 91,910"}, {"label": "정배열(5>60)", "ok": true, "detail": "107,020 / 91,910"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "107,020 / 91,910"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+30.4%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +54 · 기 -135 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+33%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.04% (환산) vs 평균 1.76% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "479,822 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.04% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 98,784 (현재 98,600)"}]} +{"ts": "2026-07-23T09:00:38.020570+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 2, "cost": 2840426, "path": "pullback", "reason": "눌림목 지정가 1,950,511 도달", "stop": 1419999, "target": 1420002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,950,511 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:38.022210+09:00", "side": "SELL", "code": "003490", "name": "대한항공", "price": 24900, "qty": 133, "proceeds": 3305242, "entry_price": 25350, "pnl": -66814, "pnl_pct": -1.78, "hold_from": "2026-07-21T14:20:02.269408+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "23,650 (현재 24,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 27,900"}, {"label": "추세(60일선)", "ok": false, "detail": "25,150"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -381 · 기 -427"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 25,990"}]} +{"ts": "2026-07-23T09:00:38.022613+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 662000, "qty": 5, "cost": 3310497, "path": "pullback", "reason": "눌림목 지정가 872,593 도달", "stop": 661999, "target": 662002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "666,000 vs 638,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,000,200 / 638,100"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,000,200 / 638,100"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.4%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+83%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.46% (환산) vs 평균 2.76% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "108,233 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "0.46% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 872,593 (현재 666,000)"}]} +{"ts": "2026-07-23T09:32:05.616689+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 2, "proceeds": 2832466, "entry_price": 1420000, "pnl": -7960, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:38.020565+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:05.984209+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 355000, "qty": 10, "cost": 3550533, "path": "pullback", "reason": "눌림목 지정가 385,919 도달", "stop": 354999, "target": 355002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.2%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.43% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "611,300 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.38% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 385,919 (현재 355,000)"}]} +{"ts": "2026-07-23T09:40:01.561757+09:00", "side": "SELL", "code": "028260", "name": "삼성물산", "price": 354000, "qty": 10, "proceeds": 3533097, "entry_price": 355000, "pnl": -17436, "pnl_pct": -0.28, "hold_from": "2026-07-23T09:32:05.984192+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "354,999 (현재 354,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "350,175"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +215 · 기 -70"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:40:01.984289+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 330000, "qty": 11, "cost": 3630545, "path": "pullback", "reason": "눌림목 지정가 410,205 도달", "stop": 329999, "target": 330002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "330,000 vs 311,425"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,700 / 311,425"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,700 / 311,425"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.16% (환산) vs 평균 0.28% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "317,407 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.16% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 410,205 (현재 330,000)"}]} +{"ts": "2026-07-23T09:54:01.872486+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 11, "proceeds": 3611943, "entry_price": 330000, "pnl": -18602, "pnl_pct": -0.3, "hold_from": "2026-07-23T09:40:01.984273+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,999 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:02.201323+09:00", "side": "BUY", "code": "012330", "name": "현대모비스", "price": 519000, "qty": 7, "cost": 3633545, "path": "pullback", "reason": "눌림목 지정가 537,592 도달", "stop": 518999, "target": 519002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "518,000 vs 503,600"}, {"label": "정배열(5>60)", "ok": true, "detail": "573,200 / 503,600"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "573,200 / 503,600"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-3.1%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +89 · 기 +50 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.07% (환산) vs 평균 1.23% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 822,000"}, {"label": "거래량 급증", "ok": false, "detail": "976,827 (환산) vs 평균 1,116,783"}, {"label": "회전율 급증", "ok": false, "detail": "1.07% (환산) vs 평균 1.23%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 537,592 (현재 518,000)"}]} +{"ts": "2026-07-23T10:50:07.805736+09:00", "side": "SELL", "code": "012330", "name": "현대모비스", "price": 518000, "qty": 7, "proceeds": 3618929, "entry_price": 519000, "pnl": -14616, "pnl_pct": -0.19, "hold_from": "2026-07-23T09:54:02.201309+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "518,999 (현재 518,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "503,600"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +77 · 기 +51"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:50:08.234780+09:00", "side": "BUY", "code": "402340", "name": "SK스퀘어", "price": 1232000, "qty": 3, "cost": 3696554, "path": "pullback", "reason": "눌림목 지정가 1,340,118 도달", "stop": 1231999, "target": 1232002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,231,000 vs 1,154,067"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,570,000 / 1,154,067"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,570,000 / 1,154,067"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+15.3%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -148 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+54%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.11% (환산) vs 평균 1.01% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,189,000"}, {"label": "거래량 급증", "ok": false, "detail": "1,458,494 (환산) vs 평균 1,333,116"}, {"label": "회전율 급증", "ok": false, "detail": "1.11% (환산) vs 평균 1.01%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,340,118 (현재 1,231,000)"}]} +{"ts": "2026-07-23T10:56:01.544355+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 102600, "qty": 33, "cost": 3386308, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 108350, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 102,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 108,350"}, {"label": "추세(60일선)", "ok": true, "detail": "91,977"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +212 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 102,429"}]} +{"ts": "2026-07-23T10:58:03.551325+09:00", "side": "SELL", "code": "402340", "name": "SK스퀘어", "price": 1229000, "qty": 3, "proceeds": 3679810, "entry_price": 1232000, "pnl": -16744, "pnl_pct": -0.24, "hold_from": "2026-07-23T10:50:08.234767+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,231,999 (현재 1,230,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,154,050"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -148 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:58:03.971817+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 155600, "qty": 24, "cost": 3734960, "path": "pullback", "reason": "눌림목 지정가 168,976 도달", "stop": 155599, "target": 155602, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "155,500 vs 113,150"}, {"label": "정배열(5>60)", "ok": true, "detail": "168,740 / 113,150"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "168,740 / 113,150"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+73.2%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+15%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.42% (환산) vs 평균 2.68% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,281,116 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "4.42% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 168,976 (현재 155,500)"}]} +{"ts": "2026-07-23T11:00:02.712573+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 154400, "qty": 24, "proceeds": 3698374, "entry_price": 155600, "pnl": -36586, "pnl_pct": -0.77, "hold_from": "2026-07-23T10:58:03.971802+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "155,599 (현재 154,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 155,602"}, {"label": "추세(60일선)", "ok": true, "detail": "113,135"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 165,216"}]} +{"ts": "2026-07-23T11:00:03.150346+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 547000, "qty": 6, "cost": 3282492, "path": "pullback", "reason": "눌림목 지정가 635,942 도달", "stop": 546999, "target": 547002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "547,000 vs 539,058"}, {"label": "정배열(5>60)", "ok": true, "detail": "703,200 / 539,058"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "703,200 / 539,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.2%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+53%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.75% (환산) vs 평균 1.13% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "70,426 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.75% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 635,942 (현재 547,000)"}]} +{"ts": "2026-07-23T11:04:03.042897+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 6, "proceeds": 3251647, "entry_price": 547000, "pnl": -30845, "pnl_pct": -0.73, "hold_from": "2026-07-23T11:00:03.150330+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "546,999 (현재 544,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 547,002"}, {"label": "추세(60일선)", "ok": true, "detail": "539,008"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +12 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 582,029"}]} +{"ts": "2026-07-23T11:04:03.463396+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 89600, "qty": 16, "cost": 1433815, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 76001, "target": 109999, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "89,500 vs 75,080"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,260 / 75,080"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,260 / 75,080"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.9%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -181 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+15%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.99% (환산) vs 평균 0.42% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "915,113 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.99% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]} +{"ts": "2026-07-23T11:14:02.528906+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 661000, "qty": 5, "proceeds": 3298555, "entry_price": 662000, "pnl": -11941, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:00:38.022610+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "661,999 (현재 661,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,017"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +63 · 기 -29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T13:10:01.834695+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 358500, "qty": 4, "cost": 1434215, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 295346, "target": 423230, "signals": [{"label": "손절선", "ok": true, "detail": "295,346 (현재 358,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 423,230"}, {"label": "추세(60일선)", "ok": true, "detail": "305,717"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 357,124"}]} +{"ts": "2026-07-23T13:42:05.694197+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92800, "qty": 16, "cost": 1485023, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 76001, "target": 109999, "signals": [{"label": "손절선", "ok": true, "detail": "76,001 (현재 92,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,999"}, {"label": "추세(60일선)", "ok": true, "detail": "75,133"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,406"}]} diff --git a/agents/stock/workspace/state/sim/variants/v305/portfolio.json b/agents/stock/workspace/state/sim/variants/v305/portfolio.json index d9c1ff9..c0302bd 100644 --- a/agents/stock/workspace/state/sim/variants/v305/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v305/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 47779526.31849998, + "cash": 40392813.25849997, "initial": 100000000, "positions": { "086790": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 122,715 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 3762514.3450991833, "last_add_price": 126200 @@ -34,12 +34,12 @@ "entry_at": "2026-07-08T09:16:02.768421+09:00", "stop": 111007, "target": 163145, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 2439196.1798423207, "last_add_price": 130800 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 104100, + "cur_price": 103400, "tranches": 2, "tranche_value": 3126233.913570834, "last_add_price": 112800 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 163,375 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1268754.4994367112, "last_add_price": 142700 @@ -95,14 +95,14 @@ "qty": 8, "entry_price": 553000, "entry_at": "2026-07-20T09:00:34.686630+09:00", - "stop": 553586, + "stop": 559121, "target": 553002, - "peak": 663000, + "peak": 668000, "trailing_on": true, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 736,914 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 4478858.043775, "last_add_price": 553000 @@ -113,41 +113,20 @@ "sources": [ "auto" ], - "qty": 7, - "entry_price": 338500, + "qty": 14, + "entry_price": 344000.0, "entry_at": "2026-07-21T09:20:05.283403+09:00", - "stop": 294585, - "target": 426330, - "peak": 346000, + "stop": 298671, + "target": 434659, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 2518293.2056913, - "last_add_price": 338500 - }, - "003490": { - "code": "003490", - "name": "대한항공", - "sources": [ - "auto" - ], - "qty": 172, - "entry_price": 25350, - "entry_at": "2026-07-21T14:20:02.271187+09:00", - "stop": 23650, - "target": 28750, - "peak": 25850, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 25,328 도달", - "cur_price": 25000, - "tranches": 1, - "tranche_value": 4381753.006675, - "last_add_price": 25350 + "last_add_price": 349500 }, "252990": { "code": "252990", @@ -160,12 +139,12 @@ "entry_at": "2026-07-22T14:18:05.513705+09:00", "stop": 10782, "target": 20527, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 1409288.3278047699, "last_add_price": 14030 @@ -181,12 +160,12 @@ "entry_at": "2026-07-22T15:04:01.085919+09:00", "stop": 116536, "target": 241228, - "peak": 158200, + "peak": 167200, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 1, "tranche_value": 1238429.3243433933, "last_add_price": 158100 @@ -197,24 +176,45 @@ "sources": [ "auto" ], - "qty": 43, - "entry_price": 98600, + "qty": 85, + "entry_price": 100576.4705882353, "entry_at": "2026-07-22T15:18:03.041548+09:00", "stop": 92100, - "target": 111600, - "peak": 98600, + "target": 117529, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,784 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 4331643.114424999, - "last_add_price": 98600 + "last_add_price": 102600 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 53, + "entry_price": 90620.75471698113, + "entry_at": "2026-07-23T11:40:05.078927+09:00", + "stop": 78324, + "target": 115215, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 2431814.0917408336, + "last_add_price": 92200 } }, - "realized_pnl": -13762605.866500039, - "closed_trades": 105, + "realized_pnl": -13949839.16650004, + "closed_trades": 111, "wins": 1, "peak_equity": 100139236.48850003, "max_drawdown": 0.13492224070983055, @@ -222,31 +222,31 @@ "017670": "2026-06-23", "178320": "2026-06-23", "033640": "2026-07-01", - "012330": "2026-07-22", + "012330": "2026-07-23", "307950": "2026-07-01", "329180": "2026-07-02", "064400": "2026-06-24", "010120": "2026-07-08", "403870": "2026-07-07", "086790": "2026-06-26", - "011070": "2026-07-22", + "011070": "2026-07-23", "005935": "2026-07-02", "009150": "2026-07-22", "093370": "2026-07-20", "240810": "2026-07-08", "222800": "2026-07-21", "034730": "2026-07-16", - "402340": "2026-07-22", + "402340": "2026-07-23", "084370": "2026-07-09", - "319660": "2026-07-22", + "319660": "2026-07-23", "032830": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", - "003490": "2026-07-13", + "003490": "2026-07-23", "214450": "2026-07-20", "095610": "2026-07-20", "105560": "2026-07-20" }, "created_at": "2026-06-22T09:00:04.885286+09:00", - "updated_at": "2026-07-22T15:28:01.001570+09:00" + "updated_at": "2026-07-23T15:28:01.494565+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v305/trades.jsonl b/agents/stock/workspace/state/sim/variants/v305/trades.jsonl index 0b51b02..b28b771 100644 --- a/agents/stock/workspace/state/sim/variants/v305/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v305/trades.jsonl @@ -234,3 +234,18 @@ {"ts": "2026-07-22T14:32:02.552671+09:00", "side": "SELL", "code": "028260", "name": "삼성물산", "price": 359000, "qty": 12, "proceeds": 4299599, "entry_price": 359500, "pnl": -15048, "pnl_pct": -0.14, "hold_from": "2026-07-22T09:00:23.298878+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "359,499 (현재 359,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "350,250"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +202 · 기 -99"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T15:04:01.085920+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 7, "cost": 1106866, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 116536, "target": 241228, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "158,000 vs 99,750"}, {"label": "정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} {"ts": "2026-07-22T15:18:03.041549+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 98600, "qty": 43, "cost": 4240436, "path": "pullback", "reason": "눌림목 지정가 98,784 도달", "stop": 92100, "target": 111600, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "98,600 vs 91,910"}, {"label": "정배열(5>60)", "ok": true, "detail": "107,020 / 91,910"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "107,020 / 91,910"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+30.4%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 +54 · 기 -135 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+33%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.04% (환산) vs 평균 1.76% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "479,822 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.04% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 98,784 (현재 98,600)"}]} +{"ts": "2026-07-23T09:00:38.125765+09:00", "side": "SELL", "code": "003490", "name": "대한항공", "price": 24900, "qty": 172, "proceeds": 4274449, "entry_price": 25350, "pnl": -86405, "pnl_pct": -1.78, "hold_from": "2026-07-21T14:20:02.271187+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "23,650 (현재 24,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 28,750"}, {"label": "추세(60일선)", "ok": false, "detail": "25,150"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -381 · 기 -427"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 25,990"}]} +{"ts": "2026-07-23T09:00:38.126403+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 662000, "qty": 6, "cost": 3972596, "path": "pullback", "reason": "눌림목 지정가 872,593 도달", "stop": 661999, "target": 662002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "666,000 vs 638,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,000,200 / 638,100"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,000,200 / 638,100"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.4%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+83%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.46% (환산) vs 평균 2.76% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "108,233 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "0.46% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 872,593 (현재 666,000)"}]} +{"ts": "2026-07-23T10:56:01.548227+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 102600, "qty": 42, "cost": 4309846, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 111600, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 102,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 111,600"}, {"label": "추세(60일선)", "ok": true, "detail": "91,977"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +212 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 102,429"}]} +{"ts": "2026-07-23T11:14:02.545795+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 661000, "qty": 6, "proceeds": 3958266, "entry_price": 662000, "pnl": -14330, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:00:38.126399+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "661,999 (현재 661,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,017"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +63 · 기 -29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T11:14:02.546266+09:00", "side": "BUY", "code": "012330", "name": "현대모비스", "price": 519000, "qty": 8, "cost": 4152623, "path": "pullback", "reason": "눌림목 지정가 537,592 도달", "stop": 518999, "target": 519002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "517,000 vs 503,583"}, {"label": "정배열(5>60)", "ok": true, "detail": "573,000 / 503,583"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "573,000 / 503,583"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.6%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 +89 · 기 +50 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.65% (환산) vs 평균 1.23% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 822,000"}, {"label": "거래량 급증", "ok": false, "detail": "588,802 (환산) vs 평균 1,116,783"}, {"label": "회전율 급증", "ok": false, "detail": "0.65% (환산) vs 평균 1.23%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 537,592 (현재 517,000)"}]} +{"ts": "2026-07-23T11:24:02.155613+09:00", "side": "SELL", "code": "012330", "name": "현대모비스", "price": 518000, "qty": 8, "proceeds": 4135919, "entry_price": 519000, "pnl": -16704, "pnl_pct": -0.19, "hold_from": "2026-07-23T11:14:02.546263+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "518,999 (현재 518,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "503,600"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +89 · 기 +50"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T11:24:02.155799+09:00", "side": "BUY", "code": "402340", "name": "SK스퀘어", "price": 1213000, "qty": 3, "cost": 3639546, "path": "pullback", "reason": "눌림목 지정가 1,338,761 도달", "stop": 1212999, "target": 1213002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,212,000 vs 1,153,750"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,566,200 / 1,153,750"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,566,200 / 1,153,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+14.5%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 -148 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+57%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.99% (환산) vs 평균 1.01% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,189,000"}, {"label": "거래량 급증", "ok": false, "detail": "1,307,137 (환산) vs 평균 1,333,116"}, {"label": "회전율 급증", "ok": false, "detail": "0.99% (환산) vs 평균 1.01%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,338,761 (현재 1,212,000)"}]} +{"ts": "2026-07-23T11:26:06.132673+09:00", "side": "SELL", "code": "402340", "name": "SK스퀘어", "price": 1210000, "qty": 3, "proceeds": 3622922, "entry_price": 1213000, "pnl": -16624, "pnl_pct": -0.25, "hold_from": "2026-07-23T11:24:02.155796+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,212,999 (현재 1,210,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 1,213,002"}, {"label": "추세(60일선)", "ok": true, "detail": "1,153,717"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -148 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 1,306,155"}]} +{"ts": "2026-07-23T11:26:06.497530+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 152500, "qty": 28, "cost": 4270640, "path": "pullback", "reason": "눌림목 지정가 168,826 도달", "stop": 152499, "target": 152502, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "152,500 vs 113,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "168,140 / 113,100"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "168,140 / 113,100"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+70.8%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.94% (환산) vs 평균 2.68% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "1,142,705 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "3.94% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 168,826 (현재 152,500)"}]} +{"ts": "2026-07-23T11:38:01.661949+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 152100, "qty": 28, "proceeds": 4250495, "entry_price": 152500, "pnl": -20145, "pnl_pct": -0.26, "hold_from": "2026-07-23T11:26:06.497511+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "152,499 (현재 152,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "113,095"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T11:38:02.083449+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 540000, "qty": 8, "cost": 4320648, "path": "pullback", "reason": "눌림목 지정가 635,942 도달", "stop": 539999, "target": 540002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "539,000 vs 538,925"}, {"label": "정배열(5>60)", "ok": true, "detail": "701,600 / 538,925"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "701,600 / 538,925"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+12.4%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 +12 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+56%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.70% (환산) vs 평균 1.13% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "65,948 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.70% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "37"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 635,942 (현재 539,000)"}]} +{"ts": "2026-07-23T11:40:04.658010+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 537000, "qty": 8, "proceeds": 4287623, "entry_price": 540000, "pnl": -33025, "pnl_pct": -0.56, "hold_from": "2026-07-23T11:38:02.083433+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "539,999 (현재 538,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 540,002"}, {"label": "추세(60일선)", "ok": false, "detail": "538,908"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +12 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 575,029"}]} +{"ts": "2026-07-23T11:40:05.078942+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 89100, "qty": 27, "cost": 2406061, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77133, "target": 113034, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "89,100 vs 75,073"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,180 / 75,073"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,180 / 75,073"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+50.2%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 -181 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+16%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.89% (환산) vs 평균 0.42% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "822,840 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.89% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "68"}]} +{"ts": "2026-07-23T11:52:01.447352+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 349500, "qty": 7, "cost": 2446867, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 294585, "target": 426330, "signals": [{"label": "손절선", "ok": true, "detail": "294,585 (현재 349,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 426,330"}, {"label": "추세(60일선)", "ok": true, "detail": "305,567"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +3 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 348,802"}]} +{"ts": "2026-07-23T13:34:01.674171+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92200, "qty": 26, "cost": 2397560, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77133, "target": 113034, "signals": [{"label": "손절선", "ok": true, "detail": "77,133 (현재 92,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,034"}, {"label": "추세(60일선)", "ok": true, "detail": "75,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,895"}]} diff --git a/agents/stock/workspace/state/sim/variants/v306/portfolio.json b/agents/stock/workspace/state/sim/variants/v306/portfolio.json index 1080975..391298d 100644 --- a/agents/stock/workspace/state/sim/variants/v306/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v306/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 45168819.852, + "cash": 39497469.276999995, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-08T09:16:02.770139+09:00", "stop": 112608, "target": 160006, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 3646719.3653269354, "last_add_price": 130800 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 163,375 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1939184.036126371, "last_add_price": 139100 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 5795785.200968751, "last_add_price": 6030 @@ -76,12 +76,12 @@ "entry_at": "2026-07-16T09:04:05.884866+09:00", "stop": 305399, "target": 430953, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 4001941.6430547875, "last_add_price": 353000 @@ -102,7 +102,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 1, "tranche_value": 4745811.182638343, "last_add_price": 139800 @@ -113,20 +113,20 @@ "sources": [ "auto" ], - "qty": 57, - "entry_price": 99200, + "qty": 112, + "entry_price": 101115.17857142857, "entry_at": "2026-07-22T09:04:02.223675+09:00", "stop": 92100, - "target": 113400, - "peak": 101700, + "target": 119146, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5697846.5995, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -139,12 +139,12 @@ "entry_at": "2026-07-22T14:18:05.515661+09:00", "stop": 11077, "target": 19936, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2116357.2359968843, "last_add_price": 14030 @@ -160,12 +160,12 @@ "entry_at": "2026-07-22T15:04:01.089412+09:00", "stop": 120314, "target": 233671, - "peak": 158200, + "peak": 167200, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 1, "tranche_value": 1860148.4394164109, "last_add_price": 158100 @@ -191,5 +191,5 @@ "055550": "2026-07-20" }, "created_at": "2026-06-22T09:00:04.885297+09:00", - "updated_at": "2026-07-22T15:28:01.003300+09:00" + "updated_at": "2026-07-23T15:28:01.496250+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v306/trades.jsonl b/agents/stock/workspace/state/sim/variants/v306/trades.jsonl index c1eec9e..90c286e 100644 --- a/agents/stock/workspace/state/sim/variants/v306/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v306/trades.jsonl @@ -62,3 +62,4 @@ {"ts": "2026-07-22T12:12:01.130418+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 64, "proceeds": 10047569, "entry_price": 172134, "pnl": -970684, "pnl_pct": -8.62, "hold_from": "2026-07-21T10:12:01.510277+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 200,403"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.515662+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 150, "cost": 2104816, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 19936, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} {"ts": "2026-07-22T15:04:01.089413+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 11, "cost": 1739361, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 120314, "target": 233671, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,000 vs 136,315"}, {"label": "정배열(5>20)", "ok": true, "detail": "172,240 / 136,315"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} +{"ts": "2026-07-23T12:18:01.634878+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 55, "cost": 5671351, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 113400, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,400"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} diff --git a/agents/stock/workspace/state/sim/variants/v307/portfolio.json b/agents/stock/workspace/state/sim/variants/v307/portfolio.json index c4b176e..91132de 100644 --- a/agents/stock/workspace/state/sim/variants/v307/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v307/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 69865917.06199998, + "cash": 57525205.93699998, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1101385.0818785944, "last_add_price": 177000 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 2904162.8944228827, "last_add_price": 132700 @@ -55,12 +55,12 @@ "entry_at": "2026-07-09T09:06:03.790209+09:00", "stop": 118773, "target": 165142, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 2515299.6269763918, "last_add_price": 136900 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,024 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1112955.347726078, "last_add_price": 139900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 6, - "entry_price": 344500, + "qty": 12, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.261297+09:00", - "stop": 303577, - "target": 426346, - "peak": 346000, + "stop": 308113, + "target": 434524, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 2312659.7890401366, - "last_add_price": 344500 + "last_add_price": 356000 }, "034730": { "code": "034730", @@ -118,19 +118,61 @@ "entry_at": "2026-07-22T10:02:05.327432+09:00", "stop": 604000, "target": 721000, - "peak": 663000, + "peak": 668000, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 705,586 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 4529637.724381998, "last_add_price": 643000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 16, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:38.324413+09:00", + "stop": 351499, + "target": 351502, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 5675261.128874999, + "last_add_price": 351500 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 49, + "entry_price": 91167.3469387755, + "entry_at": "2026-07-23T10:44:03.393685+09:00", + "stop": 79945, + "target": 113612, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 2272740.2217699476, + "last_add_price": 92800 } }, - "realized_pnl": -8857691.958000034, - "closed_trades": 60, + "realized_pnl": -8969369.003000036, + "closed_trades": 65, "wins": 1, "peak_equity": 100266527.41749999, "max_drawdown": 0.09468673743898899, @@ -141,20 +183,20 @@ "005935": "2026-07-01", "240810": "2026-07-08", "222800": "2026-07-21", - "009150": "2026-07-22", + "009150": "2026-07-23", "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-21", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "003490": "2026-07-09", "402340": "2026-07-22", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "055550": "2026-07-20", "105560": "2026-07-20" }, "created_at": "2026-06-22T09:00:04.885305+09:00", - "updated_at": "2026-07-22T15:28:01.005065+09:00" + "updated_at": "2026-07-23T15:28:01.498028+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v307/trades.jsonl b/agents/stock/workspace/state/sim/variants/v307/trades.jsonl index b8c88b7..ec9151b 100644 --- a/agents/stock/workspace/state/sim/variants/v307/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v307/trades.jsonl @@ -139,3 +139,17 @@ {"ts": "2026-07-22T14:40:01.369556+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 551000, "qty": 10, "proceeds": 5499256, "entry_price": 552000, "pnl": -21573, "pnl_pct": -0.18, "hold_from": "2026-07-22T14:38:01.303348+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "551,999 (현재 551,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 552,002"}, {"label": "추세(60일선)", "ok": true, "detail": "539,125"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 586,100"}]} {"ts": "2026-07-22T14:44:01.247441+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 35, "cost": 5572836, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 161600, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.894138+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 35, "proceeds": 5519216, "entry_price": 159200, "pnl": -53619, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:01.247438+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 161,600"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:38.322675+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:38.324418+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 16, "cost": 5624844, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351502, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:06.014932+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:38.322668+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:06.015276+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 17, "cost": 5602340, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329502, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:02.233094+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 17, "proceeds": 5582094, "entry_price": 329500, "pnl": -20247, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:06.015272+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:02.233327+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 8, "cost": 5440816, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.563091+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 8, "proceeds": 5405439, "entry_price": 680000, "pnl": -35377, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:02.233324+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.563295+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 36, "cost": 5681652, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157802, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.892694+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 36, "proceeds": 5658944, "entry_price": 157800, "pnl": -22709, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.563294+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,802"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.892809+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 10, "cost": 5440816, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.393421+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 10, "proceeds": 5419412, "entry_price": 544000, "pnl": -21405, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.892808+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.393687+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 89600, "qty": 25, "cost": 2240336, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 78792, "target": 111216, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "89,600 vs 75,082"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.5%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -181 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+15%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.94% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "871,257 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.94% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]} +{"ts": "2026-07-23T12:22:02.689361+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 6, "cost": 2136320, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 426346, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 426,346"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T13:42:05.699578+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92800, "qty": 24, "cost": 2227534, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 78792, "target": 111216, "signals": [{"label": "손절선", "ok": true, "detail": "78,792 (현재 92,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 111,216"}, {"label": "추세(60일선)", "ok": true, "detail": "75,133"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,406"}]} diff --git a/agents/stock/workspace/state/sim/variants/v308/portfolio.json b/agents/stock/workspace/state/sim/variants/v308/portfolio.json index 8c9edcb..9ec3b33 100644 --- a/agents/stock/workspace/state/sim/variants/v308/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v308/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 52485016.77599993, + "cash": 41362614.765999936, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-08T09:12:06.890937+09:00", "stop": 113684, "target": 156342, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 3932156.363213972, "last_add_price": 130800 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1905912.3260026476, "last_add_price": 139100 @@ -55,12 +55,12 @@ "entry_at": "2026-07-13T14:36:02.694098+09:00", "stop": 303669, "target": 414161, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 4091526.4858662924, "last_add_price": 346500 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 1, "tranche_value": 5740927.925062496, "last_add_price": 6170 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 56, - "entry_price": 99200, + "qty": 110, + "entry_price": 101114.54545454546, "entry_at": "2026-07-22T09:04:02.232297+09:00", "stop": 92100, - "target": 113400, - "peak": 101700, + "target": 119144, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5579733.175874996, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -118,12 +118,12 @@ "entry_at": "2026-07-22T14:18:05.519153+09:00", "stop": 11372, "target": 19346, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2305429.512623813, "last_add_price": 14030 @@ -139,19 +139,40 @@ "entry_at": "2026-07-22T15:04:01.092960+09:00", "stop": 124093, "target": 226114, - "peak": 158200, + "peak": 167200, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 1, "tranche_value": 2026589.4025323594, "last_add_price": 158100 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 290, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.383631+09:00", + "stop": 17760, + "target": 21030, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 20,001 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5477928.115687496, + "last_add_price": 18850 } }, - "realized_pnl": -12683439.276000014, - "closed_trades": 28, + "realized_pnl": -12770286.201000012, + "closed_trades": 29, "wins": 3, "peak_equity": 103214817.49949999, "max_drawdown": 0.15721774369826957, @@ -167,12 +188,12 @@ "222800": "2026-07-03", "402340": "2026-07-07", "003490": "2026-07-07", - "319660": "2026-07-22", + "319660": "2026-07-23", "214450": "2026-07-09", "105560": "2026-07-20", "055550": "2026-07-20", "086790": "2026-07-21" }, "created_at": "2026-06-22T09:00:04.885314+09:00", - "updated_at": "2026-07-22T15:28:01.006699+09:00" + "updated_at": "2026-07-23T15:28:01.499668+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v308/trades.jsonl b/agents/stock/workspace/state/sim/variants/v308/trades.jsonl index fe718fa..01f7d26 100644 --- a/agents/stock/workspace/state/sim/variants/v308/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v308/trades.jsonl @@ -80,3 +80,7 @@ {"ts": "2026-07-22T12:12:01.143069+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 64, "proceeds": 10047569, "entry_price": 172134, "pnl": -970684, "pnl_pct": -8.62, "hold_from": "2026-07-21T10:12:01.515354+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 200,403"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.519154+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 164, "cost": 2301265, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11372, "target": 19346, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} {"ts": "2026-07-22T15:04:01.092961+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 12, "cost": 1897485, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 124093, "target": 226114, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,000 vs 136,315"}, {"label": "정배열(5>20)", "ok": true, "detail": "172,240 / 136,315"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} +{"ts": "2026-07-23T09:00:38.435187+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 33, "cost": 5284092, "path": "pullback", "reason": "눌림목 지정가 169,062 도달", "stop": 158000, "target": 164300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 169,062 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:06.020089+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "proceeds": 5197246, "entry_price": 160100, "pnl": -86847, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:38.435181+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.383632+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 290, "cost": 5467320, "path": "pullback", "reason": "눌림목 지정가 20,001 도달", "stop": 17760, "target": 21030, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 20,001 (현재 18,850)"}]} +{"ts": "2026-07-23T12:18:01.638394+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 54, "cost": 5568235, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 113400, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,400"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} diff --git a/agents/stock/workspace/state/sim/variants/v309/portfolio.json b/agents/stock/workspace/state/sim/variants/v309/portfolio.json index 3a120dc..fe3b5eb 100644 --- a/agents/stock/workspace/state/sim/variants/v309/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v309/portfolio.json @@ -1,28 +1,7 @@ { - "cash": 19266896.893499956, + "cash": 24577347.32749995, "initial": 100000000, "positions": { - "055550": { - "code": "055550", - "name": "신한지주", - "sources": [ - "auto" - ], - "qty": 146, - "entry_price": 103531.50684931508, - "entry_at": "2026-07-02T10:18:05.117291+09:00", - "stop": 95444, - "target": 123751, - "peak": 113050, - "trailing_on": false, - "scaled_out": false, - "entry_path": "immediate", - "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 104100, - "tranches": 2, - "tranche_value": 7629299.601532606, - "last_add_price": 104900 - }, "086790": { "code": "086790", "name": "하나금융지주", @@ -39,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 123,632 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 6715782.648119116, "last_add_price": 126200 @@ -55,37 +34,16 @@ "entry_at": "2026-07-08T09:08:02.837702+09:00", "stop": 116371, "target": 157844, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5629909.698589857, "last_add_price": 130800 }, - "095610": { - "code": "095610", - "name": "테스", - "sources": [ - "auto" - ], - "qty": 35, - "entry_price": 162954.2857142857, - "entry_at": "2026-07-10T09:00:32.996874+09:00", - "stop": 134154, - "target": 234954, - "peak": 230500, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 161,640 도달", - "cur_price": 157000, - "tranches": 2, - "tranche_value": 2897052.7174822036, - "last_add_price": 168200 - }, "214450": { "code": "214450", "name": "파마리서치", @@ -97,12 +55,12 @@ "entry_at": "2026-07-10T09:00:33.035507+09:00", "stop": 288819, "target": 393054, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 5662017.171948669, "last_add_price": 324000 @@ -118,19 +76,61 @@ "entry_at": "2026-07-22T12:12:01.525746+09:00", "stop": 5700, "target": 6996, - "peak": 6080, + "peak": 6170, "trailing_on": false, "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 6060, + "cur_price": 6150, "tranches": 1, "tranche_value": 7133868.060916662, "last_add_price": 6070 + }, + "252990": { + "code": "252990", + "name": "샘씨엔에스", + "sources": [ + "auto" + ], + "qty": 238, + "entry_price": 13930, + "entry_at": "2026-07-23T09:36:02.050950+09:00", + "stop": 11689, + "target": 19531, + "peak": 14230, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 14,305 도달", + "cur_price": 14060, + "tranches": 1, + "tranche_value": 3318642.253954581, + "last_add_price": 13930 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 129, + "entry_price": 91213.95348837209, + "entry_at": "2026-07-23T10:24:02.326263+09:00", + "stop": 82797, + "target": 112256, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 5923537.593329019, + "last_add_price": 92800 } }, - "realized_pnl": -17178721.37900001, - "closed_trades": 22, + "realized_pnl": -17606191.504000016, + "closed_trades": 24, "wins": 0, "peak_equity": 100204129.27299997, "max_drawdown": 0.16351731950446674, @@ -146,11 +146,12 @@ "214450": "2026-07-09", "009150": "2026-07-07", "319660": "2026-07-22", - "095610": "2026-07-07", + "095610": "2026-07-23", "475150": "2026-07-08", "030000": "2026-07-16", - "089970": "2026-07-20" + "089970": "2026-07-20", + "055550": "2026-07-23" }, "created_at": "2026-06-22T09:00:04.885323+09:00", - "updated_at": "2026-07-22T15:28:01.008332+09:00" + "updated_at": "2026-07-23T15:28:01.501320+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v309/trades.jsonl b/agents/stock/workspace/state/sim/variants/v309/trades.jsonl index eee01fb..f76fa3e 100644 --- a/agents/stock/workspace/state/sim/variants/v309/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v309/trades.jsonl @@ -62,3 +62,8 @@ {"ts": "2026-07-21T09:02:07.178820+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 171500, "qty": 39, "cost": 6689503, "path": "pullback", "reason": "눌림목 지정가 173,518 도달", "stop": 158000, "target": 205250, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "171,800 vs 170,170"}, {"label": "정배열(5>10)", "ok": true, "detail": "172,000 / 170,170"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,000 / 113,422"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+97.3%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 -526 · 기 +316 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+4%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "280,933 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "60"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 173,518 (현재 171,800)"}]} {"ts": "2026-07-22T12:12:01.147677+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 39, "proceeds": 6122737, "entry_price": 171500, "pnl": -566766, "pnl_pct": -8.28, "hold_from": "2026-07-21T09:02:07.178804+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 205,250"}, {"label": "추세(10일선)", "ok": false, "detail": "168,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 181,005"}]} {"ts": "2026-07-22T12:12:01.525762+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6070, "qty": 1175, "cost": 7133320, "path": "immediate", "reason": "조건 충족 — 즉시매수(눌림 안 기다림)", "stop": 5700, "target": 6996, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,070 vs 5,560"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,680 / 5,560"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,680 / 5,617"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.9%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 +65 · 기 -1 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.15% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": false, "detail": "32,353 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": false, "detail": "0.15% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "68"}, {"label": "눌림목 도달", "ok": false, "detail": "지정가 5,560 (현재 6,070)"}]} +{"ts": "2026-07-23T09:36:01.634614+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 103500, "qty": 146, "proceeds": 15081534, "entry_price": 103532, "pnl": -36334, "pnl_pct": -0.03, "hold_from": "2026-07-02T10:18:05.117291+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "95,444 (현재 103,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 123,751"}, {"label": "추세(10일선)", "ok": true, "detail": "99,310"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +69 · 기 -78"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:36:02.050965+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 13930, "qty": 238, "cost": 3315837, "path": "pullback", "reason": "눌림목 지정가 14,305 도달", "stop": 11689, "target": 19531, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "13,920 vs 12,965"}, {"label": "정배열(5>10)", "ok": true, "detail": "14,532 / 12,965"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,532 / 13,281"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.0%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 -956 · 기 +1,230 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.07% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "641,453 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "1.07% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,305 (현재 13,920)"}]} +{"ts": "2026-07-23T10:24:01.964593+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 152100, "qty": 35, "proceeds": 5313119, "entry_price": 162954, "pnl": -391136, "pnl_pct": -6.66, "hold_from": "2026-07-10T09:00:32.996874+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "134,154 (현재 152,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 234,954"}, {"label": "추세(10일선)", "ok": false, "detail": "152,780"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -101 · 기 -107"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:24:02.326280+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 89700, "qty": 66, "cost": 5921088, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 81605, "target": 109938, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "89,700 vs 81,050"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,300 / 81,050"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,300 / 75,083"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.8%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 -181 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+15%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.02% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "945,094 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "1.02% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]} +{"ts": "2026-07-23T13:42:05.702953+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92800, "qty": 63, "cost": 5847277, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 81605, "target": 109938, "signals": [{"label": "손절선", "ok": true, "detail": "81,605 (현재 92,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,938"}, {"label": "추세(10일선)", "ok": true, "detail": "81,350"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,506"}]} diff --git a/agents/stock/workspace/state/sim/variants/v310/portfolio.json b/agents/stock/workspace/state/sim/variants/v310/portfolio.json index 1dbe95f..1bc6929 100644 --- a/agents/stock/workspace/state/sim/variants/v310/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v310/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 64781615.34049993, + "cash": 64090673.030499935, "initial": 100000000, "positions": { "086790": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 129,300 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 3175234.87849388, "last_add_price": 129300 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 177,000 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1155855.8136422108, "last_add_price": 158000 @@ -55,12 +55,12 @@ "entry_at": "2026-07-09T11:44:05.175517+09:00", "stop": 296187, "target": 431439, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 324,000 도달", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 2514022.686329285, "last_add_price": 337500 @@ -81,32 +81,11 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 183,300 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1090811.5958563713, "last_add_price": 142700 }, - "003490": { - "code": "003490", - "name": "대한항공", - "sources": [ - "auto" - ], - "qty": 132, - "entry_price": 26500, - "entry_at": "2026-07-16T09:10:05.757239+09:00", - "stop": 24459, - "target": 32624, - "peak": 27100, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 26,600 도달", - "cur_price": 25000, - "tranches": 1, - "tranche_value": 3514860.7031821385, - "last_add_price": 26500 - }, "010950": { "code": "010950", "name": "S-Oil", @@ -118,19 +97,40 @@ "entry_at": "2026-07-16T09:56:06.970463+09:00", "stop": 132096, "target": 190913, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 2733409.076744103, "last_add_price": 149100 + }, + "034730": { + "code": "034730", + "name": "SK", + "sources": [ + "auto" + ], + "qty": 6, + "entry_price": 647000, + "entry_at": "2026-07-23T11:26:06.539305+09:00", + "stop": 604000, + "target": 776000, + "peak": 661000, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 815,000 도달", + "cur_price": 656000, + "tranches": 1, + "tranche_value": 3983354.2952674506, + "last_add_price": 647000 } }, - "realized_pnl": -11376708.944500038, - "closed_trades": 58, + "realized_pnl": -11683593.654500043, + "closed_trades": 62, "wins": 1, "peak_equity": 100000000, "max_drawdown": 0.12029484659500063, @@ -142,9 +142,9 @@ "003550": "2026-06-23", "034220": "2026-06-24", "064400": "2026-06-24", - "011070": "2026-07-16", + "011070": "2026-07-23", "329180": "2026-06-24", - "012330": "2026-06-25", + "012330": "2026-07-23", "010120": "2026-07-07", "307950": "2026-06-25", "403870": "2026-06-26", @@ -154,7 +154,7 @@ "000660": "2026-07-02", "009150": "2026-07-15", "093370": "2026-07-03", - "402340": "2026-07-16", + "402340": "2026-07-23", "240810": "2026-07-03", "034730": "2026-07-16", "222800": "2026-07-16", @@ -164,8 +164,8 @@ "028260": "2026-07-16", "089970": "2026-07-09", "084370": "2026-07-09", - "003490": "2026-07-14" + "003490": "2026-07-23" }, "created_at": "2026-06-22T09:00:04.885332+09:00", - "updated_at": "2026-07-22T15:28:01.014764+09:00" + "updated_at": "2026-07-23T15:28:01.507691+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v310/trades.jsonl b/agents/stock/workspace/state/sim/variants/v310/trades.jsonl index 671ca3f..6577d0e 100644 --- a/agents/stock/workspace/state/sim/variants/v310/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v310/trades.jsonl @@ -134,3 +134,11 @@ {"ts": "2026-07-16T09:56:06.554839+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 675000, "qty": 11, "proceeds": 7410521, "entry_price": 676000, "pnl": -26594, "pnl_pct": -0.15, "hold_from": "2026-07-16T09:20:03.284005+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "675,999 (현재 675,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,250"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +503 · 기 -492"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-16T09:56:06.970477+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 144500, "qty": 18, "cost": 2601390, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 130294, "target": 187119, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "144,400 vs 113,437"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,060 / 113,437"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,060 / 113,437"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+54.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +73 · 기 +503 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.9/5"}, {"label": "상승여력", "ok": true, "detail": "+7%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.22% (환산) vs 평균 0.32% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 122,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,377,613 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "1.22% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "74"}]} {"ts": "2026-07-20T09:48:02.335999+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 149100, "qty": 18, "cost": 2684203, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 130294, "target": 187119, "signals": [{"label": "손절선", "ok": true, "detail": "130,294 (현재 149,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 187,119"}, {"label": "추세(60일선)", "ok": true, "detail": "113,515"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -87 · 기 +601"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 148,825"}]} +{"ts": "2026-07-23T09:00:38.674033+09:00", "side": "SELL", "code": "003490", "name": "대한항공", "price": 24900, "qty": 132, "proceeds": 3280391, "entry_price": 26500, "pnl": -218134, "pnl_pct": -6.04, "hold_from": "2026-07-16T09:10:05.757239+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "24,459 (현재 24,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 32,624"}, {"label": "추세(60일선)", "ok": false, "detail": "25,150"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -381 · 기 -427"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 27,140"}]} +{"ts": "2026-07-23T09:00:38.675076+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 662000, "qty": 11, "cost": 7283092, "path": "pullback", "reason": "눌림목 지정가 1,036,000 도달", "stop": 661999, "target": 662003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "666,000 vs 638,100"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,000,200 / 638,100"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,000,200 / 638,100"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+83%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.46% (환산) vs 평균 2.76% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "108,233 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "0.46% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,036,000 (현재 666,000)"}]} +{"ts": "2026-07-23T11:14:02.574329+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 661000, "qty": 11, "proceeds": 7256822, "entry_price": 662000, "pnl": -26271, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:00:38.675072+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "661,999 (현재 661,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,017"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +63 · 기 -29"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T11:14:02.574588+09:00", "side": "BUY", "code": "012330", "name": "현대모비스", "price": 519000, "qty": 14, "cost": 7267090, "path": "pullback", "reason": "눌림목 지정가 607,000 도달", "stop": 518999, "target": 519003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "517,000 vs 503,583"}, {"label": "정배열(5>60)", "ok": true, "detail": "573,000 / 503,583"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "573,000 / 503,583"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +89 · 기 +50 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.65% (환산) vs 평균 1.23% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 822,000"}, {"label": "거래량 급증", "ok": false, "detail": "588,802 (환산) vs 평균 1,116,783"}, {"label": "회전율 급증", "ok": false, "detail": "0.65% (환산) vs 평균 1.23%"}, {"label": "RSI", "ok": true, "detail": "41"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 607,000 (현재 517,000)"}]} +{"ts": "2026-07-23T11:24:02.172333+09:00", "side": "SELL", "code": "012330", "name": "현대모비스", "price": 518000, "qty": 14, "proceeds": 7237859, "entry_price": 519000, "pnl": -29231, "pnl_pct": -0.19, "hold_from": "2026-07-23T11:14:02.574586+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "518,999 (현재 518,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "503,600"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +89 · 기 +50"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T11:24:02.172575+09:00", "side": "BUY", "code": "402340", "name": "SK스퀘어", "price": 1213000, "qty": 6, "cost": 7279092, "path": "pullback", "reason": "눌림목 지정가 1,525,000 도달", "stop": 1212999, "target": 1213003, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,212,000 vs 1,153,750"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,566,200 / 1,153,750"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,566,200 / 1,153,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+14.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -148 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+57%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.99% (환산) vs 평균 1.01% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,189,000"}, {"label": "거래량 급증", "ok": false, "detail": "1,307,137 (환산) vs 평균 1,333,116"}, {"label": "회전율 급증", "ok": false, "detail": "0.99% (환산) vs 평균 1.01%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,525,000 (현재 1,212,000)"}]} +{"ts": "2026-07-23T11:26:06.537631+09:00", "side": "SELL", "code": "402340", "name": "SK스퀘어", "price": 1210000, "qty": 6, "proceeds": 7245843, "entry_price": 1213000, "pnl": -33249, "pnl_pct": -0.25, "hold_from": "2026-07-23T11:24:02.172573+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,212,999 (현재 1,210,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 1,213,003"}, {"label": "추세(60일선)", "ok": true, "detail": "1,153,717"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -148 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 1,306,155"}]} +{"ts": "2026-07-23T11:26:06.539307+09:00", "side": "BUY", "code": "034730", "name": "SK", "price": 647000, "qty": 6, "cost": 3882582, "path": "pullback", "reason": "눌림목 지정가 815,000 도달", "stop": 604000, "target": 776000, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "647,000 vs 528,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "747,400 / 528,983"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "747,400 / 528,983"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -36 · 기 +73 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.45% (환산) vs 평균 0.45% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 883,000"}, {"label": "거래량 급증", "ok": false, "detail": "326,462 (환산) vs 평균 329,863"}, {"label": "회전율 급증", "ok": false, "detail": "0.45% (환산) vs 평균 0.45%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 815,000 (현재 647,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v311/portfolio.json b/agents/stock/workspace/state/sim/variants/v311/portfolio.json index 065d7f1..18805fd 100644 --- a/agents/stock/workspace/state/sim/variants/v311/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v311/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 38175590.359999985, + "cash": 37031971.50999998, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-08T09:28:03.774820+09:00", "stop": 118522, "target": 165920, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4672093.2982409485, "last_add_price": 132400 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 177,000 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 2071195.31789497, "last_add_price": 158000 @@ -60,32 +60,11 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 7328397.072583333, "last_add_price": 6030 }, - "240810": { - "code": "240810", - "name": "원익IPS", - "sources": [ - "auto" - ], - "qty": 29, - "entry_price": 140424.1379310345, - "entry_at": "2026-07-15T09:02:05.274299+09:00", - "stop": 111041, - "target": 228575, - "peak": 147400, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 183,300 도달", - "cur_price": 112300, - "tranches": 2, - "tranche_value": 2076293.7969067274, - "last_add_price": 145700 - }, "214450": { "code": "214450", "name": "파마리서치", @@ -97,12 +76,12 @@ "entry_at": "2026-07-16T09:04:05.922536+09:00", "stop": 315861, "target": 441416, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 5051541.085061288, "last_add_price": 353000 @@ -123,14 +102,35 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 1, "tranche_value": 5856917.075922563, "last_add_price": 136500 + }, + "161890": { + "code": "161890", + "name": "한국콜마", + "sources": [ + "auto" + ], + "qty": 42, + "entry_price": 102200, + "entry_at": "2026-07-23T11:00:03.572572+09:00", + "stop": 92100, + "target": 132500, + "peak": 104500, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 106,500 도달", + "cur_price": 102200, + "tranches": 1, + "tranche_value": 4351266.965749504, + "last_add_price": 102200 } }, - "realized_pnl": -14285639.894000018, - "closed_trades": 26, + "realized_pnl": -15209125.729000019, + "closed_trades": 28, "wins": 1, "peak_equity": 100133491.83, "max_drawdown": 0.14996003031126906, @@ -144,14 +144,14 @@ "003490": "2026-07-07", "034730": "2026-07-02", "030000": "2026-07-16", - "240810": "2026-07-08", + "240810": "2026-07-23", "009150": "2026-07-03", "214450": "2026-07-14", "095610": "2026-07-07", "475150": "2026-07-08", - "319660": "2026-07-13", + "319660": "2026-07-23", "105560": "2026-07-20" }, "created_at": "2026-06-22T09:00:04.885342+09:00", - "updated_at": "2026-07-22T15:28:01.016414+09:00" + "updated_at": "2026-07-23T15:28:01.509350+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v311/trades.jsonl b/agents/stock/workspace/state/sim/variants/v311/trades.jsonl index d263d80..8f61c38 100644 --- a/agents/stock/workspace/state/sim/variants/v311/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v311/trades.jsonl @@ -73,3 +73,7 @@ {"ts": "2026-07-16T14:16:02.587365+09:00", "side": "BUY", "code": "240810", "name": "원익IPS", "price": 145700, "qty": 14, "cost": 2040106, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 106641, "target": 222076, "signals": [{"label": "손절선", "ok": true, "detail": "106,641 (현재 145,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 222,076"}, {"label": "추세(20일선)", "ok": true, "detail": "121,130"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -1,717 · 기 +2,299"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 145,295"}]} {"ts": "2026-07-20T09:04:02.983147+09:00", "side": "SELL", "code": "105560", "name": "KB금융", "price": 173000, "qty": 57, "proceeds": 9841771, "entry_price": 188405, "pnl": -898940, "pnl_pct": -8.18, "hold_from": "2026-07-10T09:28:02.729047+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "173,249 (현재 173,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 233,875"}, {"label": "추세(20일선)", "ok": true, "detail": "159,270"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -332 · 기 +291"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-20T09:42:01.348222+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 136500, "qty": 42, "cost": 5733860, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 126311, "target": 167067, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "136,400 vs 119,065"}, {"label": "정배열(5>20)", "ok": true, "detail": "123,880 / 119,065"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "123,880 / 118,672"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+39.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -50 · 기 +414 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+19%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.76% (환산) vs 평균 0.37% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": true, "detail": "2,083,193 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": true, "detail": "0.76% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "65"}]} +{"ts": "2026-07-23T10:50:08.291609+09:00", "side": "SELL", "code": "240810", "name": "원익IPS", "price": 110600, "qty": 29, "proceeds": 3201146, "entry_price": 140424, "pnl": -871765, "pnl_pct": -21.24, "hold_from": "2026-07-15T09:02:05.274299+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "111,041 (현재 110,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 228,575"}, {"label": "추세(20일선)", "ok": false, "detail": "119,375"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -847 · 기 +78"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:50:08.291907+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 155200, "qty": 46, "cost": 7140271, "path": "pullback", "reason": "눌림목 지정가 188,200 도달", "stop": 155199, "target": 155203, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "155,000 vs 149,540"}, {"label": "정배열(5>20)", "ok": true, "detail": "168,640 / 149,540"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "168,640 / 113,142"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+73.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+16%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.63% (환산) vs 평균 2.68% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "1,342,696 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "4.63% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 188,200 (현재 155,000)"}]} +{"ts": "2026-07-23T11:00:03.207726+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 154400, "qty": 46, "proceeds": 7088550, "entry_price": 155200, "pnl": -51721, "pnl_pct": -0.52, "hold_from": "2026-07-23T10:50:08.291905+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "155,199 (현재 154,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,520"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T11:00:03.572587+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 102200, "qty": 42, "cost": 4293044, "path": "pullback", "reason": "눌림목 지정가 106,500 도달", "stop": 92100, "target": 132500, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "102,200 vs 98,675"}, {"label": "정배열(5>20)", "ok": true, "detail": "107,740 / 98,675"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "107,740 / 91,970"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+35.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +212 · 기 -227 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+28%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.05% (환산) vs 평균 1.76% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "483,734 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.05% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 106,500 (현재 102,200)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v312/portfolio.json b/agents/stock/workspace/state/sim/variants/v312/portfolio.json index 6761860..5e42d37 100644 --- a/agents/stock/workspace/state/sim/variants/v312/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v312/portfolio.json @@ -1,28 +1,7 @@ { - "cash": 17104419.312999997, + "cash": 27795533.566999998, "initial": 100000000, "positions": { - "055550": { - "code": "055550", - "name": "신한지주", - "sources": [ - "auto" - ], - "qty": 166, - "entry_price": 103533.73493975903, - "entry_at": "2026-07-02T10:18:05.142539+09:00", - "stop": 96524, - "target": 124562, - "peak": 113050, - "trailing_on": false, - "scaled_out": false, - "entry_path": "immediate", - "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 104100, - "tranches": 2, - "tranche_value": 8631054.00120924, - "last_add_price": 104900 - }, "086790": { "code": "086790", "name": "하나금융지주", @@ -39,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 129,300 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 8110500.977146673, "last_add_price": 129300 @@ -55,37 +34,16 @@ "entry_at": "2026-07-08T09:22:06.889846+09:00", "stop": 119085, "target": 160163, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 6618434.466110563, "last_add_price": 131700 }, - "095610": { - "code": "095610", - "name": "테스", - "sources": [ - "auto" - ], - "qty": 40, - "entry_price": 162845.0, - "entry_at": "2026-07-10T09:00:33.374268+09:00", - "stop": 137885, - "target": 237725, - "peak": 230500, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 177,000 도달", - "cur_price": 157000, - "tranches": 2, - "tranche_value": 3356725.3331134818, - "last_add_price": 168200 - }, "214450": { "code": "214450", "name": "파마리서치", @@ -97,19 +55,61 @@ "entry_at": "2026-07-16T09:00:29.554741+09:00", "stop": 312214, "target": 417870, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 7354011.877655987, "last_add_price": 344000 + }, + "090850": { + "code": "090850", + "name": "현대이지웰", + "sources": [ + "auto" + ], + "qty": 1422, + "entry_price": 6080, + "entry_at": "2026-07-23T09:36:02.472761+09:00", + "stop": 5765, + "target": 7024, + "peak": 6170, + "trailing_on": false, + "scaled_out": false, + "entry_path": "immediate", + "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", + "cur_price": 6150, + "tranches": 1, + "tranche_value": 8647951.636300001, + "last_add_price": 6080 + }, + "252990": { + "code": "252990", + "name": "샘씨엔에스", + "sources": [ + "auto" + ], + "qty": 278, + "entry_price": 13960, + "entry_at": "2026-07-23T10:24:02.373251+09:00", + "stop": 12018, + "target": 19785, + "peak": 14230, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 15,500 도달", + "cur_price": 14060, + "tranches": 1, + "tranche_value": 3890533.017372683, + "last_add_price": 13960 } }, - "realized_pnl": -15359751.832000017, - "closed_trades": 20, + "realized_pnl": -15844073.64200002, + "closed_trades": 22, "wins": 0, "peak_equity": 100226641.3075, "max_drawdown": 0.16166453761318966, @@ -124,10 +124,11 @@ "000660": "2026-06-29", "034730": "2026-07-02", "214450": "2026-07-09", - "095610": "2026-07-07", + "095610": "2026-07-23", "475150": "2026-07-08", - "030000": "2026-07-16" + "030000": "2026-07-16", + "055550": "2026-07-23" }, "created_at": "2026-06-22T09:00:04.885351+09:00", - "updated_at": "2026-07-22T15:28:01.022476+09:00" + "updated_at": "2026-07-23T15:28:01.515427+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v312/trades.jsonl b/agents/stock/workspace/state/sim/variants/v312/trades.jsonl index fe80a8e..3b93bf9 100644 --- a/agents/stock/workspace/state/sim/variants/v312/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v312/trades.jsonl @@ -57,3 +57,7 @@ {"ts": "2026-07-16T09:00:29.511008+09:00", "side": "SELL", "code": "030000", "name": "제일기획", "price": 18580, "qty": 446, "proceeds": 8270521, "entry_price": 19110, "pnl": -253817, "pnl_pct": -2.77, "hold_from": "2026-07-09T09:02:08.255797+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "18,163 (현재 18,560)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 21,951"}, {"label": "추세(10일선)", "ok": false, "detail": "18,904"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -120 · 기 -150"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 19,486"}]} {"ts": "2026-07-16T09:00:29.554753+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 333500, "qty": 22, "cost": 7338101, "path": "immediate", "reason": "조건 충족 — 즉시매수(눌림 안 기다림)", "stop": 308061, "target": 409817, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "329,500 vs 304,300"}, {"label": "정배열(5>10)", "ok": true, "detail": "312,100 / 304,300"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "312,100 / 305,242"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.3%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 -33 · 기 +28 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+46%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.28% (환산) vs 평균 0.93% (보류 6배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": false, "detail": "132,787 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": false, "detail": "1.28% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": false, "detail": "지정가 324,000 (현재 329,500)"}]} {"ts": "2026-07-16T09:08:05.704433+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 344000, "qty": 21, "cost": 7225084, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 308061, "target": 409817, "signals": [{"label": "손절선", "ok": true, "detail": "308,061 (현재 344,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 409,817"}, {"label": "추세(10일선)", "ok": true, "detail": "305,750"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -33 · 기 +28"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 343,659"}]} +{"ts": "2026-07-23T09:36:02.094484+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 103500, "qty": 166, "proceeds": 17147497, "entry_price": 103534, "pnl": -41681, "pnl_pct": -0.03, "hold_from": "2026-07-02T10:18:05.142539+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "96,524 (현재 103,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 124,562"}, {"label": "추세(10일선)", "ok": true, "detail": "99,310"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +69 · 기 -78"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:36:02.472778+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6080, "qty": 1422, "cost": 8647057, "path": "immediate", "reason": "조건 충족 — 즉시매수(눌림 안 기다림)", "stop": 5765, "target": 7024, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,070 vs 5,560"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,680 / 5,560"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,680 / 5,617"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.6%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 +56 · 기 -1 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.08% (환산) vs 평균 0.22% (보류 6배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": false, "detail": "16,873 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": false, "detail": "0.08% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "68"}, {"label": "눌림목 도달", "ok": false, "detail": "지정가 5,690 (현재 6,070)"}]} +{"ts": "2026-07-23T10:24:02.369213+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 152100, "qty": 40, "proceeds": 6072136, "entry_price": 162845, "pnl": -442641, "pnl_pct": -6.6, "hold_from": "2026-07-10T09:00:33.374268+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "137,885 (현재 152,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 237,725"}, {"label": "추세(10일선)", "ok": false, "detail": "152,780"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -101 · 기 -107"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:24:02.373253+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 13960, "qty": 278, "cost": 3881462, "path": "pullback", "reason": "눌림목 지정가 15,500 도달", "stop": 12018, "target": 19785, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "13,960 vs 12,969"}, {"label": "정배열(5>10)", "ok": true, "detail": "14,540 / 12,969"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,540 / 13,282"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.7%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 -966 · 기 +1,230 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.21% (환산) vs 평균 1.47% (보류 6배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "726,573 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "1.21% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 15,500 (현재 13,960)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v313/portfolio.json b/agents/stock/workspace/state/sim/variants/v313/portfolio.json index 881cc25..e21425c 100644 --- a/agents/stock/workspace/state/sim/variants/v313/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v313/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 66508647.190499924, + "cash": 56419084.21049992, "initial": 100000000, "positions": { "055550": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 104100, + "cur_price": 103400, "tranches": 2, "tranche_value": 2392792.516725811, "last_add_price": 112800 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 922993.4614919071, "last_add_price": 177000 @@ -55,12 +55,12 @@ "entry_at": "2026-07-09T09:10:02.696468+09:00", "stop": 115200, "target": 169297, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 2048281.4287081354, "last_add_price": 136900 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 174700, + "cur_price": 176200, "tranches": 2, "tranche_value": 2190880.642895634, "last_add_price": 188900 @@ -102,7 +102,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 2270015.592943854, "last_add_price": 134300 @@ -123,7 +123,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 154,441 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 986051.4471979743, "last_add_price": 145700 @@ -137,14 +137,14 @@ "qty": 8, "entry_price": 553000, "entry_at": "2026-07-20T09:00:35.565898+09:00", - "stop": 553586, + "stop": 559121, "target": 553002, - "peak": 663000, + "peak": 668000, "trailing_on": true, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 697,871 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 4730909.148749998, "last_add_price": 553000 @@ -155,24 +155,66 @@ "sources": [ "auto" ], - "qty": 5, - "entry_price": 344500, + "qty": 10, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.281525+09:00", - "stop": 293346, - "target": 436576, - "peak": 346000, + "stop": 297579, + "target": 445059, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 1881614.4320314971, - "last_add_price": 344500 + "last_add_price": 356000 + }, + "028260": { + "code": "028260", + "name": "삼성물산", + "sources": [ + "manual" + ], + "qty": 13, + "entry_price": 351500, + "entry_at": "2026-07-23T09:00:38.999171+09:00", + "stop": 351499, + "target": 351502, + "peak": 362000, + "trailing_on": true, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 363,093 도달", + "cur_price": 358500, + "tranches": 1, + "tranche_value": 4648840.409524997, + "last_add_price": 351500 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 40, + "entry_price": 91200.0, + "entry_at": "2026-07-23T10:44:03.413801+09:00", + "stop": 77172, + "target": 116450, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 1862199.0150068374, + "last_add_price": 92800 } }, - "realized_pnl": -6695534.039500026, - "closed_trades": 58, + "realized_pnl": -6786097.394500028, + "closed_trades": 63, "wins": 1, "peak_equity": 100186518.14249998, "max_drawdown": 0.07735522593945146, @@ -181,20 +223,20 @@ "307950": "2026-07-01", "403870": "2026-07-07", "005935": "2026-07-01", - "009150": "2026-07-22", + "009150": "2026-07-23", "240810": "2026-07-07", "034730": "2026-07-16", "093370": "2026-07-20", - "032830": "2026-07-22", - "319660": "2026-07-22", - "011070": "2026-07-22", + "032830": "2026-07-23", + "319660": "2026-07-23", + "011070": "2026-07-23", "402340": "2026-07-22", "003490": "2026-07-13", - "004170": "2026-07-22", + "004170": "2026-07-23", "028260": "2026-07-22", "214450": "2026-07-15", "222800": "2026-07-21" }, "created_at": "2026-06-22T09:00:04.885359+09:00", - "updated_at": "2026-07-22T15:28:01.024229+09:00" + "updated_at": "2026-07-23T15:28:01.517160+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v313/trades.jsonl b/agents/stock/workspace/state/sim/variants/v313/trades.jsonl index 6f4cc10..0826519 100644 --- a/agents/stock/workspace/state/sim/variants/v313/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v313/trades.jsonl @@ -135,3 +135,17 @@ {"ts": "2026-07-22T14:32:02.577868+09:00", "side": "SELL", "code": "028260", "name": "삼성물산", "price": 359000, "qty": 12, "proceeds": 4299599, "entry_price": 359500, "pnl": -15048, "pnl_pct": -0.14, "hold_from": "2026-07-22T09:00:24.156891+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "359,499 (현재 359,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "350,250"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +202 · 기 -99"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:44:01.281415+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159200, "qty": 29, "cost": 4617493, "path": "pullback", "reason": "눌림목 지정가 159,643 도달", "stop": 158000, "target": 161360, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "159,200 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,480 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.6%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -407 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.67% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "1,063,849 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "3.67% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,643 (현재 159,200)"}]} {"ts": "2026-07-22T14:58:00.913381+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 158000, "qty": 29, "proceeds": 4573065, "entry_price": 159200, "pnl": -44427, "pnl_pct": -0.75, "hold_from": "2026-07-22T14:44:01.281413+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 158,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 161,360"}, {"label": "추세(60일선)", "ok": true, "detail": "113,192"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 168,719"}]} +{"ts": "2026-07-23T09:00:38.998131+09:00", "side": "BUY", "code": "009150", "name": "삼성전기", "price": 1420000, "qty": 3, "cost": 4260639, "path": "pullback", "reason": "눌림목 지정가 1,833,766 도달", "stop": 1419999, "target": 1420002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "1,412,000 vs 1,285,983"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,924,800 / 1,285,983"}, {"label": "상대강도(시장대비)", "ok": false, "detail": "-2.4%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -79 · 기 +39 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+77%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.69% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 2,417,000"}, {"label": "거래량 급증", "ok": false, "detail": "515,280 (환산) vs 평균 1,312,239"}, {"label": "회전율 급증", "ok": false, "detail": "0.69% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "40"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 1,833,766 (현재 1,412,000)"}]} +{"ts": "2026-07-23T09:00:38.999177+09:00", "side": "BUY", "code": "028260", "name": "삼성물산", "price": 351500, "qty": 13, "cost": 4570185, "path": "pullback", "reason": "눌림목 지정가 363,093 도달", "stop": 351499, "target": 351502, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "355,000 vs 350,183"}, {"label": "정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "406,700 / 350,183"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+0.1%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +215 · 기 -70 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+65%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.12% (환산) vs 평균 0.43% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 565,000"}, {"label": "거래량 급증", "ok": false, "detail": "193,680 (환산) vs 평균 706,119"}, {"label": "회전율 급증", "ok": false, "detail": "0.12% (환산) vs 평균 0.43%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 363,093 (현재 355,000)"}]} +{"ts": "2026-07-23T09:32:06.052981+09:00", "side": "SELL", "code": "009150", "name": "삼성전기", "price": 1419000, "qty": 3, "proceeds": 4248699, "entry_price": 1420000, "pnl": -11940, "pnl_pct": -0.07, "hold_from": "2026-07-23T09:00:38.998123+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "1,419,999 (현재 1,419,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "1,286,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -79 · 기 +39"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:32:06.053353+09:00", "side": "BUY", "code": "032830", "name": "삼성생명", "price": 329500, "qty": 14, "cost": 4613692, "path": "pullback", "reason": "눌림목 지정가 390,057 도달", "stop": 329499, "target": 329502, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "329,500 vs 311,417"}, {"label": "정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "438,600 / 311,417"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+7.8%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +156 · 기 -137 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.28% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 516,500"}, {"label": "거래량 급증", "ok": false, "detail": "283,300 (환산) vs 평균 563,003"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.28%"}, {"label": "RSI", "ok": true, "detail": "43"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 390,057 (현재 329,500)"}]} +{"ts": "2026-07-23T09:54:02.270816+09:00", "side": "SELL", "code": "032830", "name": "삼성생명", "price": 329000, "qty": 14, "proceeds": 4597018, "entry_price": 329500, "pnl": -16674, "pnl_pct": -0.15, "hold_from": "2026-07-23T09:32:06.053351+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "329,499 (현재 329,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "311,408"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +156 · 기 -137"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:54:02.271178+09:00", "side": "BUY", "code": "011070", "name": "LG이노텍", "price": 680000, "qty": 6, "cost": 4080612, "path": "pullback", "reason": "눌림목 지정가 790,890 도달", "stop": 679999, "target": 680002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "680,000 vs 638,333"}, {"label": "정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "1,003,000 / 638,333"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.7%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +63 · 기 -29 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+79%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.15% (환산) vs 평균 2.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 1,788,000"}, {"label": "거래량 급증", "ok": false, "detail": "744,693 (환산) vs 평균 652,757"}, {"label": "회전율 급증", "ok": false, "detail": "3.15% (환산) vs 평균 2.76%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 790,890 (현재 680,000)"}]} +{"ts": "2026-07-23T10:02:07.582410+09:00", "side": "SELL", "code": "011070", "name": "LG이노텍", "price": 677000, "qty": 6, "proceeds": 4054079, "entry_price": 680000, "pnl": -26533, "pnl_pct": -0.44, "hold_from": "2026-07-23T09:54:02.271176+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "679,999 (현재 678,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "638,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +58 · 기 -26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:02:07.582900+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 29, "cost": 4576886, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 157799, "target": 157802, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "157,700 vs 113,187"}, {"label": "정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,180 / 113,187"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.8%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -144 · 기 +35 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.02% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,744,589 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "6.02% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "54"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 157,700)"}]} +{"ts": "2026-07-23T10:06:04.912052+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157500, "qty": 29, "proceeds": 4558593, "entry_price": 157800, "pnl": -18293, "pnl_pct": -0.19, "hold_from": "2026-07-23T10:02:07.582899+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "157,799 (현재 157,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,802"}, {"label": "추세(60일선)", "ok": true, "detail": "113,183"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -144 · 기 +35"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 167,369"}]} +{"ts": "2026-07-23T10:06:04.912331+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 544000, "qty": 8, "cost": 4352653, "path": "pullback", "reason": "눌림목 지정가 600,913 도달", "stop": 543999, "target": 544002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "543,000 vs 538,992"}, {"label": "정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "702,400 / 538,992"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+11.6%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +10 · 기 -3 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+55%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.96% (환산) vs 평균 1.13% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "90,450 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "0.96% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 600,913 (현재 543,000)"}]} +{"ts": "2026-07-23T10:44:03.413415+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 543000, "qty": 8, "proceeds": 4335529, "entry_price": 544000, "pnl": -17124, "pnl_pct": -0.18, "hold_from": "2026-07-23T10:06:04.912329+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "543,999 (현재 543,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,992"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +10 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:44:03.413802+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 89600, "qty": 20, "cost": 1792269, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 76090, "target": 113918, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "89,600 vs 75,082"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,280 / 75,082"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.5%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -181 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+15%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.94% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "871,257 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.94% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]} +{"ts": "2026-07-23T12:22:02.708699+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 5, "cost": 1780267, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 293346, "target": 436576, "signals": [{"label": "손절선", "ok": true, "detail": "293,346 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 436,576"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T13:42:05.718845+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92800, "qty": 20, "cost": 1856278, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 76090, "target": 113918, "signals": [{"label": "손절선", "ok": true, "detail": "76,090 (현재 92,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,918"}, {"label": "추세(60일선)", "ok": true, "detail": "75,133"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 92,406"}]} diff --git a/agents/stock/workspace/state/sim/variants/v314/portfolio.json b/agents/stock/workspace/state/sim/variants/v314/portfolio.json index 9e0926a..d90e356 100644 --- a/agents/stock/workspace/state/sim/variants/v314/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v314/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 49317635.464000024, + "cash": 40402901.89400002, "initial": 100000000, "positions": { "055550": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 104100, + "cur_price": 103400, "tranches": 2, "tranche_value": 4479850.3557250975, "last_add_price": 113200 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1669145.8665217268, "last_add_price": 177000 @@ -55,12 +55,12 @@ "entry_at": "2026-07-09T09:06:04.554592+09:00", "stop": 117251, "target": 168257, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 3777878.7367542596, "last_add_price": 136900 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1969595.787789421, "last_add_price": 139100 @@ -102,7 +102,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 5434580.417579264, "last_add_price": 6150 @@ -123,7 +123,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 1, "tranche_value": 4337007.4483669065, "last_add_price": 140200 @@ -134,24 +134,45 @@ "sources": [ "auto" ], - "qty": 10, - "entry_price": 344500, + "qty": 19, + "entry_price": 349947.36842105264, "entry_at": "2026-07-21T12:06:01.283289+09:00", - "stop": 299485, - "target": 434530, - "peak": 346000, + "stop": 303597, + "target": 442649, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 3459622.8594091423, - "last_add_price": 344500 + "last_add_price": 356000 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 298, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.403238+09:00", + "stop": 17760, + "target": 21030, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 19,627 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5630606.568062501, + "last_add_price": 18850 } }, - "realized_pnl": -8906489.094500009, - "closed_trades": 15, + "realized_pnl": -8998599.469500009, + "closed_trades": 16, "wins": 1, "peak_equity": 100961178.33000001, "max_drawdown": 0.11139897163480325, @@ -161,11 +182,11 @@ "240810": "2026-07-08", "093370": "2026-07-20", "034730": "2026-07-08", - "319660": "2026-07-22", + "319660": "2026-07-23", "003490": "2026-07-09", "214450": "2026-07-09", "105560": "2026-07-20" }, "created_at": "2026-06-22T09:00:04.885367+09:00", - "updated_at": "2026-07-22T15:28:01.025885+09:00" + "updated_at": "2026-07-23T15:28:01.518836+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v314/trades.jsonl b/agents/stock/workspace/state/sim/variants/v314/trades.jsonl index 4cfe31f..5ac9a6e 100644 --- a/agents/stock/workspace/state/sim/variants/v314/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v314/trades.jsonl @@ -48,3 +48,7 @@ {"ts": "2026-07-21T12:06:01.283290+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 344500, "qty": 10, "cost": 3445517, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 299485, "target": 434530, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "344,500 vs 296,350"}, {"label": "정배열(5>20)", "ok": true, "detail": "315,100 / 296,350"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "315,100 / 305,492"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+39.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +1 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+43%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.38% (환산) vs 평균 0.93% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "247,158 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "2.38% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "65"}]} {"ts": "2026-07-22T11:56:00.940365+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159800, "qty": 35, "cost": 5593839, "path": "pullback", "reason": "눌림목 지정가 159,932 도달", "stop": 158000, "target": 163400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "159,700 vs 149,775"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,580 / 149,775"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,580 / 113,220"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+75.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -408 · 기 +146 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.73% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,371,014 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "4.73% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,932 (현재 159,700)"}]} {"ts": "2026-07-22T12:12:01.580527+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 35, "proceeds": 5494764, "entry_price": 159800, "pnl": -99075, "pnl_pct": -1.56, "hold_from": "2026-07-22T11:56:00.940364+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 163,400"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,305"}]} +{"ts": "2026-07-23T09:00:39.105209+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 35, "cost": 5604341, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 158000, "target": 164300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:06.056104+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 35, "proceeds": 5512230, "entry_price": 160100, "pnl": -92110, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:39.105200+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.403239+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 298, "cost": 5618143, "path": "pullback", "reason": "눌림목 지정가 19,627 도달", "stop": 17760, "target": 21030, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,627 (현재 18,850)"}]} +{"ts": "2026-07-23T12:22:02.710481+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 9, "cost": 3204481, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 299485, "target": 434530, "signals": [{"label": "손절선", "ok": true, "detail": "299,485 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 434,530"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v315/portfolio.json b/agents/stock/workspace/state/sim/variants/v315/portfolio.json index 9b0523d..4f36dc0 100644 --- a/agents/stock/workspace/state/sim/variants/v315/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v315/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 51424349.377499945, + "cash": 34809307.49499994, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-08T09:08:02.857932+09:00", "stop": 112415, "target": 167712, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4605074.81759219, "last_add_price": 130800 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 143,451 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 2397963.2803351795, "last_add_price": 139100 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 7244669.755439429, "last_add_price": 6030 @@ -76,15 +76,57 @@ "entry_at": "2026-07-16T09:04:05.941183+09:00", "stop": 305186, "target": 451666, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 4924531.379887749, "last_add_price": 353000 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 395, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.405033+09:00", + "stop": 17760, + "target": 21575, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 19,253 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 7464422.4481249945, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 102, + "entry_price": 89870.58823529411, + "entry_at": "2026-07-23T09:46:06.475984+09:00", + "stop": 78834, + "target": 117462, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 4655528.873050034, + "last_add_price": 91400 } }, "realized_pnl": -10964329.77050001, @@ -105,5 +147,5 @@ "055550": "2026-07-20" }, "created_at": "2026-06-22T09:00:04.885375+09:00", - "updated_at": "2026-07-22T15:28:01.027525+09:00" + "updated_at": "2026-07-23T15:28:01.520508+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v315/trades.jsonl b/agents/stock/workspace/state/sim/variants/v315/trades.jsonl index ab61571..876d444 100644 --- a/agents/stock/workspace/state/sim/variants/v315/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v315/trades.jsonl @@ -37,3 +37,6 @@ {"ts": "2026-07-16T09:28:03.597886+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 353000, "qty": 13, "cost": 4589688, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 301363, "target": 441843, "signals": [{"label": "손절선", "ok": true, "detail": "301,363 (현재 352,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 441,843"}, {"label": "추세(20일선)", "ok": true, "detail": "296,750"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -33 · 기 +28"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 351,963"}]} {"ts": "2026-07-20T12:48:03.581607+09:00", "side": "SELL", "code": "105560", "name": "KB금융", "price": 168100, "qty": 58, "proceeds": 9730788, "entry_price": 188450, "pnl": -1200952, "pnl_pct": -10.8, "hold_from": "2026-07-10T09:28:02.740410+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "168,241 (현재 168,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 238,972"}, {"label": "추세(20일선)", "ok": true, "detail": "159,020"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -385 · 기 +288"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-20T14:12:02.882504+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 100100, "qty": 107, "proceeds": 10689814, "entry_price": 111636, "pnl": -1256978, "pnl_pct": -10.33, "hold_from": "2026-07-06T09:32:08.455742+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,466 (현재 100,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 139,559"}, {"label": "추세(20일선)", "ok": true, "detail": "96,810"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -168 · 기 +257"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.405035+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 395, "cost": 7446867, "path": "pullback", "reason": "눌림목 지정가 19,253 도달", "stop": 17760, "target": 21575, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,253 (현재 18,850)"}]} +{"ts": "2026-07-23T09:46:06.475986+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88400, "qty": 52, "cost": 4597490, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77778, "target": 114955, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,300 vs 75,075"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,020 / 75,075"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,020 / 75,060"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.8%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.80% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "743,133 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.80% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T13:06:04.696367+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91400, "qty": 50, "cost": 4570686, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77778, "target": 114955, "signals": [{"label": "손절선", "ok": true, "detail": "77,778 (현재 91,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 114,955"}, {"label": "추세(20일선)", "ok": true, "detail": "75,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,159"}]} diff --git a/agents/stock/workspace/state/sim/variants/v316/portfolio.json b/agents/stock/workspace/state/sim/variants/v316/portfolio.json index 3a88316..e095111 100644 --- a/agents/stock/workspace/state/sim/variants/v316/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v316/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 80494487.38949998, + "cash": 76299658.25949998, "initial": 100000000, "positions": { "086790": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 122,715 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 2053187.8058698708, "last_add_price": 126200 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 156,707 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 755263.3109953183, "last_add_price": 158000 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 163,375 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 724734.2882624231, "last_add_price": 145700 @@ -71,20 +71,20 @@ "sources": [ "auto" ], - "qty": 5, - "entry_price": 344500, + "qty": 9, + "entry_price": 349611.1111111111, "entry_at": "2026-07-21T12:06:01.286691+09:00", - "stop": 307669, - "target": 454992, - "peak": 346000, + "stop": 311688, + "target": 463381, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 1723041.949065203, - "last_add_price": 344500 + "last_add_price": 356000 }, "161890": { "code": "161890", @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 28, - "entry_price": 98600, + "qty": 55, + "entry_price": 100563.63636363637, "entry_at": "2026-07-22T15:18:03.458533+09:00", "stop": 92100, - "target": 118100, - "peak": 98600, + "target": 125955, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,784 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 2775662.8581035994, - "last_add_price": 98600 + "last_add_price": 102600 } }, "realized_pnl": -8414349.185500024, @@ -138,5 +138,5 @@ "028260": "2026-07-16" }, "created_at": "2026-06-22T09:00:04.885385+09:00", - "updated_at": "2026-07-22T15:28:01.029288+09:00" + "updated_at": "2026-07-23T15:28:01.522276+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v316/trades.jsonl b/agents/stock/workspace/state/sim/variants/v316/trades.jsonl index 8db3e6c..3e26858 100644 --- a/agents/stock/workspace/state/sim/variants/v316/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v316/trades.jsonl @@ -117,3 +117,5 @@ {"ts": "2026-07-21T12:06:01.286692+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 344500, "qty": 5, "cost": 1722758, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 307669, "target": 454992, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "344,500 vs 305,492"}, {"label": "정배열(5>60)", "ok": true, "detail": "315,100 / 305,492"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "315,100 / 305,492"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+39.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +1 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+43%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.38% (환산) vs 평균 0.93% (보류 6배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "247,158 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "2.38% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "65"}]} {"ts": "2026-07-22T15:18:03.456923+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 542000, "qty": 16, "proceeds": 8655090, "entry_price": 547000, "pnl": -98223, "pnl_pct": -0.91, "hold_from": "2026-07-21T10:18:02.137213+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "546,999 (현재 542,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,975"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T15:18:03.458542+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 98600, "qty": 28, "cost": 2761214, "path": "pullback", "reason": "눌림목 지정가 98,784 도달", "stop": 92100, "target": 118100, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "98,600 vs 91,910"}, {"label": "정배열(5>60)", "ok": true, "detail": "107,020 / 91,910"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "107,020 / 91,910"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+30.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +54 · 기 -135 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+33%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.04% (환산) vs 평균 1.76% (보류 6배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "479,822 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.04% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 98,784 (현재 98,600)"}]} +{"ts": "2026-07-23T10:56:01.577250+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 102600, "qty": 27, "cost": 2770616, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 118100, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 102,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 118,100"}, {"label": "추세(60일선)", "ok": true, "detail": "91,977"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +212 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 102,429"}]} +{"ts": "2026-07-23T12:22:02.714208+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 4, "cost": 1424214, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 307669, "target": 454992, "signals": [{"label": "손절선", "ok": true, "detail": "307,669 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 454,992"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v317/portfolio.json b/agents/stock/workspace/state/sim/variants/v317/portfolio.json index 7d971fa..dc3a5d5 100644 --- a/agents/stock/workspace/state/sim/variants/v317/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v317/portfolio.json @@ -13,12 +13,12 @@ "entry_at": "2026-07-08T09:28:03.791048+09:00", "stop": 118551, "target": 165948, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 3077257.8639161275, "last_add_price": 132400 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 156,707 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1363328.9004981436, "last_add_price": 158000 @@ -55,12 +55,12 @@ "entry_at": "2026-07-16T09:04:05.946087+09:00", "stop": 315861, "target": 441416, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3295504.677737418, "last_add_price": 353000 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 1, "tranche_value": 3849202.3038057717, "last_add_price": 136500 @@ -102,7 +102,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 163,240 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 1, "tranche_value": 1276668.3605553468, "last_add_price": 123700 @@ -125,5 +125,5 @@ "105560": "2026-07-20" }, "created_at": "2026-06-22T09:00:04.885394+09:00", - "updated_at": "2026-07-22T15:28:01.030928+09:00" + "updated_at": "2026-07-23T15:28:01.523956+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v318/portfolio.json b/agents/stock/workspace/state/sim/variants/v318/portfolio.json index 03326b2..2d0f143 100644 --- a/agents/stock/workspace/state/sim/variants/v318/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v318/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 56133080.05949998, + "cash": 53207728.54599998, "initial": 100000000, "positions": { "086790": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 124,180 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 5518683.331428246, "last_add_price": 129300 @@ -34,37 +34,16 @@ "entry_at": "2026-07-08T09:22:06.900961+09:00", "stop": 119097, "target": 165310, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4480079.290234277, "last_add_price": 131700 }, - "095610": { - "code": "095610", - "name": "테스", - "sources": [ - "auto" - ], - "qty": 27, - "entry_price": 162911.11111111112, - "entry_at": "2026-07-10T09:00:33.987743+09:00", - "stop": 137951, - "target": 250271, - "peak": 230500, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 161,640 도달", - "cur_price": 157000, - "tranches": 2, - "tranche_value": 2280725.1932677883, - "last_add_price": 168200 - }, "214450": { "code": "214450", "name": "파마리서치", @@ -76,19 +55,40 @@ "entry_at": "2026-07-21T09:02:07.242017+09:00", "stop": 306986, "target": 422924, - "peak": 346000, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "immediate", "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 4808309.617830769, "last_add_price": 338000 + }, + "090850": { + "code": "090850", + "name": "현대이지웰", + "sources": [ + "auto" + ], + "qty": 1157, + "entry_price": 6070, + "entry_at": "2026-07-23T10:24:02.750343+09:00", + "stop": 5755, + "target": 7171, + "peak": 6170, + "trailing_on": false, + "scaled_out": false, + "entry_path": "immediate", + "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)", + "cur_price": 6150, + "tranches": 1, + "tranche_value": 7028957.638179237, + "last_add_price": 6070 } }, - "realized_pnl": -10337791.325500006, - "closed_trades": 19, + "realized_pnl": -10638359.180500006, + "closed_trades": 20, "wins": 0, "peak_equity": 100025650.85, "max_drawdown": 0.10316472547601535, @@ -105,8 +105,9 @@ "214450": "2026-07-09", "055550": "2026-07-20", "475150": "2026-07-08", - "030000": "2026-07-08" + "030000": "2026-07-08", + "095610": "2026-07-23" }, "created_at": "2026-06-22T09:00:04.885402+09:00", - "updated_at": "2026-07-22T15:28:01.032531+09:00" + "updated_at": "2026-07-23T15:28:01.525579+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v318/trades.jsonl b/agents/stock/workspace/state/sim/variants/v318/trades.jsonl index 8fa2fcc..cd60c74 100644 --- a/agents/stock/workspace/state/sim/variants/v318/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v318/trades.jsonl @@ -51,3 +51,5 @@ {"ts": "2026-07-20T09:04:02.998941+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 102700, "qty": 101, "proceeds": 10352473, "entry_price": 111184, "pnl": -878811, "pnl_pct": -7.63, "hold_from": "2026-07-08T10:00:05.247961+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "103,961 (현재 102,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 136,465"}, {"label": "추세(10일선)", "ok": true, "detail": "99,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -111 · 기 +265"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-21T09:02:07.242019+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 327500, "qty": 14, "cost": 4585688, "path": "immediate", "reason": "조건 충족 — 즉시매수(눌림 안 기다림)", "stop": 302664, "target": 414424, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "327,000 vs 304,050"}, {"label": "정배열(5>10)", "ok": true, "detail": "311,600 / 304,050"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "311,600 / 305,200"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+33.8%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 -14 · 기 +5 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+51%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.28% (환산) vs 평균 0.93% (보류 7배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": false, "detail": "29,527 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": false, "detail": "0.28% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "60"}, {"label": "눌림목 도달", "ok": false, "detail": "지정가 308,717 (현재 327,000)"}]} {"ts": "2026-07-21T09:18:04.280499+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 338000, "qty": 14, "cost": 4732710, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 302664, "target": 414424, "signals": [{"label": "손절선", "ok": true, "detail": "302,664 (현재 337,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 414,424"}, {"label": "추세(10일선)", "ok": true, "detail": "305,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -14 · 기 +5"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 337,409"}]} +{"ts": "2026-07-23T10:24:02.390232+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 152100, "qty": 27, "proceeds": 4098692, "entry_price": 162911, "pnl": -300568, "pnl_pct": -6.64, "hold_from": "2026-07-10T09:00:33.987743+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "137,951 (현재 152,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 250,271"}, {"label": "추세(10일선)", "ok": false, "detail": "152,780"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -101 · 기 -107"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:24:02.750359+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6070, "qty": 1157, "cost": 7024043, "path": "immediate", "reason": "조건 충족 — 즉시매수(눌림 안 기다림)", "stop": 5755, "target": 7171, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,060 vs 5,559"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,678 / 5,559"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,678 / 5,617"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.8%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 +56 · 기 -1 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.07% (환산) vs 평균 0.22% (보류 7배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": false, "detail": "14,186 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": false, "detail": "0.07% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "68"}, {"label": "눌림목 도달", "ok": false, "detail": "지정가 5,559 (현재 6,060)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v319/portfolio.json b/agents/stock/workspace/state/sim/variants/v319/portfolio.json index dd157f1..c050315 100644 --- a/agents/stock/workspace/state/sim/variants/v319/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v319/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 77731604.02850002, + "cash": 75576680.83850002, "initial": 100000000, "positions": { "086790": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 122,722 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 1589829.8696281747, "last_add_price": 126000 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 163,718 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 1, "tranche_value": 452854.00790737086, "last_add_price": 141500 @@ -53,14 +53,14 @@ "qty": 21, "entry_price": 553000, "entry_at": "2026-07-20T09:00:36.181133+09:00", - "stop": 553586, + "stop": 559121, "target": 553002, - "peak": 663000, + "peak": 668000, "trailing_on": true, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 736,914 도달", - "cur_price": 625000, + "cur_price": 656000, "tranches": 1, "tranche_value": 11944186.576062502, "last_add_price": 553000 @@ -71,20 +71,20 @@ "sources": [ "auto" ], - "qty": 22, - "entry_price": 98600, + "qty": 43, + "entry_price": 100553.48837209302, "entry_at": "2026-07-22T15:18:03.480571+09:00", "stop": 92100, - "target": 108350, - "peak": 98600, + "target": 113234, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,784 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 2198986.9706949466, - "last_add_price": 98600 + "last_add_price": 102600 } }, "realized_pnl": -4958499.876500035, @@ -116,5 +116,5 @@ "402340": "2026-07-21" }, "created_at": "2026-06-22T09:00:04.885411+09:00", - "updated_at": "2026-07-22T15:28:01.034282+09:00" + "updated_at": "2026-07-23T15:28:01.527328+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v319/trades.jsonl b/agents/stock/workspace/state/sim/variants/v319/trades.jsonl index d8f456d..dafe82e 100644 --- a/agents/stock/workspace/state/sim/variants/v319/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v319/trades.jsonl @@ -85,3 +85,4 @@ {"ts": "2026-07-21T10:18:02.142409+09:00", "side": "BUY", "code": "004170", "name": "신세계", "price": 547000, "qty": 21, "cost": 11488723, "path": "pullback", "reason": "눌림목 지정가 636,228 도달", "stop": 546999, "target": 547002, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "546,000 vs 539,042"}, {"label": "정배열(5>60)", "ok": true, "detail": "703,000 / 539,042"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "703,000 / 539,042"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+22.5%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +20 · 기 -15 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+54%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.06% (환산) vs 평균 1.13% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 792,000"}, {"label": "거래량 급증", "ok": false, "detail": "100,046 (환산) vs 평균 106,700"}, {"label": "회전율 급증", "ok": false, "detail": "1.06% (환산) vs 평균 1.13%"}, {"label": "RSI", "ok": true, "detail": "38"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 636,228 (현재 546,000)"}]} {"ts": "2026-07-22T15:18:03.480103+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 542000, "qty": 21, "proceeds": 11359805, "entry_price": 547000, "pnl": -128918, "pnl_pct": -0.91, "hold_from": "2026-07-21T10:18:02.142408+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "546,999 (현재 542,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,975"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T15:18:03.480575+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 98600, "qty": 22, "cost": 2169525, "path": "pullback", "reason": "눌림목 지정가 98,784 도달", "stop": 92100, "target": 108350, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "98,600 vs 91,910"}, {"label": "정배열(5>60)", "ok": true, "detail": "107,020 / 91,910"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "107,020 / 91,910"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+30.4%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +54 · 기 -135 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+33%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.04% (환산) vs 평균 1.76% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "479,822 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.04% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 98,784 (현재 98,600)"}]} +{"ts": "2026-07-23T10:56:01.582372+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 102600, "qty": 21, "cost": 2154923, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 108350, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 102,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 108,350"}, {"label": "추세(60일선)", "ok": true, "detail": "91,977"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +212 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 102,429"}]} diff --git a/agents/stock/workspace/state/sim/variants/v320/portfolio.json b/agents/stock/workspace/state/sim/variants/v320/portfolio.json index a64e996..8ebfa8f 100644 --- a/agents/stock/workspace/state/sim/variants/v320/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v320/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 77977259.95749998, + "cash": 73166738.48749998, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 156,707 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 767499.0884707351, "last_add_price": 158000 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 122,722 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 2456847.6228259695, "last_add_price": 126000 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 163,375 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 860958.8841434265, "last_add_price": 143000 @@ -71,20 +71,20 @@ "sources": [ "auto" ], - "qty": 5, - "entry_price": 344500, + "qty": 9, + "entry_price": 349611.1111111111, "entry_at": "2026-07-21T12:06:01.293368+09:00", - "stop": 299485, - "target": 434530, - "peak": 346000, + "stop": 303260, + "target": 442313, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 1749831.3969574722, - "last_add_price": 344500 + "last_add_price": 356000 }, "161890": { "code": "161890", @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 34, - "entry_price": 98600, + "qty": 67, + "entry_price": 100570.14925373135, "entry_at": "2026-07-22T15:18:03.486239+09:00", "stop": 92100, - "target": 111600, - "peak": 98600, + "target": 117510, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,784 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 3444138.305309807, - "last_add_price": 98600 + "last_add_price": 102600 } }, "realized_pnl": -9081299.117500028, @@ -139,5 +139,5 @@ "028260": "2026-07-16" }, "created_at": "2026-06-22T09:00:04.885419+09:00", - "updated_at": "2026-07-22T15:28:01.036020+09:00" + "updated_at": "2026-07-23T15:28:01.529079+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v320/trades.jsonl b/agents/stock/workspace/state/sim/variants/v320/trades.jsonl index 3971074..1a613ac 100644 --- a/agents/stock/workspace/state/sim/variants/v320/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v320/trades.jsonl @@ -124,3 +124,5 @@ {"ts": "2026-07-21T12:06:01.293369+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 344500, "qty": 5, "cost": 1722758, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 299485, "target": 434530, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "344,500 vs 305,492"}, {"label": "정배열(5>60)", "ok": true, "detail": "315,100 / 305,492"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "315,100 / 305,492"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+39.7%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 -7 · 기 +1 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+43%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.38% (환산) vs 평균 0.93% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "247,158 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "2.38% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "65"}]} {"ts": "2026-07-22T15:18:03.485879+09:00", "side": "SELL", "code": "004170", "name": "신세계", "price": 542000, "qty": 16, "proceeds": 8655090, "entry_price": 547000, "pnl": -98223, "pnl_pct": -0.91, "hold_from": "2026-07-21T10:18:02.144262+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "546,999 (현재 542,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "538,975"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +5 · 기 +3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T15:18:03.486242+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 98600, "qty": 34, "cost": 3352903, "path": "pullback", "reason": "눌림목 지정가 98,784 도달", "stop": 92100, "target": 111600, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "98,600 vs 91,910"}, {"label": "정배열(5>60)", "ok": true, "detail": "107,020 / 91,910"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "107,020 / 91,910"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+30.4%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 +54 · 기 -135 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+33%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.04% (환산) vs 평균 1.76% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "479,822 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.04% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 98,784 (현재 98,600)"}]} +{"ts": "2026-07-23T10:56:01.584261+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 102600, "qty": 33, "cost": 3386308, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 111600, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 102,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 111,600"}, {"label": "추세(60일선)", "ok": true, "detail": "91,977"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +212 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 102,429"}]} +{"ts": "2026-07-23T12:22:02.721129+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 4, "cost": 1424214, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 299485, "target": 434530, "signals": [{"label": "손절선", "ok": true, "detail": "299,485 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 434,530"}, {"label": "추세(60일선)", "ok": true, "detail": "305,683"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v321/portfolio.json b/agents/stock/workspace/state/sim/variants/v321/portfolio.json index 178354d..cb75437 100644 --- a/agents/stock/workspace/state/sim/variants/v321/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v321/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 66784287.437499955, + "cash": 61731629.65249996, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-08T09:24:04.654041+09:00", "stop": 113701, "target": 161098, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 2896999.7554967864, "last_add_price": 131700 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 4673122.761535364, "last_add_price": 6030 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 163,718 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 1, "tranche_value": 1334785.8301006337, "last_add_price": 142600 @@ -76,12 +76,12 @@ "entry_at": "2026-07-16T09:04:05.955093+09:00", "stop": 305060, "target": 430615, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3126423.8386076577, "last_add_price": 353000 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 51, - "entry_price": 99200, + "qty": 100, + "entry_price": 101111.0, "entry_at": "2026-07-22T09:04:02.279488+09:00", "stop": 92100, - "target": 113400, - "peak": 101700, + "target": 119133, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5091078.5264822515, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -118,12 +118,12 @@ "entry_at": "2026-07-22T14:18:05.550301+09:00", "stop": 11077, "target": 19936, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 1706288.264617075, "last_add_price": 14030 @@ -147,5 +147,5 @@ "105560": "2026-07-20" }, "created_at": "2026-06-22T09:00:04.885428+09:00", - "updated_at": "2026-07-22T15:28:01.037640+09:00" + "updated_at": "2026-07-23T15:28:01.530707+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v321/trades.jsonl b/agents/stock/workspace/state/sim/variants/v321/trades.jsonl index adfa7a0..42e050a 100644 --- a/agents/stock/workspace/state/sim/variants/v321/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v321/trades.jsonl @@ -46,3 +46,4 @@ {"ts": "2026-07-22T09:04:02.279489+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 99200, "qty": 51, "cost": 5059959, "path": "pullback", "reason": "눌림목 지정가 98,848 도달", "stop": 92100, "target": 113400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "98,800 vs 98,505"}, {"label": "정배열(5>20)", "ok": true, "detail": "107,060 / 98,505"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "107,060 / 91,913"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +29 · 기 -34 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+33%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.16% (환산) vs 평균 1.76% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "272,433 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "1.16% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 98,848 (현재 98,800)"}]} {"ts": "2026-07-22T12:12:01.598925+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 48, "proceeds": 7535677, "entry_price": 164400, "pnl": -356707, "pnl_pct": -4.32, "hold_from": "2026-07-21T10:16:01.693406+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.550302+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 121, "cost": 1697885, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 19936, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} +{"ts": "2026-07-23T12:18:01.669767+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 49, "cost": 5052658, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 113400, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,400"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} diff --git a/agents/stock/workspace/state/sim/variants/v4/portfolio.json b/agents/stock/workspace/state/sim/variants/v4/portfolio.json index 488b943..f797492 100644 --- a/agents/stock/workspace/state/sim/variants/v4/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v4/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 20366638.12049995, + "cash": 15210864.87049995, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,264 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 4043603.119681299, "last_add_price": 179100 @@ -34,12 +34,12 @@ "entry_at": "2026-07-08T09:16:01.899911+09:00", "stop": 112621, "target": 160019, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5165873.995968748, "last_add_price": 130800 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 163,375 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 3576798.937709192, "last_add_price": 139100 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 5300993.7131562475, "last_add_price": 6030 @@ -97,12 +97,12 @@ "entry_at": "2026-07-16T09:04:02.201572+09:00", "stop": 305399, "target": 430953, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 5436208.582218748, "last_add_price": 353000 @@ -123,7 +123,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 1, "tranche_value": 5399809.308781248, "last_add_price": 139800 @@ -134,20 +134,20 @@ "sources": [ "auto" ], - "qty": 52, - "entry_price": 99200, + "qty": 102, + "entry_price": 101111.76470588235, "entry_at": "2026-07-22T09:04:01.770270+09:00", "stop": 92100, - "target": 113400, - "peak": 101700, + "target": 119135, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5171696.920343747, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -160,12 +160,12 @@ "entry_at": "2026-07-22T14:18:05.378436+09:00", "stop": 11077, "target": 19936, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 3796251.28915362, "last_add_price": 14030 @@ -192,5 +192,5 @@ "055550": "2026-07-20" }, "created_at": "2026-06-11T09:00:01.943227+09:00", - "updated_at": "2026-07-22T15:28:00.874412+09:00" + "updated_at": "2026-07-23T15:28:01.366779+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v4/trades.jsonl b/agents/stock/workspace/state/sim/variants/v4/trades.jsonl index 1d64147..51128ae 100644 --- a/agents/stock/workspace/state/sim/variants/v4/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v4/trades.jsonl @@ -69,3 +69,4 @@ {"ts": "2026-07-22T09:04:01.770273+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 99200, "qty": 52, "cost": 5159174, "path": "pullback", "reason": "눌림목 지정가 98,848 도달", "stop": 92100, "target": 113400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "98,800 vs 98,505"}, {"label": "정배열(5>20)", "ok": true, "detail": "107,060 / 98,505"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "107,060 / 91,913"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +29 · 기 -34 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+33%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.16% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "272,433 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "1.16% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 98,848 (현재 98,800)"}]} {"ts": "2026-07-22T12:12:00.690381+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 58, "proceeds": 9105609, "entry_price": 172117, "pnl": -878688, "pnl_pct": -8.61, "hold_from": "2026-07-21T10:12:00.994154+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 200,352"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.378439+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 270, "cost": 3788668, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 19936, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} +{"ts": "2026-07-23T12:18:01.494556+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 50, "cost": 5155773, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 113400, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,400"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} diff --git a/agents/stock/workspace/state/sim/variants/v40/portfolio.json b/agents/stock/workspace/state/sim/variants/v40/portfolio.json index ffb13a0..066ea39 100644 --- a/agents/stock/workspace/state/sim/variants/v40/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v40/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 19662997.07099997, + "cash": 14610339.285999969, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 157,386 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 3673653.508228102, "last_add_price": 163900 @@ -34,12 +34,12 @@ "entry_at": "2026-07-08T09:16:01.905126+09:00", "stop": 112591, "target": 175787, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5048122.616093748, "last_add_price": 130800 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 163,375 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 3502168.108413708, "last_add_price": 139100 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 5189689.564218748, "last_add_price": 6030 @@ -97,12 +97,12 @@ "entry_at": "2026-07-16T09:04:02.211196+09:00", "stop": 305399, "target": 472804, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 5321475.422124998, "last_add_price": 353000 @@ -123,7 +123,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 1, "tranche_value": 5285970.523687498, "last_add_price": 139800 @@ -134,20 +134,20 @@ "sources": [ "auto" ], - "qty": 50, - "entry_price": 99200, + "qty": 99, + "entry_price": 101130.30303030302, "entry_at": "2026-07-22T09:04:01.775234+09:00", "stop": 92100, - "target": 120500, - "peak": 101700, + "target": 128221, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5058668.1596249975, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -160,12 +160,12 @@ "entry_at": "2026-07-22T14:18:05.381726+09:00", "stop": 11077, "target": 22889, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 3712540.998326345, "last_add_price": 14030 @@ -194,5 +194,5 @@ "055550": "2026-07-20" }, "created_at": "2026-06-11T09:00:01.943590+09:00", - "updated_at": "2026-07-22T15:28:00.877055+09:00" + "updated_at": "2026-07-23T15:28:01.369259+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v40/trades.jsonl b/agents/stock/workspace/state/sim/variants/v40/trades.jsonl index 814ad2b..8d89f4c 100644 --- a/agents/stock/workspace/state/sim/variants/v40/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v40/trades.jsonl @@ -74,3 +74,4 @@ {"ts": "2026-07-22T09:04:01.775236+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 99200, "qty": 50, "cost": 4960744, "path": "pullback", "reason": "눌림목 지정가 98,848 도달", "stop": 92100, "target": 120500, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "98,800 vs 98,505"}, {"label": "정배열(5>20)", "ok": true, "detail": "107,060 / 98,505"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "107,060 / 91,913"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +29 · 기 -34 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+33%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.16% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "272,433 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "1.16% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 98,848 (현재 98,800)"}]} {"ts": "2026-07-22T12:12:00.696641+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 57, "proceeds": 8948616, "entry_price": 173428, "pnl": -938267, "pnl_pct": -9.3, "hold_from": "2026-07-20T13:14:04.354657+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 219,712"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.381728+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 264, "cost": 3704476, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 22889, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} +{"ts": "2026-07-23T12:18:01.499753+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 49, "cost": 5052658, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 120500, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 120,500"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} diff --git a/agents/stock/workspace/state/sim/variants/v41/portfolio.json b/agents/stock/workspace/state/sim/variants/v41/portfolio.json index 22ff547..233c78d 100644 --- a/agents/stock/workspace/state/sim/variants/v41/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v41/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 31582701.577499956, + "cash": 21339065.262499955, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:10:01.779032+09:00", "stop": 119115, "target": 157755, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5363919.985249998, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 3700658.2439712575, "last_add_price": 139100 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 5574203.138812498, "last_add_price": 6150 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 1, "tranche_value": 5531857.794156248, "last_add_price": 139800 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 15, - "entry_price": 344500, + "qty": 29, + "entry_price": 350051.724137931, "entry_at": "2026-07-21T12:06:01.128627+09:00", - "stop": 303577, - "target": 405884, - "peak": 346000, + "stop": 307915, + "target": 413257, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 5255953.704843747, - "last_add_price": 344500 + "last_add_price": 356000 }, "161890": { "code": "161890", @@ -113,20 +113,20 @@ "sources": [ "auto" ], - "qty": 53, - "entry_price": 99200, + "qty": 104, + "entry_price": 101112.5, "entry_at": "2026-07-22T09:04:01.778302+09:00", "stop": 92100, - "target": 109850, - "peak": 101700, + "target": 114631, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5321153.224531247, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -139,12 +139,12 @@ "entry_at": "2026-07-22T14:18:05.384726+09:00", "stop": 11077, "target": 18460, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 3938792.0277703167, "last_add_price": 14030 @@ -160,12 +160,12 @@ "entry_at": "2026-07-22T15:04:00.950319+09:00", "stop": 120314, "target": 214778, - "peak": 158200, + "peak": 167200, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 1, "tranche_value": 3459733.5046245283, "last_add_price": 158100 @@ -193,5 +193,5 @@ "055550": "2026-07-20" }, "created_at": "2026-06-11T09:00:01.943599+09:00", - "updated_at": "2026-07-22T15:28:00.879532+09:00" + "updated_at": "2026-07-23T15:28:01.371651+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v41/trades.jsonl b/agents/stock/workspace/state/sim/variants/v41/trades.jsonl index 582edb5..9edb069 100644 --- a/agents/stock/workspace/state/sim/variants/v41/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v41/trades.jsonl @@ -72,3 +72,5 @@ {"ts": "2026-07-22T12:12:00.699574+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 60, "proceeds": 9419596, "entry_price": 172123, "pnl": -909353, "pnl_pct": -8.61, "hold_from": "2026-07-21T10:12:01.004140+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 193,308"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.384728+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 280, "cost": 3928989, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 18460, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} {"ts": "2026-07-22T15:04:00.950322+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 21, "cost": 3320598, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 120314, "target": 214778, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,000 vs 136,315"}, {"label": "정배열(5>20)", "ok": true, "detail": "172,240 / 136,315"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} +{"ts": "2026-07-23T12:18:01.502953+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 51, "cost": 5258889, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 109850, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,850"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} +{"ts": "2026-07-23T12:22:02.551228+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 14, "cost": 4984748, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 303577, "target": 405884, "signals": [{"label": "손절선", "ok": true, "detail": "303,577 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 405,884"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v47/portfolio.json b/agents/stock/workspace/state/sim/variants/v47/portfolio.json index b41483f..bd01386 100644 --- a/agents/stock/workspace/state/sim/variants/v47/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v47/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 46063551.86400003, + "cash": 30472129.60150003, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:10:01.782992+09:00", "stop": 122978, "target": 157755, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5241905.40054189, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1880501.2830996532, "last_add_price": 139100 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 5641745.372468753, "last_add_price": 6150 @@ -71,20 +71,20 @@ "sources": [ "auto" ], - "qty": 14, - "entry_price": 344500, + "qty": 27, + "entry_price": 350037.037037037, "entry_at": "2026-07-21T12:06:01.131404+09:00", - "stop": 313808, - "target": 405884, - "peak": 346000, + "stop": 318434, + "target": 413243, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 4924744.715894901, - "last_add_price": 344500 + "last_add_price": 356000 }, "161890": { "code": "161890", @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 55, - "entry_price": 99200, + "qty": 108, + "entry_price": 101113.88888888889, "entry_at": "2026-07-22T09:04:01.781295+09:00", "stop": 92100, - "target": 113400, - "peak": 101700, + "target": 119142, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5528357.121031252, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -118,12 +118,12 @@ "entry_at": "2026-07-22T14:18:05.387610+09:00", "stop": 11815, "target": 18460, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2741987.3480135337, "last_add_price": 14030 @@ -139,19 +139,40 @@ "entry_at": "2026-07-22T15:04:00.953744+09:00", "stop": 129761, "target": 214778, - "peak": 158200, + "peak": 167200, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 1, "tranche_value": 2411493.837965508, "last_add_price": 158100 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 287, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.221958+09:00", + "stop": 17760, + "target": 21030, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 20,001 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5426929.0586875025, + "last_add_price": 18850 } }, - "realized_pnl": -13329297.977000015, - "closed_trades": 31, + "realized_pnl": -13416144.902000014, + "closed_trades": 32, "wins": 3, "peak_equity": 101509906.21500002, "max_drawdown": 0.15020528458282542, @@ -168,10 +189,10 @@ "214450": "2026-07-06", "003490": "2026-07-07", "055550": "2026-07-20", - "319660": "2026-07-22", + "319660": "2026-07-23", "105560": "2026-07-20", "086790": "2026-07-21" }, "created_at": "2026-06-11T09:00:01.943663+09:00", - "updated_at": "2026-07-22T15:28:00.881905+09:00" + "updated_at": "2026-07-23T15:28:01.374076+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v47/trades.jsonl b/agents/stock/workspace/state/sim/variants/v47/trades.jsonl index 81d6210..b99c581 100644 --- a/agents/stock/workspace/state/sim/variants/v47/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v47/trades.jsonl @@ -86,3 +86,8 @@ {"ts": "2026-07-22T12:12:00.702249+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 62, "proceeds": 9733582, "entry_price": 172129, "pnl": -940018, "pnl_pct": -8.62, "hold_from": "2026-07-21T10:12:01.007125+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 200,387"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.387612+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 195, "cost": 2736260, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11815, "target": 18460, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} {"ts": "2026-07-22T15:04:00.953746+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 15, "cost": 2371856, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 129761, "target": 214778, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,000 vs 136,315"}, {"label": "정배열(5>20)", "ok": true, "detail": "172,240 / 136,315"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": true, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} +{"ts": "2026-07-23T09:00:20.866916+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 33, "cost": 5284092, "path": "pullback", "reason": "눌림목 지정가 169,062 도달", "stop": 158000, "target": 164300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 169,062 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.373958+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 33, "proceeds": 5197246, "entry_price": 160100, "pnl": -86847, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:20.866902+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.221965+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 287, "cost": 5410761, "path": "pullback", "reason": "눌림목 지정가 20,001 도달", "stop": 17760, "target": 21030, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 20,001 (현재 18,850)"}]} +{"ts": "2026-07-23T12:18:01.506162+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 53, "cost": 5465120, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 113400, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,400"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} +{"ts": "2026-07-23T12:22:02.554584+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 13, "cost": 4628694, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 313808, "target": 405884, "signals": [{"label": "손절선", "ok": true, "detail": "313,808 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 405,884"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} diff --git a/agents/stock/workspace/state/sim/variants/v49/portfolio.json b/agents/stock/workspace/state/sim/variants/v49/portfolio.json index 2ad5910..ab373b8 100644 --- a/agents/stock/workspace/state/sim/variants/v49/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v49/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 60060004.06699998, + "cash": 35686752.06699997, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:10:01.786638+09:00", "stop": 122950, "target": 151931, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5467215.23496758, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1961081.3407003311, "last_add_price": 139100 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 5884930.790312499, "last_add_price": 6150 @@ -71,24 +71,87 @@ "sources": [ "auto" ], - "qty": 14, - "entry_price": 344500, + "qty": 28, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.134375+09:00", - "stop": 313808, - "target": 390538, - "peak": 346000, + "stop": 318647, + "target": 397654, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 5130167.1298944345, - "last_add_price": 344500 + "last_add_price": 356000 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 302, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.228862+09:00", + "stop": 17760, + "target": 20485, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 19,627 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5711531.480749998, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 112, + "entry_price": 89873.21428571429, + "entry_at": "2026-07-23T09:46:06.325274+09:00", + "stop": 81596, + "target": 102289, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 5068034.013537591, + "last_add_price": 91400 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 250, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.441941+09:00", + "stop": 12315, + "target": 16878, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 3547347.666557205, + "last_add_price": 14140 } }, - "realized_pnl": -8746597.625000011, - "closed_trades": 23, + "realized_pnl": -8838708.000000011, + "closed_trades": 24, "wins": 3, "peak_equity": 100822831.297, "max_drawdown": 0.09812992853628008, @@ -102,11 +165,11 @@ "003490": "2026-07-07", "055550": "2026-07-20", "034730": "2026-07-08", - "319660": "2026-07-22", + "319660": "2026-07-23", "095610": "2026-07-16", "105560": "2026-07-20", "086790": "2026-07-21" }, "created_at": "2026-06-11T09:00:01.943683+09:00", - "updated_at": "2026-07-22T15:28:00.884151+09:00" + "updated_at": "2026-07-23T15:28:01.376364+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v49/trades.jsonl b/agents/stock/workspace/state/sim/variants/v49/trades.jsonl index f3cfdce..5a765dc 100644 --- a/agents/stock/workspace/state/sim/variants/v49/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v49/trades.jsonl @@ -58,3 +58,10 @@ {"ts": "2026-07-21T12:06:01.134377+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 344500, "qty": 14, "cost": 4823723, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 313808, "target": 390538, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "344,500 vs 296,350"}, {"label": "정배열(5>20)", "ok": true, "detail": "315,100 / 296,350"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "315,100 / 305,492"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+39.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +1 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+43%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.38% (환산) vs 평균 0.93% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "247,158 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "2.38% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "65"}]} {"ts": "2026-07-22T11:56:00.792971+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159800, "qty": 35, "cost": 5593839, "path": "pullback", "reason": "눌림목 지정가 159,932 도달", "stop": 158000, "target": 162500, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "159,700 vs 149,775"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,580 / 149,775"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,580 / 113,220"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+75.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -408 · 기 +146 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.73% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,371,014 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "4.73% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,932 (현재 159,700)"}]} {"ts": "2026-07-22T12:12:00.704856+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 35, "proceeds": 5494764, "entry_price": 159800, "pnl": -99075, "pnl_pct": -1.56, "hold_from": "2026-07-22T11:56:00.792969+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,500"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,305"}]} +{"ts": "2026-07-23T09:00:20.975194+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 35, "cost": 5604341, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 158000, "target": 163250, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.376674+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 35, "proceeds": 5512230, "entry_price": 160100, "pnl": -92110, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:20.975186+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.228866+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 302, "cost": 5693554, "path": "pullback", "reason": "눌림목 지정가 19,627 도달", "stop": 17760, "target": 20485, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,627 (현재 18,850)"}]} +{"ts": "2026-07-23T09:46:06.325276+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88400, "qty": 57, "cost": 5039556, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80433, "target": 100350, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,300 vs 75,075"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,020 / 75,075"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,020 / 75,060"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.80% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "743,133 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.80% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.441943+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 250, "cost": 3535530, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 12315, "target": 16878, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,180 vs 10,944"}, {"label": "정배열(5>20)", "ok": true, "detail": "13,154 / 10,944"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.557722+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 14, "cost": 4984748, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 313808, "target": 390538, "signals": [{"label": "손절선", "ok": true, "detail": "313,808 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 390,538"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T13:06:04.404047+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91400, "qty": 55, "cost": 5027754, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 80433, "target": 100350, "signals": [{"label": "손절선", "ok": true, "detail": "80,433 (현재 91,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 100,350"}, {"label": "추세(20일선)", "ok": true, "detail": "75,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,159"}]} diff --git a/agents/stock/workspace/state/sim/variants/v51/portfolio.json b/agents/stock/workspace/state/sim/variants/v51/portfolio.json index fa08b08..d0c5c62 100644 --- a/agents/stock/workspace/state/sim/variants/v51/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v51/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 52994222.255999975, + "cash": 29622121.736499965, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 2403556.8912331606, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:10:01.789917+09:00", "stop": 122979, "target": 169348, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5376905.59304502, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1928781.9145576486, "last_add_price": 139100 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 5789608.164124999, "last_add_price": 6150 @@ -92,24 +92,87 @@ "sources": [ "auto" ], - "qty": 14, - "entry_price": 344500, + "qty": 27, + "entry_price": 350037.037037037, "entry_at": "2026-07-21T12:06:01.137140+09:00", - "stop": 313808, - "target": 436576, - "peak": 346000, + "stop": 318434, + "target": 444846, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 4981626.338033037, - "last_add_price": 344500 + "last_add_price": 356000 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 293, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.234947+09:00", + "stop": 17760, + "target": 22120, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 19,627 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5525442.7253749985, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 108, + "entry_price": 89872.22222222222, + "entry_at": "2026-07-23T09:46:06.328023+09:00", + "stop": 81595, + "target": 114704, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 4903174.469139825, + "last_add_price": 91400 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 242, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.445464+09:00", + "stop": 12315, + "target": 19616, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 3426549.5257473686, + "last_add_price": 14140 } }, - "realized_pnl": -11609759.137500012, - "closed_trades": 22, + "realized_pnl": -11699237.787500013, + "closed_trades": 23, "wins": 1, "peak_equity": 100822831.297, "max_drawdown": 0.12739524248395323, @@ -123,10 +186,10 @@ "003490": "2026-07-07", "055550": "2026-07-20", "034730": "2026-07-08", - "319660": "2026-07-22", + "319660": "2026-07-23", "105560": "2026-07-20", "086790": "2026-07-21" }, "created_at": "2026-06-11T09:00:01.943703+09:00", - "updated_at": "2026-07-22T15:28:00.886376+09:00" + "updated_at": "2026-07-23T15:28:01.378476+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v51/trades.jsonl b/agents/stock/workspace/state/sim/variants/v51/trades.jsonl index 19e6e51..1db18a6 100644 --- a/agents/stock/workspace/state/sim/variants/v51/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v51/trades.jsonl @@ -59,3 +59,10 @@ {"ts": "2026-07-21T12:06:01.137142+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 344500, "qty": 14, "cost": 4823723, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 313808, "target": 436576, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "344,500 vs 296,350"}, {"label": "정배열(5>20)", "ok": true, "detail": "315,100 / 296,350"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "315,100 / 305,492"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+39.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +1 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+43%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.38% (환산) vs 평균 0.93% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "247,158 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "2.38% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "65"}]} {"ts": "2026-07-22T11:56:00.795564+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159800, "qty": 34, "cost": 5434015, "path": "pullback", "reason": "눌림목 지정가 159,932 도달", "stop": 158000, "target": 165200, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "159,700 vs 149,775"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,580 / 149,775"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,580 / 113,220"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+75.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -408 · 기 +146 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.73% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": true, "detail": "1,371,014 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "4.73% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,932 (현재 159,700)"}]} {"ts": "2026-07-22T12:12:00.707534+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 34, "proceeds": 5337771, "entry_price": 159800, "pnl": -96244, "pnl_pct": -1.56, "hold_from": "2026-07-22T11:56:00.795562+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 165,200"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,305"}]} +{"ts": "2026-07-23T09:00:21.079137+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 34, "cost": 5444217, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 158000, "target": 166400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.379307+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 34, "proceeds": 5354738, "entry_price": 160100, "pnl": -89479, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:21.079130+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 166,400"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,669"}]} +{"ts": "2026-07-23T09:44:04.234951+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 293, "cost": 5523878, "path": "pullback", "reason": "눌림목 지정가 19,627 도달", "stop": 17760, "target": 22120, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,627 (현재 18,850)"}]} +{"ts": "2026-07-23T09:46:06.328025+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88400, "qty": 55, "cost": 4862729, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80433, "target": 112300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,300 vs 75,075"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,020 / 75,075"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,020 / 75,060"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.80% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "743,133 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.80% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.445466+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 242, "cost": 3422393, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 12315, "target": 19616, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,180 vs 10,944"}, {"label": "정배열(5>20)", "ok": true, "detail": "13,154 / 10,944"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.560495+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 13, "cost": 4628694, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 313808, "target": 436576, "signals": [{"label": "손절선", "ok": true, "detail": "313,808 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 436,576"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T13:06:04.406548+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91400, "qty": 53, "cost": 4844927, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 80433, "target": 112300, "signals": [{"label": "손절선", "ok": true, "detail": "80,433 (현재 91,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 112,300"}, {"label": "추세(20일선)", "ok": true, "detail": "75,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,159"}]} diff --git a/agents/stock/workspace/state/sim/variants/v57/portfolio.json b/agents/stock/workspace/state/sim/variants/v57/portfolio.json index d361962..53893fc 100644 --- a/agents/stock/workspace/state/sim/variants/v57/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v57/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 51182348.44199999, + "cash": 40973897.403999984, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:10:01.793062+09:00", "stop": 119106, "target": 165475, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4170396.505155157, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4631043.743609013, "last_add_price": 134300 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1953052.7124730793, "last_add_price": 139100 @@ -76,12 +76,12 @@ "entry_at": "2026-07-13T09:06:07.831563+09:00", "stop": 302899, "target": 426953, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3853827.2535399394, "last_add_price": 350000 @@ -102,10 +102,52 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 5801931.81075, "last_add_price": 6150 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 84, + "entry_price": 89864.28571428571, + "entry_at": "2026-07-23T09:46:06.330524+09:00", + "stop": 78828, + "target": 111937, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3808102.9082436445, + "last_add_price": 91400 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 188, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.448900+09:00", + "stop": 11706, + "target": 19008, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2662891.921579046, + "last_add_price": 14140 } }, "realized_pnl": -8443166.293500008, @@ -124,5 +166,5 @@ "055550": "2026-07-20" }, "created_at": "2026-06-11T09:00:01.943761+09:00", - "updated_at": "2026-07-22T15:28:00.888471+09:00" + "updated_at": "2026-07-23T15:28:01.380587+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v57/trades.jsonl b/agents/stock/workspace/state/sim/variants/v57/trades.jsonl index 5b11414..620941c 100644 --- a/agents/stock/workspace/state/sim/variants/v57/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v57/trades.jsonl @@ -40,3 +40,6 @@ {"ts": "2026-07-16T09:22:02.270036+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 350000, "qty": 11, "cost": 3850578, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 297363, "target": 420774, "signals": [{"label": "손절선", "ok": true, "detail": "297,363 (현재 350,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 420,774"}, {"label": "추세(10일선)", "ok": true, "detail": "306,350"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -33 · 기 +28"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 348,838"}]} {"ts": "2026-07-20T12:28:02.282208+09:00", "side": "SELL", "code": "093370", "name": "후성", "price": 10310, "qty": 141, "proceeds": 1450875, "entry_price": 13660, "pnl": -475474, "pnl_pct": -24.52, "hold_from": "2026-07-10T11:06:06.436245+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,360 (현재 10,310)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 20,260"}, {"label": "추세(10일선)", "ok": false, "detail": "12,013"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -887 · 기 +515"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 14,626"}]} {"ts": "2026-07-20T14:12:02.346810+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 100100, "qty": 86, "proceeds": 8591813, "entry_price": 111367, "pnl": -987223, "pnl_pct": -10.12, "hold_from": "2026-07-06T09:34:01.626324+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,198 (현재 100,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 133,706"}, {"label": "추세(10일선)", "ok": true, "detail": "98,970"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -168 · 기 +257"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:46:06.330525+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88400, "qty": 43, "cost": 3801770, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77778, "target": 109644, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,300 vs 80,910"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,020 / 80,910"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,020 / 75,060"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.80% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "743,133 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.80% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.448902+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 188, "cost": 2658719, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 19008, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T13:06:04.408989+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91400, "qty": 41, "cost": 3747962, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77778, "target": 109644, "signals": [{"label": "손절선", "ok": true, "detail": "77,778 (현재 91,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,644"}, {"label": "추세(10일선)", "ok": true, "detail": "81,220"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,159"}]} diff --git a/agents/stock/workspace/state/sim/variants/v59/portfolio.json b/agents/stock/workspace/state/sim/variants/v59/portfolio.json index 4ab6739..7fa97fa 100644 --- a/agents/stock/workspace/state/sim/variants/v59/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v59/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 51771341.693, + "cash": 41548748.534, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:10:01.795894+09:00", "stop": 119106, "target": 157747, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4200692.986817652, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4664583.432162063, "last_add_price": 134300 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1967206.2528969536, "last_add_price": 139100 @@ -76,12 +76,12 @@ "entry_at": "2026-07-13T09:06:07.843499+09:00", "stop": 302899, "target": 406277, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3881692.4296628344, "last_add_price": 350000 @@ -102,10 +102,52 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 6060, + "cur_price": 6150, "tranches": 2, "tranche_value": 5844217.815187501, "last_add_price": 6150 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 84, + "entry_price": 89864.28571428571, + "entry_at": "2026-07-23T09:46:06.333185+09:00", + "stop": 78828, + "target": 106419, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3836130.6371969497, + "last_add_price": 91400 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 189, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.451835+09:00", + "stop": 11706, + "target": 17791, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2682468.7123948648, + "last_add_price": 14140 } }, "realized_pnl": -7769390.327000008, @@ -124,5 +166,5 @@ "055550": "2026-07-20" }, "created_at": "2026-06-11T09:00:01.943780+09:00", - "updated_at": "2026-07-22T15:28:00.890551+09:00" + "updated_at": "2026-07-23T15:28:01.382577+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v59/trades.jsonl b/agents/stock/workspace/state/sim/variants/v59/trades.jsonl index 13fe7ee..19e9b2b 100644 --- a/agents/stock/workspace/state/sim/variants/v59/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v59/trades.jsonl @@ -39,3 +39,6 @@ {"ts": "2026-07-16T09:22:02.273093+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 350000, "qty": 11, "cost": 3850578, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 297363, "target": 400206, "signals": [{"label": "손절선", "ok": true, "detail": "297,363 (현재 350,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 400,206"}, {"label": "추세(10일선)", "ok": true, "detail": "306,350"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -33 · 기 +28"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 348,838"}]} {"ts": "2026-07-20T12:28:02.284913+09:00", "side": "SELL", "code": "093370", "name": "후성", "price": 10310, "qty": 142, "proceeds": 1461165, "entry_price": 13660, "pnl": -478846, "pnl_pct": -24.52, "hold_from": "2026-07-10T11:06:06.439220+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,360 (현재 10,310)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 18,610"}, {"label": "추세(10일선)", "ok": false, "detail": "12,013"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -887 · 기 +515"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 14,626"}]} {"ts": "2026-07-20T14:12:02.349322+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 100100, "qty": 86, "proceeds": 8591813, "entry_price": 111367, "pnl": -987223, "pnl_pct": -10.12, "hold_from": "2026-07-06T09:34:01.629172+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,198 (현재 100,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 128,122"}, {"label": "추세(10일선)", "ok": true, "detail": "98,970"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -168 · 기 +257"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:46:06.333187+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88400, "qty": 43, "cost": 3801770, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77778, "target": 104333, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,300 vs 80,910"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,020 / 80,910"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,020 / 75,060"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.80% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "743,133 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.80% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.451837+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 189, "cost": 2672861, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 17791, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T13:06:04.411293+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91400, "qty": 41, "cost": 3747962, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77778, "target": 104333, "signals": [{"label": "손절선", "ok": true, "detail": "77,778 (현재 91,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 104,333"}, {"label": "추세(10일선)", "ok": true, "detail": "81,220"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 91,159"}]} diff --git a/agents/stock/workspace/state/sim/variants/v81/portfolio.json b/agents/stock/workspace/state/sim/variants/v81/portfolio.json index 66d2770..572dccd 100644 --- a/agents/stock/workspace/state/sim/variants/v81/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v81/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 65400537.99249997, + "cash": 41534133.33849998, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 2418225.3551565195, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:36:03.426251+09:00", "stop": 122827, "target": 169196, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5342670.471327519, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1951096.0467774002, "last_add_price": 139100 @@ -71,24 +71,87 @@ "sources": [ "auto" ], - "qty": 14, - "entry_price": 344500, + "qty": 28, + "entry_price": 350250.0, "entry_at": "2026-07-21T12:06:01.144350+09:00", - "stop": 313808, - "target": 436576, - "peak": 346000, + "stop": 318647, + "target": 445059, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 5037472.695242855, - "last_add_price": 344500 + "last_add_price": 356000 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 296, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.247509+09:00", + "stop": 17760, + "target": 22120, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 19,627 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5582622.458906248, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 109, + "entry_price": 89537.61467889909, + "entry_at": "2026-07-23T09:50:01.487299+09:00", + "stop": 81303, + "target": 114241, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 4937498.49310549, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 244, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.454692+09:00", + "stop": 12315, + "target": 19616, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 3462340.341370821, + "last_add_price": 14140 } }, - "realized_pnl": -10652370.48250001, - "closed_trades": 20, + "realized_pnl": -10741849.13250001, + "closed_trades": 21, "wins": 1, "peak_equity": 101012300.052, "max_drawdown": 0.11998402227511754, @@ -100,10 +163,10 @@ "093370": "2026-07-20", "003490": "2026-07-07", "034730": "2026-07-08", - "319660": "2026-07-22", + "319660": "2026-07-23", "105560": "2026-07-20", "086790": "2026-07-21" }, "created_at": "2026-06-11T09:00:01.943999+09:00", - "updated_at": "2026-07-22T15:28:00.892530+09:00" + "updated_at": "2026-07-23T15:28:01.384602+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v81/trades.jsonl b/agents/stock/workspace/state/sim/variants/v81/trades.jsonl index 3dac609..9c14a6d 100644 --- a/agents/stock/workspace/state/sim/variants/v81/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v81/trades.jsonl @@ -53,3 +53,10 @@ {"ts": "2026-07-21T12:06:01.144351+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 344500, "qty": 14, "cost": 4823723, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 313808, "target": 436576, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "344,500 vs 296,350"}, {"label": "정배열(5>20)", "ok": true, "detail": "315,100 / 296,350"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "315,100 / 305,492"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+39.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +1 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+43%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.38% (환산) vs 평균 0.93% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "247,158 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "2.38% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "65"}]} {"ts": "2026-07-22T11:56:00.802645+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159800, "qty": 35, "cost": 5593839, "path": "pullback", "reason": "눌림목 지정가 159,932 도달", "stop": 158000, "target": 165200, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "159,700 vs 149,775"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,580 / 149,775"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,580 / 113,220"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+75.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -408 · 기 +146 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.73% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "1,371,014 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "4.73% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,932 (현재 159,700)"}]} {"ts": "2026-07-22T12:12:00.714403+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 35, "proceeds": 5494764, "entry_price": 159800, "pnl": -99075, "pnl_pct": -1.56, "hold_from": "2026-07-22T11:56:00.802644+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 165,200"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,305"}]} +{"ts": "2026-07-23T09:00:21.392888+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 34, "cost": 5444217, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 158000, "target": 166400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.386182+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 34, "proceeds": 5354738, "entry_price": 160100, "pnl": -89479, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:21.392881+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 166,400"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,669"}]} +{"ts": "2026-07-23T09:44:04.247511+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 296, "cost": 5580437, "path": "pullback", "reason": "눌림목 지정가 19,627 도달", "stop": 17760, "target": 22120, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,627 (현재 18,850)"}]} +{"ts": "2026-07-23T09:50:01.487302+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 55, "cost": 4851728, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80223, "target": 112132, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,200 vs 75,070"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,000 / 75,070"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.454693+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 244, "cost": 3450678, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 12315, "target": 19616, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,180 vs 10,944"}, {"label": "정배열(5>20)", "ok": true, "detail": "13,154 / 10,944"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.568220+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 14, "cost": 4984748, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 313808, "target": 436576, "signals": [{"label": "손절선", "ok": true, "detail": "313,808 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 436,576"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T12:54:04.470475+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 54, "cost": 4909336, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 80223, "target": 112132, "signals": [{"label": "손절선", "ok": true, "detail": "80,223 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 112,132"}, {"label": "추세(20일선)", "ok": true, "detail": "75,210"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v87/portfolio.json b/agents/stock/workspace/state/sim/variants/v87/portfolio.json index db1f390..b27827a 100644 --- a/agents/stock/workspace/state/sim/variants/v87/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v87/portfolio.json @@ -1,28 +1,7 @@ { - "cash": 54636263.25650004, + "cash": 48216695.775500044, "initial": 100000000, "positions": { - "095610": { - "code": "095610", - "name": "테스", - "sources": [ - "auto" - ], - "qty": 24, - "entry_price": 167779.16666666666, - "entry_at": "2026-06-24T09:46:04.762576+09:00", - "stop": 131479, - "target": 276679, - "peak": 234500, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 158,264 도달", - "cur_price": 157000, - "tranches": 2, - "tranche_value": 2088366.7995946202, - "last_add_price": 179100 - }, "086790": { "code": "086790", "name": "하나금융지주", @@ -39,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 122,215 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 5334313.7727854485, "last_add_price": 126200 @@ -55,12 +34,12 @@ "entry_at": "2026-07-09T09:36:03.429422+09:00", "stop": 118952, "target": 180777, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4011361.8546706727, "last_add_price": 136900 @@ -81,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1937633.9877557629, "last_add_price": 139100 @@ -97,12 +76,12 @@ "entry_at": "2026-07-13T09:12:04.268000+09:00", "stop": 305399, "target": 472804, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3890688.706288562, "last_add_price": 353000 @@ -118,19 +97,61 @@ "entry_at": "2026-07-22T14:18:05.401485+09:00", "stop": 11077, "target": 22889, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2157486.0611028625, "last_add_price": 14030 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 83, + "entry_price": 89533.73493975903, + "entry_at": "2026-07-23T09:50:01.489667+09:00", + "stop": 78554, + "target": 122472, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3772217.360484817, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 186, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.457342+09:00", + "stop": 11706, + "target": 21442, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2643062.5483469814, + "last_add_price": 14140 } }, - "realized_pnl": -9359146.865000008, - "closed_trades": 14, + "realized_pnl": -9743169.150000008, + "closed_trades": 15, "wins": 0, "peak_equity": 101529111.72700004, "max_drawdown": 0.11159396836313468, @@ -142,8 +163,9 @@ "240810": "2026-07-08", "214450": "2026-07-06", "034730": "2026-07-07", - "055550": "2026-07-20" + "055550": "2026-07-20", + "095610": "2026-07-23" }, "created_at": "2026-06-11T09:00:01.944063+09:00", - "updated_at": "2026-07-22T15:28:00.894425+09:00" + "updated_at": "2026-07-23T15:28:01.386553+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v87/trades.jsonl b/agents/stock/workspace/state/sim/variants/v87/trades.jsonl index 71ee6cc..f8b8979 100644 --- a/agents/stock/workspace/state/sim/variants/v87/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v87/trades.jsonl @@ -44,3 +44,7 @@ {"ts": "2026-07-20T11:28:01.165620+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 101900, "qty": 42, "proceeds": 4271454, "entry_price": 113100, "pnl": -479458, "pnl_pct": -9.9, "hold_from": "2026-07-13T10:04:06.384944+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "101,931 (현재 101,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 146,608"}, {"label": "추세(10일선)", "ok": true, "detail": "99,150"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -156 · 기 +275"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 115,714"}]} {"ts": "2026-07-20T12:28:02.289804+09:00", "side": "SELL", "code": "093370", "name": "후성", "price": 10310, "qty": 140, "proceeds": 1440585, "entry_price": 13660, "pnl": -472101, "pnl_pct": -24.52, "hold_from": "2026-07-10T11:06:06.444518+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,360 (현재 10,310)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 23,560"}, {"label": "추세(10일선)", "ok": false, "detail": "12,013"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -887 · 기 +515"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 14,626"}]} {"ts": "2026-07-22T14:18:05.401487+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 153, "cost": 2146912, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 22889, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,020 vs 12,975"}, {"label": "정배열(5>10)", "ok": true, "detail": "14,552 / 12,975"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} +{"ts": "2026-07-23T09:50:01.489669+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 42, "cost": 3704956, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77564, "target": 120109, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,200 vs 80,900"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,000 / 80,900"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:24:01.479870+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 152100, "qty": 24, "proceeds": 3643282, "entry_price": 167779, "pnl": -384022, "pnl_pct": -9.35, "hold_from": "2026-06-24T09:46:04.762576+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "131,479 (현재 152,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 276,679"}, {"label": "추세(10일선)", "ok": false, "detail": "152,780"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -101 · 기 -107"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:30:02.457344+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 186, "cost": 2630435, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 21442, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:54:04.472837+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 41, "cost": 3727459, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77564, "target": 120109, "signals": [{"label": "손절선", "ok": true, "detail": "77,564 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 120,109"}, {"label": "추세(10일선)", "ok": true, "detail": "81,180"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v89/portfolio.json b/agents/stock/workspace/state/sim/variants/v89/portfolio.json index ffabc1b..5aa1af9 100644 --- a/agents/stock/workspace/state/sim/variants/v89/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v89/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 53172293.29150003, + "cash": 42028406.72900003, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,264 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 2079456.3546856907, "last_add_price": 179100 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:36:03.432331+09:00", "stop": 118951, "target": 165320, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 3953954.8215015037, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1927673.6668487922, "last_add_price": 139100 @@ -76,12 +76,12 @@ "entry_at": "2026-07-13T09:12:04.271607+09:00", "stop": 305399, "target": 430953, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3886029.232766459, "last_add_price": 353000 @@ -102,7 +102,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 1, "tranche_value": 4613669.033664595, "last_add_price": 138900 @@ -113,20 +113,20 @@ "sources": [ "auto" ], - "qty": 56, - "entry_price": 99200, + "qty": 110, + "entry_price": 101114.54545454546, "entry_at": "2026-07-22T09:04:01.797798+09:00", "stop": 92100, - "target": 113400, - "peak": 101700, + "target": 119144, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5608975.567343752, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -139,19 +139,40 @@ "entry_at": "2026-07-22T14:18:05.404041+09:00", "stop": 11077, "target": 19936, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2082596.1140327216, "last_add_price": 14030 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 291, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.254581+09:00", + "stop": 17760, + "target": 21030, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 20,001 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5487323.415093752, + "last_add_price": 18850 } }, - "realized_pnl": -11578380.102500014, - "closed_trades": 21, + "realized_pnl": -11667858.752500014, + "closed_trades": 22, "wins": 1, "peak_equity": 101169385.00350003, "max_drawdown": 0.13874643709175835, @@ -165,9 +186,9 @@ "214450": "2026-07-06", "034730": "2026-07-07", "003490": "2026-07-07", - "319660": "2026-07-22", + "319660": "2026-07-23", "105560": "2026-07-20" }, "created_at": "2026-06-11T09:00:01.944112+09:00", - "updated_at": "2026-07-22T15:28:00.896314+09:00" + "updated_at": "2026-07-23T15:28:01.388497+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v89/trades.jsonl b/agents/stock/workspace/state/sim/variants/v89/trades.jsonl index 2c52c96..daba9ff 100644 --- a/agents/stock/workspace/state/sim/variants/v89/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v89/trades.jsonl @@ -63,3 +63,7 @@ {"ts": "2026-07-22T09:04:01.797799+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 99200, "qty": 56, "cost": 5556033, "path": "pullback", "reason": "눌림목 지정가 98,848 도달", "stop": 92100, "target": 113400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "98,800 vs 98,505"}, {"label": "정배열(5>20)", "ok": true, "detail": "107,060 / 98,505"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "107,060 / 91,913"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+27.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +29 · 기 -34 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+33%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.16% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "272,433 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "1.16% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 98,848 (현재 98,800)"}]} {"ts": "2026-07-22T12:12:00.718671+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 64, "proceeds": 10047569, "entry_price": 172134, "pnl": -970684, "pnl_pct": -8.62, "hold_from": "2026-07-21T10:12:01.024374+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 200,403"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.404042+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 148, "cost": 2076751, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 19936, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} +{"ts": "2026-07-23T09:00:21.625621+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 34, "cost": 5444217, "path": "pullback", "reason": "눌림목 지정가 169,062 도달", "stop": 158000, "target": 164300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 169,062 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.390425+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 34, "proceeds": 5354738, "entry_price": 160100, "pnl": -89479, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:21.625612+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.254583+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 291, "cost": 5486173, "path": "pullback", "reason": "눌림목 지정가 20,001 도달", "stop": 17760, "target": 21030, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 20,001 (현재 18,850)"}]} +{"ts": "2026-07-23T12:18:01.523301+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 54, "cost": 5568235, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 113400, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,400"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} diff --git a/agents/stock/workspace/state/sim/variants/v91/portfolio.json b/agents/stock/workspace/state/sim/variants/v91/portfolio.json index c52aa50..e694fbb 100644 --- a/agents/stock/workspace/state/sim/variants/v91/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v91/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 63493677.291999996, + "cash": 47697011.587, "initial": 100000000, "positions": { "095610": { @@ -18,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 148,050 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 2, "tranche_value": 1822449.0314863992, "last_add_price": 177000 @@ -34,12 +34,12 @@ "entry_at": "2026-07-09T09:36:03.435143+09:00", "stop": 118952, "target": 165321, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4062274.8724324326, "last_add_price": 136900 @@ -60,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1971330.1207604639, "last_add_price": 139100 @@ -76,12 +76,12 @@ "entry_at": "2026-07-13T09:12:04.274817+09:00", "stop": 305399, "target": 430953, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3951428.5123865386, "last_add_price": 353000 @@ -102,14 +102,77 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 1, "tranche_value": 4707153.839455019, "last_add_price": 138900 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 300, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.258154+09:00", + "stop": 17760, + "target": 21030, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 19,627 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5657635.4323125, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 83, + "entry_price": 89533.73493975903, + "entry_at": "2026-07-23T09:50:01.494329+09:00", + "stop": 78554, + "target": 111492, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3752319.512236461, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 185, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.462610+09:00", + "stop": 11706, + "target": 19008, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2630431.0577629004, + "last_add_price": 14140 } }, - "realized_pnl": -8968492.653000012, - "closed_trades": 16, + "realized_pnl": -9060603.028000012, + "closed_trades": 17, "wins": 1, "peak_equity": 100686647.06200002, "max_drawdown": 0.10634647276918996, @@ -120,10 +183,10 @@ "214450": "2026-07-06", "093370": "2026-07-20", "034730": "2026-07-08", - "319660": "2026-07-22", + "319660": "2026-07-23", "003490": "2026-07-13", "105560": "2026-07-20" }, "created_at": "2026-06-11T09:00:01.944132+09:00", - "updated_at": "2026-07-22T15:28:00.898169+09:00" + "updated_at": "2026-07-23T15:28:01.390384+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v91/trades.jsonl b/agents/stock/workspace/state/sim/variants/v91/trades.jsonl index d2638a7..7ad237c 100644 --- a/agents/stock/workspace/state/sim/variants/v91/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v91/trades.jsonl @@ -47,3 +47,9 @@ {"ts": "2026-07-20T12:48:03.454399+09:00", "side": "SELL", "code": "105560", "name": "KB금융", "price": 168100, "qty": 46, "proceeds": 7717521, "entry_price": 188450, "pnl": -952479, "pnl_pct": -10.8, "hold_from": "2026-07-10T09:28:02.594543+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "168,241 (현재 168,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 228,868"}, {"label": "추세(20일선)", "ok": true, "detail": "159,020"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -385 · 기 +288"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T11:56:00.809137+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159800, "qty": 35, "cost": 5593839, "path": "pullback", "reason": "눌림목 지정가 159,932 도달", "stop": 158000, "target": 163400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "159,700 vs 149,775"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,580 / 149,775"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,580 / 113,220"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+75.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -408 · 기 +146 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.73% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "1,371,014 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "4.73% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,932 (현재 159,700)"}]} {"ts": "2026-07-22T12:12:00.720821+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 35, "proceeds": 5494764, "entry_price": 159800, "pnl": -99075, "pnl_pct": -1.56, "hold_from": "2026-07-22T11:56:00.809136+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 163,400"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,305"}]} +{"ts": "2026-07-23T09:00:21.724528+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 35, "cost": 5604341, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 158000, "target": 164300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.392806+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 35, "proceeds": 5512230, "entry_price": 160100, "pnl": -92110, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:21.724519+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.258157+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 300, "cost": 5655848, "path": "pullback", "reason": "눌림목 지정가 19,627 도달", "stop": 17760, "target": 21030, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,627 (현재 18,850)"}]} +{"ts": "2026-07-23T09:50:01.494331+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 42, "cost": 3704956, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77564, "target": 109473, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,200 vs 75,070"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,000 / 75,070"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.462612+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 185, "cost": 2616292, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 19008, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,180 vs 10,944"}, {"label": "정배열(5>20)", "ok": true, "detail": "13,154 / 10,944"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:54:04.477348+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 41, "cost": 3727459, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77564, "target": 109473, "signals": [{"label": "손절선", "ok": true, "detail": "77,564 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,473"}, {"label": "추세(20일선)", "ok": true, "detail": "75,210"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v93/portfolio.json b/agents/stock/workspace/state/sim/variants/v93/portfolio.json index 0f3bbdb..81da0cf 100644 --- a/agents/stock/workspace/state/sim/variants/v93/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v93/portfolio.json @@ -1,28 +1,7 @@ { - "cash": 54636263.25650004, + "cash": 48216695.775500044, "initial": 100000000, "positions": { - "095610": { - "code": "095610", - "name": "테스", - "sources": [ - "auto" - ], - "qty": 24, - "entry_price": 167779.16666666666, - "entry_at": "2026-06-24T09:46:04.769308+09:00", - "stop": 131479, - "target": 240379, - "peak": 234500, - "trailing_on": false, - "scaled_out": false, - "entry_path": "pullback", - "entry_reason": "눌림목 지정가 158,264 도달", - "cur_price": 157000, - "tranches": 2, - "tranche_value": 2088366.7995946202, - "last_add_price": 179100 - }, "086790": { "code": "086790", "name": "하나금융지주", @@ -39,7 +18,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 122,215 도달", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 5334313.7727854485, "last_add_price": 126200 @@ -55,12 +34,12 @@ "entry_at": "2026-07-09T09:36:03.437904+09:00", "stop": 118952, "target": 165321, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4011361.8546706727, "last_add_price": 136900 @@ -81,7 +60,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1937633.9877557629, "last_add_price": 139100 @@ -97,12 +76,12 @@ "entry_at": "2026-07-13T09:12:04.277995+09:00", "stop": 305399, "target": 430953, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3890688.706288562, "last_add_price": 353000 @@ -118,19 +97,61 @@ "entry_at": "2026-07-22T14:18:05.408272+09:00", "stop": 11077, "target": 19936, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2157486.0611028625, "last_add_price": 14030 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 83, + "entry_price": 89533.73493975903, + "entry_at": "2026-07-23T09:50:01.496551+09:00", + "stop": 78554, + "target": 111492, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3772217.360484817, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 186, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.465284+09:00", + "stop": 11706, + "target": 19008, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2643062.5483469814, + "last_add_price": 14140 } }, - "realized_pnl": -9359146.865000008, - "closed_trades": 14, + "realized_pnl": -9743169.150000008, + "closed_trades": 15, "wins": 0, "peak_equity": 101529111.72700004, "max_drawdown": 0.11159396836313468, @@ -142,8 +163,9 @@ "240810": "2026-07-08", "214450": "2026-07-06", "034730": "2026-07-07", - "055550": "2026-07-20" + "055550": "2026-07-20", + "095610": "2026-07-23" }, "created_at": "2026-06-11T09:00:01.944152+09:00", - "updated_at": "2026-07-22T15:28:00.899996+09:00" + "updated_at": "2026-07-23T15:28:01.392233+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v93/trades.jsonl b/agents/stock/workspace/state/sim/variants/v93/trades.jsonl index efc06d9..b5118d4 100644 --- a/agents/stock/workspace/state/sim/variants/v93/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v93/trades.jsonl @@ -44,3 +44,7 @@ {"ts": "2026-07-20T11:28:01.172696+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 101900, "qty": 42, "proceeds": 4271454, "entry_price": 113100, "pnl": -479458, "pnl_pct": -9.9, "hold_from": "2026-07-13T10:04:06.393165+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "101,931 (현재 101,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 135,439"}, {"label": "추세(10일선)", "ok": true, "detail": "99,150"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -156 · 기 +275"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 115,714"}]} {"ts": "2026-07-20T12:28:02.297247+09:00", "side": "SELL", "code": "093370", "name": "후성", "price": 10310, "qty": 140, "proceeds": 1440585, "entry_price": 13660, "pnl": -472101, "pnl_pct": -24.52, "hold_from": "2026-07-10T11:06:06.452072+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,360 (현재 10,310)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 20,260"}, {"label": "추세(10일선)", "ok": false, "detail": "12,013"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -887 · 기 +515"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 14,626"}]} {"ts": "2026-07-22T14:18:05.408273+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 153, "cost": 2146912, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 19936, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,020 vs 12,975"}, {"label": "정배열(5>10)", "ok": true, "detail": "14,552 / 12,975"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} +{"ts": "2026-07-23T09:50:01.496552+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 42, "cost": 3704956, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77564, "target": 109473, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,200 vs 80,900"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,000 / 80,900"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:24:01.486556+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 152100, "qty": 24, "proceeds": 3643282, "entry_price": 167779, "pnl": -384022, "pnl_pct": -9.35, "hold_from": "2026-06-24T09:46:04.769308+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "131,479 (현재 152,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 240,379"}, {"label": "추세(10일선)", "ok": false, "detail": "152,780"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -101 · 기 -107"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T10:30:02.465286+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 186, "cost": 2630435, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 19008, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:54:04.479526+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 41, "cost": 3727459, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77564, "target": 109473, "signals": [{"label": "손절선", "ok": true, "detail": "77,564 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,473"}, {"label": "추세(10일선)", "ok": true, "detail": "81,180"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v95/portfolio.json b/agents/stock/workspace/state/sim/variants/v95/portfolio.json index 0ff0a31..209d9d2 100644 --- a/agents/stock/workspace/state/sim/variants/v95/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v95/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 72443924.18099996, + "cash": 47900826.70799996, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:36:03.440557+09:00", "stop": 122796, "target": 151777, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 5431234.768283653, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1983368.5438772512, "last_add_price": 139100 @@ -50,24 +50,87 @@ "sources": [ "auto" ], - "qty": 15, - "entry_price": 344500, + "qty": 29, + "entry_price": 350051.724137931, "entry_at": "2026-07-21T12:06:01.154873+09:00", - "stop": 313808, - "target": 390538, - "peak": 346000, + "stop": 318449, + "target": 397456, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, - "tranches": 1, + "cur_price": 360000, + "tranches": 2, "tranche_value": 5187131.77934429, - "last_add_price": 344500 + "last_add_price": 356000 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 306, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.264421+09:00", + "stop": 17760, + "target": 20485, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 19,627 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5769619.612874998, + "last_add_price": 18850 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 113, + "entry_price": 89538.05309734514, + "entry_at": "2026-07-23T09:50:01.498782+09:00", + "stop": 81304, + "target": 101890, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 5101002.197396387, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 253, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.467709+09:00", + "stop": 12315, + "target": 16878, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 3583924.960989971, + "last_add_price": 14140 } }, - "realized_pnl": -7794111.969000011, - "closed_trades": 21, + "realized_pnl": -7886222.344000011, + "closed_trades": 22, "wins": 3, "peak_equity": 101012300.052, "max_drawdown": 0.09061248844237967, @@ -79,11 +142,11 @@ "093370": "2026-07-20", "003490": "2026-07-07", "034730": "2026-07-08", - "319660": "2026-07-22", + "319660": "2026-07-23", "095610": "2026-07-16", "105560": "2026-07-20", "086790": "2026-07-21" }, "created_at": "2026-06-11T09:00:01.944172+09:00", - "updated_at": "2026-07-22T15:28:00.901797+09:00" + "updated_at": "2026-07-23T15:28:01.394058+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v95/trades.jsonl b/agents/stock/workspace/state/sim/variants/v95/trades.jsonl index fd5b6a3..9729cd4 100644 --- a/agents/stock/workspace/state/sim/variants/v95/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v95/trades.jsonl @@ -52,3 +52,10 @@ {"ts": "2026-07-21T12:06:01.154875+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 344500, "qty": 15, "cost": 5168275, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 313808, "target": 390538, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "344,500 vs 296,350"}, {"label": "정배열(5>20)", "ok": true, "detail": "315,100 / 296,350"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "315,100 / 305,492"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+39.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +1 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+43%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.38% (환산) vs 평균 0.93% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "247,158 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "2.38% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "65"}]} {"ts": "2026-07-22T11:56:00.813239+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 159800, "qty": 36, "cost": 5753663, "path": "pullback", "reason": "눌림목 지정가 159,932 도달", "stop": 158000, "target": 162500, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "159,700 vs 149,775"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,580 / 149,775"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,580 / 113,220"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+75.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -408 · 기 +146 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.73% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "1,371,014 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": true, "detail": "4.73% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,932 (현재 159,700)"}]} {"ts": "2026-07-22T12:12:00.724834+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 36, "proceeds": 5651758, "entry_price": 159800, "pnl": -101905, "pnl_pct": -1.56, "hold_from": "2026-07-22T11:56:00.813238+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 162,500"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 169,305"}]} +{"ts": "2026-07-23T09:00:21.935884+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 35, "cost": 5604341, "path": "pullback", "reason": "눌림목 지정가 159,493 도달", "stop": 158000, "target": 163250, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 159,493 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.397127+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 35, "proceeds": 5512230, "entry_price": 160100, "pnl": -92110, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:21.935879+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.264423+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 306, "cost": 5768965, "path": "pullback", "reason": "눌림목 지정가 19,627 도달", "stop": 17760, "target": 20485, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,627 (현재 18,850)"}]} +{"ts": "2026-07-23T09:50:01.498783+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 57, "cost": 5028154, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80223, "target": 100166, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,200 vs 75,070"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,000 / 75,070"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.467710+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 253, "cost": 3577957, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 12315, "target": 16878, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,180 vs 10,944"}, {"label": "정배열(5>20)", "ok": true, "detail": "13,154 / 10,944"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:22:02.579547+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 356000, "qty": 14, "cost": 4984748, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 313808, "target": 390538, "signals": [{"label": "손절선", "ok": true, "detail": "313,808 (현재 356,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 390,538"}, {"label": "추세(20일선)", "ok": true, "detail": "296,925"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +6 · 기 +26"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 355,034"}]} +{"ts": "2026-07-23T12:54:04.481657+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 56, "cost": 5091164, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 80223, "target": 100166, "signals": [{"label": "손절선", "ok": true, "detail": "80,223 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 100,166"}, {"label": "추세(20일선)", "ok": true, "detail": "75,210"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/variants/v97/portfolio.json b/agents/stock/workspace/state/sim/variants/v97/portfolio.json index 7315be7..3274bd4 100644 --- a/agents/stock/workspace/state/sim/variants/v97/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v97/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 57080660.28850004, + "cash": 45682835.64100004, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:36:03.443166+09:00", "stop": 118952, "target": 157593, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4042685.7706206227, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 162,268 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1958420.3080914083, "last_add_price": 139100 @@ -55,12 +55,12 @@ "entry_at": "2026-07-13T09:12:04.283957+09:00", "stop": 305399, "target": 410027, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3926142.1904411796, "last_add_price": 353000 @@ -81,7 +81,7 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 1, "tranche_value": 4693053.686984436, "last_add_price": 138900 @@ -92,20 +92,20 @@ "sources": [ "auto" ], - "qty": 57, - "entry_price": 99200, + "qty": 112, + "entry_price": 101115.17857142857, "entry_at": "2026-07-22T09:04:01.805954+09:00", "stop": 92100, - "target": 109850, - "peak": 101700, + "target": 114638, + "peak": 104500, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 98,848 도달", - "cur_price": 98200, - "tranches": 1, + "cur_price": 102200, + "tranches": 2, "tranche_value": 5741424.6067187525, - "last_add_price": 99200 + "last_add_price": 103100 }, "252990": { "code": "252990", @@ -118,12 +118,12 @@ "entry_at": "2026-07-22T14:18:05.412264+09:00", "stop": 11077, "target": 18460, - "peak": 14060, + "peak": 14280, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 14,023 도달", - "cur_price": 13750, + "cur_price": 14060, "tranches": 1, "tranche_value": 2137757.7286761357, "last_add_price": 14030 @@ -139,19 +139,40 @@ "entry_at": "2026-07-22T15:04:00.982279+09:00", "stop": 120314, "target": 214778, - "peak": 158200, + "peak": 167200, "trailing_on": false, "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 158,107 도달", - "cur_price": 157000, + "cur_price": 154100, "tranches": 1, "tranche_value": 1878556.9772360607, "last_add_price": 158100 + }, + "030000": { + "code": "030000", + "name": "제일기획", + "sources": [ + "auto" + ], + "qty": 299, + "entry_price": 18850, + "entry_at": "2026-07-23T09:44:04.267429+09:00", + "stop": 17760, + "target": 20485, + "peak": 18870, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 20,001 도달", + "cur_price": 18750, + "tranches": 1, + "tranche_value": 5639563.852406252, + "last_add_price": 18850 } }, - "realized_pnl": -9394551.747500017, - "closed_trades": 23, + "realized_pnl": -9484030.397500018, + "closed_trades": 24, "wins": 3, "peak_equity": 101169385.00350003, "max_drawdown": 0.11481561061775883, @@ -165,10 +186,10 @@ "240810": "2026-07-08", "214450": "2026-07-06", "034730": "2026-07-07", - "319660": "2026-07-22", + "319660": "2026-07-23", "003490": "2026-07-13", "105560": "2026-07-20" }, "created_at": "2026-06-11T09:00:01.944191+09:00", - "updated_at": "2026-07-22T15:28:00.903559+09:00" + "updated_at": "2026-07-23T15:28:01.395860+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v97/trades.jsonl b/agents/stock/workspace/state/sim/variants/v97/trades.jsonl index 150cdbc..be3ba56 100644 --- a/agents/stock/workspace/state/sim/variants/v97/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v97/trades.jsonl @@ -66,3 +66,7 @@ {"ts": "2026-07-22T12:12:00.726822+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157300, "qty": 66, "proceeds": 10361555, "entry_price": 172139, "pnl": -1001349, "pnl_pct": -8.62, "hold_from": "2026-07-21T10:12:01.032669+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 193,348"}, {"label": "추세(20일선)", "ok": true, "detail": "149,655"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -407 · 기 +141"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]} {"ts": "2026-07-22T14:18:05.412265+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 14030, "qty": 152, "cost": 2132880, "path": "pullback", "reason": "눌림목 지정가 14,023 도달", "stop": 11077, "target": 18460, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "14,020 vs 12,776"}, {"label": "정배열(5>20)", "ok": true, "detail": "14,552 / 12,776"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "14,552 / 13,283"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+10.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -1,005 · 기 +1,723 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.97% (환산) vs 평균 1.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 15,870"}, {"label": "거래량 급증", "ok": false, "detail": "585,754 (환산) vs 평균 882,736"}, {"label": "회전율 급증", "ok": false, "detail": "0.97% (환산) vs 평균 1.47%"}, {"label": "RSI", "ok": true, "detail": "53"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 14,023 (현재 14,020)"}]} {"ts": "2026-07-22T15:04:00.982281+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 158100, "qty": 11, "cost": 1739361, "path": "pullback", "reason": "눌림목 지정가 158,107 도달", "stop": 120314, "target": 214778, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,000 vs 136,315"}, {"label": "정배열(5>20)", "ok": true, "detail": "172,240 / 136,315"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "172,240 / 99,750"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -311 · 기 +22 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+24%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "5.02% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "971,360 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": true, "detail": "5.02% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "61"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 158,107 (현재 158,000)"}]} +{"ts": "2026-07-23T09:00:22.035712+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 160100, "qty": 34, "cost": 5444217, "path": "pullback", "reason": "눌림목 지정가 169,062 도달", "stop": 158000, "target": 163250, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "158,100 vs 149,695"}, {"label": "정배열(5>20)", "ok": true, "detail": "169,260 / 149,695"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "169,260 / 113,193"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+76.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -162 · 기 +37 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+13%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.05% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "303,687 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.05% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "55"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 169,062 (현재 158,100)"}]} +{"ts": "2026-07-23T09:32:04.399186+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 157800, "qty": 34, "proceeds": 5354738, "entry_price": 160100, "pnl": -89479, "pnl_pct": -1.44, "hold_from": "2026-07-23T09:00:22.035705+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "158,000 (현재 157,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "149,685"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -162 · 기 +37"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]} +{"ts": "2026-07-23T09:44:04.267431+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18850, "qty": 299, "cost": 5636995, "path": "pullback", "reason": "눌림목 지정가 20,001 도달", "stop": 17760, "target": 20485, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "18,850 vs 18,847"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,556 / 18,847"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,556 / 19,356"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+13.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -25 · 기 +6 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.34% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "388,767 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.34% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "48"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 20,001 (현재 18,850)"}]} +{"ts": "2026-07-23T12:18:01.531728+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 103100, "qty": 55, "cost": 5671351, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 92100, "target": 109850, "signals": [{"label": "손절선", "ok": true, "detail": "92,100 (현재 103,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,850"}, {"label": "추세(20일선)", "ok": true, "detail": "98,720"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +222 · 기 -227"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 103,029"}]} diff --git a/agents/stock/workspace/state/sim/variants/v99/portfolio.json b/agents/stock/workspace/state/sim/variants/v99/portfolio.json index ff1d213..01d6141 100644 --- a/agents/stock/workspace/state/sim/variants/v99/portfolio.json +++ b/agents/stock/workspace/state/sim/variants/v99/portfolio.json @@ -1,5 +1,5 @@ { - "cash": 63087434.82850001, + "cash": 52893946.0345, "initial": 100000000, "positions": { "010950": { @@ -13,12 +13,12 @@ "entry_at": "2026-07-09T09:36:03.445578+09:00", "stop": 118954, "target": 165323, - "peak": 149800, + "peak": 150900, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 141700, + "cur_price": 149600, "tranches": 2, "tranche_value": 4126741.2051511523, "last_add_price": 136900 @@ -39,7 +39,7 @@ "scaled_out": false, "entry_path": "pullback", "entry_reason": "눌림목 지정가 151,752 도달", - "cur_price": 112300, + "cur_price": 114000, "tranches": 2, "tranche_value": 1962860.0265569044, "last_add_price": 139100 @@ -55,12 +55,12 @@ "entry_at": "2026-07-13T09:12:04.286625+09:00", "stop": 305399, "target": 430953, - "peak": 352500, + "peak": 364500, "trailing_on": false, "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 323500, + "cur_price": 360000, "tranches": 2, "tranche_value": 3907880.8107494777, "last_add_price": 353000 @@ -81,10 +81,52 @@ "scaled_out": false, "entry_path": "breakout", "entry_reason": "거래량·회전율 동반 전고점 돌파", - "cur_price": 131500, + "cur_price": 130200, "tranches": 2, "tranche_value": 4896171.172402423, "last_add_price": 138900 + }, + "078930": { + "code": "078930", + "name": "GS", + "sources": [ + "auto" + ], + "qty": 84, + "entry_price": 89517.85714285714, + "entry_at": "2026-07-23T09:50:01.502800+09:00", + "stop": 78539, + "target": 111476, + "peak": 94700, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 93900, + "tranches": 2, + "tranche_value": 3816608.495615692, + "last_add_price": 90900 + }, + "024060": { + "code": "024060", + "name": "흥구석유", + "sources": [ + "interest" + ], + "qty": 189, + "entry_price": 14140, + "entry_at": "2026-07-23T10:30:02.472236+09:00", + "stop": 11706, + "target": 19008, + "peak": 14380, + "trailing_on": false, + "scaled_out": false, + "entry_path": "breakout", + "entry_reason": "거래량·회전율 동반 전고점 돌파", + "cur_price": 13870, + "tranches": 1, + "tranche_value": 2678785.411607211, + "last_add_price": 14140 } }, "realized_pnl": -7489752.411500009, @@ -102,5 +144,5 @@ "055550": "2026-07-20" }, "created_at": "2026-06-11T09:00:01.944212+09:00", - "updated_at": "2026-07-22T15:28:00.905331+09:00" + "updated_at": "2026-07-23T15:28:01.397631+09:00" } \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v99/trades.jsonl b/agents/stock/workspace/state/sim/variants/v99/trades.jsonl index 3528903..ac26c41 100644 --- a/agents/stock/workspace/state/sim/variants/v99/trades.jsonl +++ b/agents/stock/workspace/state/sim/variants/v99/trades.jsonl @@ -35,3 +35,6 @@ {"ts": "2026-07-16T09:28:03.470478+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 353000, "qty": 11, "cost": 3883582, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 300363, "target": 423774, "signals": [{"label": "손절선", "ok": true, "detail": "300,363 (현재 352,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 423,774"}, {"label": "추세(10일선)", "ok": true, "detail": "306,600"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -33 · 기 +28"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 351,963"}]} {"ts": "2026-07-20T11:28:01.179199+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 101900, "qty": 42, "proceeds": 4271454, "entry_price": 113100, "pnl": -479458, "pnl_pct": -9.9, "hold_from": "2026-07-13T10:04:06.400111+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "101,931 (현재 101,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 135,439"}, {"label": "추세(10일선)", "ok": true, "detail": "99,150"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -156 · 기 +275"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 115,714"}]} {"ts": "2026-07-20T12:28:02.304109+09:00", "side": "SELL", "code": "093370", "name": "후성", "price": 10310, "qty": 142, "proceeds": 1461165, "entry_price": 13660, "pnl": -478846, "pnl_pct": -24.52, "hold_from": "2026-07-10T11:06:06.458886+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,360 (현재 10,310)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 20,260"}, {"label": "추세(10일선)", "ok": false, "detail": "12,013"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -887 · 기 +515"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 14,626"}]} +{"ts": "2026-07-23T09:50:01.502802+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 43, "cost": 3793169, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77564, "target": 109473, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "88,200 vs 80,900"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,000 / 80,900"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,000 / 75,058"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -150 · 기 +299 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.85% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "785,587 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.85% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]} +{"ts": "2026-07-23T10:30:02.472238+09:00", "side": "BUY", "code": "024060", "name": "흥구석유", "price": 14140, "qty": 189, "cost": 2672861, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 11706, "target": 19008, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "14,180 vs 12,429"}, {"label": "정배열(5>10)", "ok": true, "detail": "13,154 / 12,429"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "13,154 / 12,687"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +109 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "84.26% (환산) vs 평균 31.47% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 13,990"}, {"label": "거래량 급증", "ok": true, "detail": "12,639,979 (환산) vs 평균 4,720,532"}, {"label": "회전율 급증", "ok": true, "detail": "84.26% (환산) vs 평균 31.47%"}, {"label": "RSI", "ok": true, "detail": "66"}]} +{"ts": "2026-07-23T12:54:04.485653+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90900, "qty": 41, "cost": 3727459, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77564, "target": 109473, "signals": [{"label": "손절선", "ok": true, "detail": "77,564 (현재 91,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,473"}, {"label": "추세(10일선)", "ok": true, "detail": "81,180"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -169 · 기 +311"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,945"}]} diff --git a/agents/stock/workspace/state/sim/watchlist.json b/agents/stock/workspace/state/sim/watchlist.json index 2050060..bdadd65 100644 --- a/agents/stock/workspace/state/sim/watchlist.json +++ b/agents/stock/workspace/state/sim/watchlist.json @@ -454,46 +454,11 @@ "origin": "interest", "added_at": "2026-07-13T09:00:04.782139+09:00" }, - "079550": { - "name": "LIG디펜스앤에어로스페이스", - "origin": "auto", - "added_at": "2026-07-13T21:02:18.258393+09:00" - }, - "087010": { - "name": "펩트론", - "origin": "auto", - "added_at": "2026-07-13T21:02:18.258393+09:00" - }, - "128940": { - "name": "한미약품", - "origin": "auto", - "added_at": "2026-07-13T21:02:18.258393+09:00" - }, - "373220": { - "name": "LG에너지솔루션", - "origin": "auto", - "added_at": "2026-07-13T21:02:18.258393+09:00" - }, "161890": { "name": "한국콜마", "origin": "auto", "added_at": "2026-07-13T21:02:18.258393+09:00" }, - "176750": { - "name": "듀켐바이오", - "origin": "auto", - "added_at": "2026-07-13T21:02:18.258393+09:00" - }, - "049080": { - "name": "기가레인", - "origin": "auto", - "added_at": "2026-07-13T21:02:18.258393+09:00" - }, - "187660": { - "name": "페니트리움바이오", - "origin": "auto", - "added_at": "2026-07-13T21:02:18.258393+09:00" - }, "003680": { "name": "한성기업", "origin": "auto", @@ -504,11 +469,6 @@ "origin": "auto", "added_at": "2026-07-13T21:02:18.258393+09:00" }, - "086710": { - "name": "선진뷰티사이언스", - "origin": "auto", - "added_at": "2026-07-13T21:02:18.258393+09:00" - }, "089030": { "name": "테크윙", "origin": "auto", diff --git a/workspace-attestations/5507b36e9d8ab0bf91a20933f29354785892f1062a6e702a1cc16e9e2e7d87d8.attested b/workspace-attestations/5507b36e9d8ab0bf91a20933f29354785892f1062a6e702a1cc16e9e2e7d87d8.attested new file mode 100644 index 0000000..2491718 --- /dev/null +++ b/workspace-attestations/5507b36e9d8ab0bf91a20933f29354785892f1062a6e702a1cc16e9e2e7d87d8.attested @@ -0,0 +1,2 @@ +openclaw-workspace-attestation:v1 +2026-07-22T23:05:29.160Z diff --git a/workspace-attestations/8b2dbe352929b40690dbe9a3e5a138e58e47d1a42e88eb41d71e9539d3077451.attested b/workspace-attestations/8b2dbe352929b40690dbe9a3e5a138e58e47d1a42e88eb41d71e9539d3077451.attested index af2b236..75a89b0 100644 --- a/workspace-attestations/8b2dbe352929b40690dbe9a3e5a138e58e47d1a42e88eb41d71e9539d3077451.attested +++ b/workspace-attestations/8b2dbe352929b40690dbe9a3e5a138e58e47d1a42e88eb41d71e9539d3077451.attested @@ -1,2 +1,2 @@ openclaw-workspace-attestation:v1 -2026-07-22T09:00:00.021Z +2026-07-23T09:00:00.030Z diff --git a/workspace-attestations/d1fd54262c444fd6ab822ec4652ce317fa713ba87c5b1c125db2c01f477eb8d3.attested b/workspace-attestations/d1fd54262c444fd6ab822ec4652ce317fa713ba87c5b1c125db2c01f477eb8d3.attested index 1716aba..fb67062 100644 --- a/workspace-attestations/d1fd54262c444fd6ab822ec4652ce317fa713ba87c5b1c125db2c01f477eb8d3.attested +++ b/workspace-attestations/d1fd54262c444fd6ab822ec4652ce317fa713ba87c5b1c125db2c01f477eb8d3.attested @@ -1,3 +1,3 @@ openclaw-workspace-attestation:v1 -2026-07-22T10:00:00.033Z +2026-07-23T10:00:00.027Z generated:HEARTBEAT.md:ecce558615751a35aa173731e892ff3993f44bb4f5a1219c0a02994790c85528