diff --git a/CLAUDE.md b/CLAUDE.md
index df8a61c..4cd8c9d 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -99,10 +99,14 @@ Stock agent (`agents/stock/workspace/scripts/`), run with `python3`:
- `holiday_sync.py` — investing.com에서 한국(KRX) 휴장일 fetch → `state/market_holidays.json`. behive_web.py 자동갱신 토글이 휴장일·평일·시간대로 비활성 판정. CLI: `python3 holiday_sync.py [--show]`
- `behive_youtube_digest.py` — 비하이브 YouTube 종목분석 수집·요약·발송 + 수동 워치리스트 추가(`add`)/조회·삭제
- `watchlist_monitor.py` — 워치리스트 종목 장중 15분 시세 감시, buy/target/stop 트리거 발생 시 레이 텔레그램 알림 (LLM 없이 동작). 미보유 종목은 ka10095 batch 1콜 + 단건 ka10001 fallback. 보유 종목은 kt00018 재활용
+- `trailing_monitor.py` — **트레일링 스톱 감시** (2026-07-30). 키움 REST에 트레일링 주문 TR이 없어서, 스톱지정가(`trde_tp=28`) 주문을 실제로 걸어두고 고점 갱신 시 `kt10002` 정정(`mdfy_cond_uv`)으로 조건단가를 올려 구현. **주문이 키움 서버에 있어 감시 루프가 죽어도 마지막 손절선은 살아있다** (자체 폴링 발주 방식은 루프가 죽으면 손절이 통째로 사라짐 — 이 차이가 설계 선택 이유). 사이클당 하는 일: ①`ka10075` 미체결 조회로 예약 생존 확인(계좌당 1콜). 사라지면 정리 + **사유 구분 알림** — 미체결 조회만으로는 체결·취소·소멸이 구분되지 않아(셋 다 목록에서 빠짐) 그때만 `ka10170` 1콜 추가로 판정: ✅체결(당일 매도기록 있음) / ⚠️소멸(기록 없음 = 체결 안 됨 확정, 재등록 안내) / 🎯판정불가(일지 조회 실패). ⚠️ **조회 실패를 '체결 안 됨'으로 단정 금지** — `_fill_check` 가 (기록, 성공여부) 튜플을 반환하는 이유 ②`ka10095` 시세 1콜 → 고점 갱신분만 정정. 주가가 그대로·하락이면 API 콜 0. ⚠️ **`kt10002` 응답 `ord_no`는 신규 주문번호** — `trailing.commit_modify`가 상태파일 `ord_no`를 갱신하지 않으면 두 번째 정정부터 `orig_ord_no`가 틀려 전부 실패(최대 함정). ⚠️ **고점은 등록 시점 현재가에서 시작해 현재가로만 갱신**한다 — `ka10095`가 당일고가(`high`)도 주지만 등록 전에 찍힌 고가까지 반영되면 손절선이 현재가 위로 올라가 즉시 발동(예: 오전 15,000→14,000일 때 3% 등록 시 당일고가 기준 조건 14,550 > 현재가). 같은 이유로 초기 고점 선택 옵션(52주 전고점·매수후 고점)도 제거됨. 1분 간격이라 그 사이 스파이크는 놓친다(손절선이 덜 올라가 이익 확정 폭이 조금 줄어드는 방향 — 손실 위험은 아님). ⚠️ **정밀도 보완은 하지 않기로 결론**(2026-07-30 관리자님 판단): 최저 매도가로 하한이 통제되므로 1분 해상도의 고점 누락은 감당 범위. 검토했던 두 안 — `entry_day_high`(등록 시점 당일고가를 기준선으로 저장해 그보다 큰 `high`만 등록 이후 신고가로 인정. 추가 콜 0이지만 기준선 아래 스파이크는 여전히 누락) / `realtime_hub` WS 틱 고점 추적(정확하지만 구독·재연결 폴백 필요) — **둘 다 채택 안 함. 다시 제안하지 말 것.** ⚠️ **`fill_watcher`를 걸지 않는다** — 스톱 예약은 장중 내내 미체결이 정상이라 30분 미체결 알림이 오탐. 생존·체결 감시는 이 스크립트가 직접. ⚠️ **스톱주문은 장 마감 후 소멸한다(2026-07-30 실증)** — 첫 실주문이 체결 없이 사라짐(당일 매도기록 0·보유 불변), 감지 18:21로 15:30 즉시가 아니라 몇 시간 뒤. **자동 재등록은 하지 않는다**(관리자님 결정) — 알림만 보내고 재등록은 자산웹에서 수동. 정정 수량은 저장 qty가 아닌 **미체결 잔량**(부분체결 대응). 미체결 조회 실패 계좌는 그 사이클 판단 보류(없다고 단정하면 살아있는 예약을 지움). CLI: `check [--repeat N --gap S] [--force] [--dry-run]` / `list`
+- `orders/trailing.py` — 트레일링 예약 상태(`state/trailing_stops.json`) + 손절선 계산. `compute_levels(peak, pct, min_sell_price=None)` = `cond_uv` = **max(peak×(1−pct/100), min_sell_price)** 호가단위 내림 + `ord_uv`(조건단가 −`ORD_UV_GAP_TICKS` 2틱 — 조건단가와 같게 두면 발동 후 그 가격 아래로 안 팔려 미체결로 남고, 너무 벌리면 급락 시 헐값 매도). 반환에 `floor_applied`(최저가가 트레일을 이겼는지)를 실어 카드·미리보기가 어느 쪽이 지배 중인지 표시한다. **최저 매도가**는 손절선의 하한 — 트레일 폭을 넓게 잡아도 이 가격 아래로 안 내려간다(초기 구간 손실 제한). 고점이 올라 트레일이 최저가를 추월하면 그 뒤론 트레일이 지배(전환점 = `min_sell_price ÷ (1−pct/100)`, 예: 최저 4,500·20% → 5,625원). 최저가 지배 구간에선 고점이 올라도 조건단가가 안 변해 `next_levels`가 None → 불필요한 정정 API 콜 0. `next_levels(res, cur)`는 **상향 전용 순수함수**(현재가>고점 AND 새 조건단가>기존 조건단가일 때만 값 반환) — 단위테스트 대상. 트레일 폭 허용 0.5~30%. 같은 계좌·종목 중복 예약은 `find_by_symbol`로 propose 단계에서 차단. fcntl lock + atomic write (`pin.py` 패턴)
- `behive_web.py` — 워치리스트 실시간 웹 뷰 + 매매 진입점. `serve`(launchd, Tailscale IP 100.75.148.12:18790 바인드, 페이지 GET마다 키움 ka10095 batch 1콜로 워치리스트 시세 + kt00018·kt00001·ka10170 병렬 호출 후 HTML 응답. RENDER 캐시 10s, 종목별 quote 캐시 30s) / `render`(디버깅용 1회 렌더). 외부 노출은 NAS Synology reverse proxy(`stock.hyowons.net` → mac:18790) 경유. 인증 없음 — Tailnet 내부망 한정 운영. **빌드 버전 자동 리로드**(2026-07-03): 이 앱은 `location.reload` 없이 fetch로만 갱신해 코드 수정+재시작 후에도 열려있던 페이지는 옛 인라인 JS/CSS를 계속 씀. `BUILD`(파일 mtime, import 시 1회) 상수를 shell `window.__build`와 `/api/panels` 응답 `build`에 실어, `apply()`가 불일치(옛 페이지=`__build` 없음 포함) 감지 시 `sessionStorage` 가드로 build당 1회 자동 리로드 → 최신 JS/CSS 반영(리로드로도 안 맞으면 루프 없이 포기). 보유종목 day_change 보정은 brifing 과 동일 A-4 정책. **KPI 라벨 규칙**(2026-07-29): **'총'은 계좌 전체(현금 포함) 기준일 때만 쓴다** — `총자산`(=평가금액+예수금)·`총수익`(=총자산−투자원금)만 '총'을 갖고, 보유종목 한정인 `평가금액`·`매입금액`·`평가손익`은 안 붙인다. 이름만으로 관계식이 읽히게 한 정리(구 라벨: 총 평가금액→평가금액, 순자산→**총자산**, 총 매입금액→매입금액, 총 평가손익→평가손익, `총수익 (원금 대비)`→총수익). 헷갈리던 세 쌍을 분리한 결과 — ①평가금액 vs 총자산(차이=예수금) ②매입금액 vs 투자원금(전자는 현 보유분 매입원가, 후자는 실제 입금액) ③평가손익 vs 총수익(전자는 보유분 미실현만, 후자는 실현·배당 포함). `_render_owner_kpi`·`_render_account_kpi`·**`stock_portfolio_report`(HTML·평문·텔레그램)**·순자산 차트 표시문(`NET_WORTH_MODE_PRESETS`·차트 제목·aria·툴팁 행) 전부 통일. ⚠️ 평문 리포트 라벨은 **표시폭 17칸 정렬**(한글 2칸) — 라벨 바꿀 때 공백 수 재계산 필요. ⚠️ `_rtk` 실시간 매핑 키가 라벨 문자열이라 라벨 변경 시 함께 고쳐야 한다. ⚠️ PBR 설명문의 '회사 순자산'은 뜻이 다르니 건드리지 않는다. ⚠️ `render`는 **셸 HTML만** 생성(데이터 fetch 없음) — 패널 내용 검증은 `_build_panels_payload()` 직접 호출이나 `/api/panels` curl로 해야 한다. **KPI 행 순서**(2026-07-29, 관리자님 지정): 합산 owner 카드(`_render_owner_kpi`)는 **구분선·그룹 없는 단일 목록** — `총자산 · **투자원금** · 매입금액 · 평가금액 · 평가손익 · 예수금 · [당일 입출금] · 보유종목/당일매매 · 당일 평가손익` + 조건부 `당일 실현손익`(non-compact) + 맨 아래 `총수익`. `당일 입출금`은 예수금 바로 아래(현금 잔액↔그날 현금 이동)이고 입출금 없는 날은 행 자체가 없다. 투자원금은 총자산 바로 아래(전체 자산↔넣은 돈 대비), 총수익은 맨 아래 결론. 원금 미집계(부트스트랩 전)면 **두 행 모두** 사라진다. 보유종목·당일매매는 **한 행 결합**(`3개 / 2개`) — compact에도 당일매매가 함께 보인다. 평문 리포트에서 `보유종목/당일매매`는 표시폭이 정확히 17칸이라 패딩 없이 콜론이 맞는다. 같은 순서·라벨을 `_render_account_kpi`와 `stock_portfolio_report`(HTML 소유자별·전체합계, 평문)에도 적용. ⚠️ 2026-07-29 중 4그룹(자산/보유/누적/당일) 구분선 방식을 거쳤다가 단일 목록으로 되돌림 — `.kpi-gtop` CSS는 제거됨. `_rtk` 실시간 매핑(value/profit/net/daypl/totret)은 라벨 기준이라 그룹화와 무관하게 동작. 계좌별 pane(`_render_account_kpi`)은 평면 유지(관리자님 선택). ⚠️ 그룹화로 stock_portfolio_report 메일의 평면 순서와는 배치가 갈렸다(라벨은 동일). **투자원금·총수익 KPI**(2026-07-29): `누적 성과` 그룹 2행 — `투자원금`(값은 금액만, **라벨 옆 작은 원형 `[!]` 버튼**) / `총수익`. 버튼을 값(td)이 아니라 라벨(th)에 두는 이유 — 금액 뒤에 붙이면 숫자 우측정렬이 흐트러진다. `kpis` 튜플의 **3번째 원소**가 라벨 뒤 HTML(escape 대상 아님)로 렌더된다. **KPI 상세 팝업은 공용 1개**(`kpi-modal` + `openKpiModal(src,title)`): 라벨 옆 `.kpi-more-btn`이 `data-kpi-src`(엔드포인트)·`data-kpi-title`을 들고 있고, 위임 핸들러가 그걸 읽어 fetch → 본문 innerHTML. 버튼 생성은 `_kpi_more_button(src, title)`. 본문은 **서버가 HTML로 조립**하므로 새 [!] 버튼을 늘릴 때 JS·모달 추가가 필요 없다 — 렌더 함수 + 엔드포인트 분기만 더하면 된다. 현재 2개: `/api/principal?owner=`(`_render_principal_body` — 투자원금·누적 입금/출금·계좌별 + 입출금 내역 233행) / `/api/cashflow?owner=`(`_render_cashflow_body` — 당일 입금/출금 합계 + 건별 내역, kt00015 계좌당 1콜 재조회). 두 팝업 모두 `.pm-*` CSS 공유. ⚠️ 순액과 합계가 같아지는 중복 표시 금지 — 당일 입출금은 **한쪽 방향뿐이면 `순 입출금` 행을 생략**한다(`+3,000,000원 · 입금 3,000,000원` 같은 군더더기가 KPI 행·메일·텔레그램 4곳에 있었음, 2026-07-29 제거). 모달 셸은 shell HTML 직속이라 panels swap 영향 없음. 내역은 `ip.get_flows` 캐시 읽기라 **키움 콜 0**. 내역 233행 중 대부분이 배당·이자라 실제 입금이 묻히므로 **기본은 원금 반영분만 보이고**(본인 49/140·가희 15/93) 체크박스로 나머지를 펼친다 — `.pm-all-cb:not(:checked) ~ .pm-list .pm-row.other{display:none}` **CSS-only, JS 없음**. 개념 설명문은 넣지 않는다(관리자님 지시). ⚠️ 계좌 간 대체(내 일반↔ISA)가 있으면 owner 합계는 상쇄되지만 **계좌별 금액은 왜곡**되므로 안내문(`.pm-note-in`)을 띄운다(실측 본인 6,000,000·가희 1,000,000 각각 상쇄). `순자산 − 원금` 관계가 눈으로 읽히게 붙여 놓고, 위쪽 `총 평가손익`(보유분 미실현)과 혼동되지 않게 라벨에 "원금 대비"를 명시. 데이터는 `investment_principal.get_principal(lbls)`(캐시 읽기, 콜 0) → `_build_owner_data`가 `principal`·`principal_cash_in/out`·`principal_qty_flow`로 주입, None이면 2행 생략. 순자산이 WS 틱마다 움직이므로 총수익도 같이 갱신 — 카드 `data-rt-principal` + td `data-rt-kpi="totret"`를 `setOwnerKpis`가 읽어 `T.net − principal` 재계산(`updateScopes`/`T` 구조 무변경). 계좌별 pane(`_render_account_kpi`)은 미적용. 보유종목 행마다 `📋 거래내역` + `💰 거래` + `📝 메모` 버튼. 자산정보 탭 sub-tab 3개 (자산보기·차트보기·시장정보) + 우측 별도 `[💰 거래]` 버튼 (본인 첫 보유종목 자동 선택). 관심·감시종목 행에도 `💰 거래` (보유 모드면 매도 default).
**거래 모달 시스템 (`order-modal` + `pin-modal` + `open-orders-modal`)** — 매매 진입점. 흐름: 종목 select(상단, 보유/관심/감시 통합) → 매수·매도 토글 → 호가창(ka10004 10단계, 1초 polling, visibility 가드) + 입력(계좌·주문유형 LIMIT/MARKET·단가·금액(매수만 양방향)·수량) → 매수/매도 버튼 → propose → PIN 모달(modal-top z-index) 카드 요약 + PIN 입력(`autocomplete="one-time-code"`) + 만료 카운트다운 → verify → 결과 토스트 + 자동 닫기. `[📋 진행중]` 탭은 활성 PIN 카드 → PIN 모달, 미체결만 → open-orders 모달(4계좌 통합 + 행별 취소). 매수 시 금액↔수량 양방향 자동(programmatic .value, 무한루프 X). 매도 토글 시 수량 자동 100%(max_qty). 시장 phase 라벨 + NXT 시간대+`nxt_enable=false` 시 `📵 NXT 거래불가` + 매수/매도 버튼 disable. 우상단 X 없음 — 하단 [닫기]/[취소] + overlay 클릭. **2계좌 동시 매도**(2026-06-12): 매도 버튼 시 **전량매도(입력 수량=max_qty)** 이고 같은 소유자 그룹(본인 일반↔ISA / 가희끼리)의 다른 계좌에도 같은 종목 보유(`accStatus.trde_able_qty>0`)면 `sell-choice-modal` 팝업 — [두 계좌 모두 매도](두 계좌 모두 매도가능 전량, 단가 동일) / [선택 계좌만] / [취소]. 일부매도는 팝업 없이 단일 진행. 매도 정보영역은 그룹 내 다른 계좌도 보유 시 `보유: 141주 / 전체 280주` 병기. 모두 매도는 `POST /api/order/propose_multi` → `handler.propose_trade_multi`(레그별 독립 검증, SELL+LIMIT/MARKET 한정, 같은 그룹만) → **카드 1장+PIN 1개**(iMessage `매도(2계좌)`)가 두 레그 승인 → verify 시 `_submit_multi_legs`가 레그 독립 제출(idem_hash 계좌별 분리)·독립 fill_watcher, 한 레그 실패해도 나머지 시도(ok=하나라도 접수).
+ **매도 주문유형 4종** — 지정가(LIMIT) / 시장가(MARKET) / 스톱지정가(STOP_LIMIT, 하락 시 매도·조건단가 고정) / **트레일링 스톱(TRAILING_STOP, 2026-07-30 추가)**. 뒤 2개는 매도 전용(매수 선택 시 옵션 disabled + LIMIT로 되돌림, `refreshStopUI`). **트레일링 입력 2개**(단가 입력행은 숨김 — 조건단가·지정가는 서버 계산): ①**트레일 폭 %**(0.5~30, 기본 10) ②**최저 매도가**(선택, 비우면 제한 없음). 단위(`(%)`·`(원)`)는 **라벨에 박는다** — 입력칸 옆에 붙이면 가로로 벌어져 스크롤이 생기고 number input 안쪽 absolute 접미사는 데스크톱 스피너와 겹친다. `handler.propose_trade(trail_pct, min_sell_price)`가 초기 고점을 `md['current_price']`로 정하고 `trailing.compute_levels`로 계산. ⚠️ **고점 기준 선택 옵션은 2026-07-30 제거됨**(`peak_basis` / `52주 전고점` / `매수후 고점`) — 과거 고점을 기준으로 잡으면 손절선이 현재가 위로 올라가 등록 즉시 발동한다. **손실 종목은 등록 자체가 불가**(실측 제닉스로보틱스 현재가 4,805 · 매수후 고점 6,890 → 필요 폭 30.3% / 52주 19,940 → 75.9%, 둘 다 상한 30% 초과), **이익 종목은 과거 고점 ≈ 현재가라 결과가 같다**. 즉 차이가 날 때는 못 쓰고 쓸 수 있을 때는 차이가 없어 옵션을 없앴다. **다시 넣지 말 것.** ⚠️ **손절선 ≥ 현재가면 `TRAIL_IMMEDIATE`로 거부** — 고점=현재가 고정이라 이제 최저 매도가가 현재가보다 높은 경우만 남는다. **거부 시점은 입력 시점**(2026-07-30 관리자님 지시로 propose 시점에서 이동) — `trailBlockReason()`이 입력값을 보고 사유 문자열을 내놓고, 걸리면 매도 버튼이 disable + title 에 사유. 서버 `TRAIL_IMMEDIATE`는 최후 방어선으로 유지. ⚠️ **버튼 `disabled`는 `refreshSubmitGate()` 한 곳에서만 결정한다** — 시장 phase 게이트(`updateMarketPhaseDisplay`, `/api/market_state` 주기 폴링)와 트레일 게이트가 같은 버튼을 건드려서, 예전처럼 각자 대입하면 주기 호출이 트레일 게이트를 덮어써 즉시발동 입력이 통과된다. phase 쪽은 `state.phaseCanTrade`/`phaseLabel`만 쓰고 판단을 위임. propose 진행 중에는 `btn.dataset.busy='1'`로 잠가 주기 호출이 버튼을 되살리지 못하게 하고, 응답·에러 후 busy 해제 + 재계산. `renderTrailPreview`는 조기 반환 경로(폭 미입력·시세 로딩)에서도 게이트가 걸려야 하므로 **함수 맨 앞에서** `refreshSubmitGate()`를 부른다. 클라이언트 미리보기(`renderTrailPreview`/`trailCondPrice`/`floorTick`)는 서버와 **같은 식**이지만 실제 발주값은 서버 계산분이 승자 — 한쪽만 바꾸면 표시와 발주가 어긋나니 `orders/trailing.compute_levels` 수정 시 JS도 함께 고칠 것(112개 조합 node 대조로 검증하는 방식). 키움엔 스톱지정가로 나가고(`submit_with_pin`이 `TRAILING_STOP`→`STOP_LIMIT` 변환) 트레일링은 우리 쪽 개념. 승인 후 `trailing.register(ord_no, ...)`로 예약 등록, 이후 `trailing_monitor`가 조건단가 상향. **등록 실패 시 주문은 이미 접수된 상태**라 카드 메시지에 ⚠️ 경고를 붙이고 ledger `trailing_register_failed` 기록(숨기면 트레일링이 안 도는 걸 모른다). 트레일링·스톱지정가는 단일 계좌 예약이라 **2계좌 동시 매도 분기에서 제외**. 취소는 `[📋 진행중]`에서 해당 미체결 주문 취소 → 다음 감시 사이클이 사라진 예약을 자동 정리. ⚠️ 트레일링 예약이 미체결 매도로 잡혀 있으면 `/api/order/check`의 `_pending_sell_qty` 차감 덕에 **일반 매도 max_qty가 자동으로 줄어든다**(이중 매도 구조적 차단).
+
**텔레그램 발송 정책 (웹 매매)** — 거부·검증 에러는 토스트만, **매매등록(submit_with_pin 성공)·매매체결(fill_watcher)만** 텔레그램. PIN 메시지는 **iMessage** (Apple 도메인 바인딩 `@stock.hyowons.net #PIN`, iOS Safari OTP 자동입력). `handler.send_imessage_pin` (fire-and-forget Popen, AppleEvent timeout -1712 떠도 메시지는 큐로). credential `credentials/admin_imessage.json` `{"handle": "01012345678"}`. 자기 자신 iMessage self-send 가능 (mac → 본인 iCloud handle). **규칙(나→나 iMessage)**: 관리자 본인 handle로 보내는 iMessage는 항상 `--service imessage`(파란) 강제 — SMS 셀프발송 금지. 이유: iMessage 셀프발송은 Note-to-Self라 보낸 버블만 뜨고 OTP 도메인 자동입력이 정상 동작하지만, SMS 셀프발송은 통신사 loopback으로 초록·수신버블이 생기고 자동입력이 깨질 수 있음. 타인 대상(예: 가희 리마인더 `gahee_reminder._send_imessage`는 `--service sms`)은 예외.
**신규 endpoint**: `/api/quote_book?code` (ka10004 호가 10단계 + ka10001 현재가 + `nxt_enable`), `/api/order/check?code&account&side&price` (잔액·보유·max_qty·매도 손익 미리보기), `POST /api/order/propose` (handler.propose_trade wrapper, 성공 시만 텔레그램·iMessage), `POST /api/order/propose_multi` (2계좌 동시 매도 — accounts/qtys 콤마 동수 리스트, handler.propose_trade_multi wrapper), `POST /api/order/verify` (handler.submit_with_pin wrapper, 성공 시만 텔레그램), `POST /api/order/cancel` (handler.cancel_active_card, 텔레그램 X), `/api/order/active` (PinStore.peek + 4계좌 미체결 카운트), `/api/orders/open` (ka10075 4계좌), `POST /api/orders/cancel?ord_no&account` (handler.cancel_open_order + 텔레그램), `/api/market_state` (regular/nxt/closed/holiday/weekend phase), `/api/symbols/all` (보유+관심+감시 통합 dedup)
@@ -150,6 +154,7 @@ OpenClaw 자동화는 두 갈래로 동작한다 (모두 Asia/Seoul):
- **stock.briefing-fallback-2030** — 평일 20:30 — 오늘 스냅샷 없으면 stock.briefing 재실행 (idempotent)
- **stock.briefing-fallback-2100** — 평일 21:00 — **무조건 fresh fetch로 스냅샷 갱신** (`briefing_fallback.py force` → 스냅샷 있으면 `stock_portfolio_report.py run` 메일·텔레그램 X, 없으면 `send` 폴백 + 실패 시 알림). 20:10 데이터 부정확 케이스 보완용
- **stock.watchlist-monitor** — 평일 10:00 / 12:00 / 14:00 — 워치리스트 buy/target/stop 알림 (2026-05-12: 15분 간격 → 3회로 축소)
+- **stock.trailing-monitor** — 평일 09:00–15:30 **매 1분** (`StartCalendarInterval` 391엔트리, 스크립트 self-skip) — `trailing_monitor.py check`: **트레일링 스톱 감시**. ⚠️ **매매 API를 자동 호출하는 유일한 트리거** — 매매 자동 트리거 금지 규칙의 예외로 2026-07-30 관리자님 명시 승인. 호출하는 건 `kiwoom_order.modify_order` 하나뿐이고 신규 발주·수량·방향 변경 경로가 없음(PIN 승인 시 계좌·종목·수량·트레일 폭 확정, 감시는 조건단가 **상향만**). 예약 0건이면 즉시 종료(API 콜 0). 로그 `logs/stock-trailing-monitor.{log,err.log}`. ⚠️ **cadence 이력 2분→30초→1분**(전부 2026-07-30) — launchd 최소 단위가 1분이라 30초는 프로세스 내부 `--repeat 2 --gap 30`으로 구현했고 CLI 옵션은 살아있음(다시 쓸 땐 plist 인자만 추가). `StartInterval=30`은 GUI idle 시 발화 보류라 사용 금지
- **stock.ipo-calendar-sync** — 매주 금요일 17:00 — IPO 청약·상장 일정 캘린더 등록
- **stock.fomc-calendar-sync** — 매월 1일 09:10 — `fomc_calendar_sync.py`: 연준 FOMC 회의 일정 캘린더 등록·갱신. 연준이 1년 이상 앞서 공표하고 변경이 거의 없어 월 1회로 충분(폴백 트리거 없음). LLM 미경유. 로그 `logs/fomc-calendar-sync.{log,err.log}`
- **stock.holiday-sync** — 매주 일요일 03:00 — investing.com KRX 휴장일 → `state/market_holidays.json` (behive_web 자동갱신 토글이 참조)
diff --git a/TASKS.md b/TASKS.md
index f99ae36..c13397e 100644
--- a/TASKS.md
+++ b/TASKS.md
@@ -18,6 +18,7 @@
| **증권잔액 → 골디 inbox** | `python3 ~/.openclaw/agents/stock/workspace/scripts/send_balance_to_budget.py` | launchd `ai.openclaw.stock.send-balance` (매월 1일 04:30) |
| **골디 inbox 처리** (단독) | `python3 ~/.openclaw/agents/budget/workspace/skills/monthly-settlement/scripts/inbox_handler.py [--dry-run]` | 트리거 없음 — 월간결산 cron 진입부에서 자동 호출. 수동 점검·재처리용 |
| **워치리스트 모니터링** | `python3 ~/.openclaw/agents/stock/workspace/scripts/watchlist_monitor.py check` | launchd `ai.openclaw.stock.watchlist-monitor` (평일 09–15시 매 15분) |
+| **트레일링 스톱 감시** | `python3 ~/.openclaw/agents/stock/workspace/scripts/trailing_monitor.py {check [--repeat N --gap S] [--force] [--dry-run]\|list}` | launchd `ai.openclaw.stock.trailing-monitor` (평일 09:00–15:30 **매 1분**, 스크립트가 장외·휴장 self-skip). 자산웹에서 PIN 승인된 트레일링 예약의 조건단가를 고점 갱신 시 kt10002로 **상향만** 정정. 신규 발주 없음. 예약 0건이면 즉시 종료(API 콜 0). 상태 `state/trailing_stops.json`. ⚠️ cadence 변경 이력 2분→30초→**1분**(2026-07-30 관리자님) — 30초는 launchd로 불가해 `--repeat 2 --gap 30`(프로세스 내부 2회)으로 구현했었고, 옵션은 살아있으니 다시 쓸 땐 plist 인자만 추가 |
| **공모주 캘린더 동기화** | `python3 ~/.openclaw/agents/stock/workspace/scripts/ipo_calendar_sync.py` | launchd `ai.openclaw.stock.ipo-calendar-sync` (매월 1일 09:00) |
| **FOMC 캘린더 동기화** | `python3 ~/.openclaw/agents/stock/workspace/scripts/fomc_calendar_sync.py [--list\|--dry-run]` | launchd `ai.openclaw.stock.fomc-calendar-sync` (매월 1일 09:10). 연준 공식 일정표 → `[FOMC] YYYY-MM 회의` 종일 일정(회의 시작일 ET ~ 발표일 KST). `--list`는 파싱 결과만(캘린더 미접근) |
| **휴장일 동기화** | `python3 ~/.openclaw/agents/stock/workspace/scripts/holiday_sync.py [--show]` | launchd `ai.openclaw.stock.holiday-sync` (매주 일요일 03:00) |
diff --git a/agents/stock/workspace/MEMORY.md b/agents/stock/workspace/MEMORY.md
index 8244045..eecffe9 100644
--- a/agents/stock/workspace/MEMORY.md
+++ b/agents/stock/workspace/MEMORY.md
@@ -42,6 +42,7 @@
| 라벨 (`ai.openclaw.stock.`) | 일정 | 스크립트 | 핵심 비고 |
|---|---|---|---|
| `watchlist-monitor` | 평일 10·12·14시 (휴장일 self-skip) | `watchlist_monitor.py check` | buy/target/stop 감지 시 텔레그램 요약 + HTML 메일 1통. 2026-05-12 15분 간격 → 3회 축소 (관리자님 요청) |
+| `trailing-monitor` | 평일 09:00–15:30 **매 1분** (`StartCalendarInterval` 391엔트리, 스크립트 self-skip) | `trailing_monitor.py check` | **트레일링 스톱 감시** (2026-07-30 도입). ⚠️ **매매 API를 자동 호출하는 유일한 트리거** — `feedback_no_trade_auto_triggers` 예외로 관리자님이 명시 승인. 허용 근거: 호출하는 건 `kiwoom_order.modify_order` **하나뿐**이고 신규 발주·수량·방향 변경 경로가 없음. PIN 승인 시 계좌·종목·수량·트레일 폭이 확정되고, 감시는 이미 승인된 스톱주문의 조건단가를 **상향만** 정정. 예약 0건이면 즉시 종료(API 콜 0). 상태 `state/trailing_stops.json`, 로그 `logs/stock-trailing-monitor.{log,err.log}`. ⚠️ **cadence 이력 2분→30초→1분**(전부 2026-07-30 관리자님 지시). launchd 최소 단위가 1분이라 30초는 프로세스 내부 `--repeat 2 --gap 30`(1분 발화 × 30초 간격 2회)으로 구현했고 **CLI 옵션은 살아있다** — 다시 30초로 갈 땐 plist ProgramArguments에 인자만 추가. `StartInterval=30`은 GUI idle 시 발화 보류라 사용 금지(sim-scan이 같은 이유로 캘린더 전환). ⚠️ **스톱주문은 장 마감 후 소멸한다 — 2026-07-30 실증 완료**(가정이 틀렸음). 첫 실주문 TRL-A2Z4(제닉스로보틱스 1주, 14:35 등록, 손절선 4,370→4,455 3회 상향)가 **체결 없이** 사라졌다: 당일매매일지 매도 기록 0건 · 보유수량 3,338주 불변 · 미체결 0건. 감지 시각 **18:21**(15:30 장 마감 즉시가 아니라 몇 시간 뒤 — 감시는 그 사이 매분 정상 발화했고 로그가 조용했으니 주문은 18:20까지 조회에 살아있었다. NXT 시간대엔 손절선이 실제로 유효했던 셈. 1회 관측이라 매일 같은 시각인지는 미확인). ⚠️ **자동 재등록 안 한다**(관리자님 결정) — 알림만 보내고 재등록은 자산웹에서 수동. 소멸 알림에 사유 구분 있음(아래). ⚠️ **예약 종료 알림 3갈래**(`_fill_check`+`_notify_gone`): 미체결 조회에서 사라진 것만으로는 체결·취소·소멸을 구분할 수 없어(셋 다 목록에서 빠짐) 예약이 사라질 때만 ka10170 1콜 추가로 판정 — ✅체결(당일 매도기록 있음, 수량·평균가·실현손익 표시. 관리자님 수동 매도와는 구분 불가라 단정 안 함) / ⚠️소멸(매도기록 없음 = 체결 안 됨 확정 + 재등록 안내) / 🎯판정불가(일지 조회 실패). **조회 실패를 '체결 안 됨'으로 단정하면 안 된다** — `_fill_check`가 (기록, 성공여부) 튜플을 반환하는 이유. ⚠️ **초기 고점 = 등록 시점 현재가 고정**, 이후 갱신도 **현재가로만**(당일고가를 쓰면 등록 전 고가 때문에 즉시 발동). ⚠️ **고점 기준 선택 옵션은 2026-07-30 제거 — 다시 넣지 말 것**(`peak_basis`/`52주 전고점`/`매수후 고점`). 과거 고점 기준은 손절선이 현재가 위로 올라가 `TRAIL_IMMEDIATE` 거부되는데, **손실 종목은 등록 자체가 불가**(실측 제닉스로보틱스 현재가 4,805 · 매수후 고점 6,890 → 필요 폭 30.3% / 52주 19,940 → 75.9%, 상한 30% 초과)고 **이익 종목은 과거 고점 ≈ 현재가라 결과가 동일**. 차이 날 때 못 쓰고 쓸 수 있을 때 차이 없어 폐기. ⚠️ **최저 매도가**(`min_sell_price`)로 손절선 하한 지정 가능 — `cond_uv = max(트레일, 최저가)`. 트레일 폭을 넓게 잡아도 이 가격 아래로 안 내려간다. 고점이 올라 트레일이 추월하면 그 뒤론 트레일 지배(전환점 = 최저가÷(1−pct)). 1분 간격이라 그 사이 스파이크는 놓친다(손절선이 덜 올라가는 방향 — 손실 위험 아님). ⚠️ **정밀도 보완 안 함으로 결론**(2026-07-30 관리자님): 최저 매도가로 하한이 통제되니 1분 해상도 누락은 감당 범위. `entry_day_high` 기준선 / `realtime_hub` WS 틱 추적 **둘 다 채택 안 함 — 재제안 금지** |
| `briefing` | 평일 20:10 (휴장일 self-skip) | `stock_portfolio_report.py send` | 메일만 발송. 텔레그램 리포트 요약은 2026-05-14 관리자님 요청으로 비활성화. 실패 시 자가 알림 |
| `briefing-fallback-2030` | 평일 20:30 (휴장일 self-skip) | `briefing_fallback.py retry` | 스냅샷 있으면 skip(idempotent), 없으면 send 재실행. 알림 없음 |
| `briefing-fallback-2100` | 평일 21:00 (휴장일 self-skip) | `briefing_fallback.py final` | 마지막 폴백. 실패 시 레이 텔레그램 알림 |
diff --git a/agents/stock/workspace/scripts/behive_web.py b/agents/stock/workspace/scripts/behive_web.py
index 338015a..95b46d0 100644
--- a/agents/stock/workspace/scripts/behive_web.py
+++ b/agents/stock/workspace/scripts/behive_web.py
@@ -1509,6 +1509,10 @@ def _fetch_all_data(entries: list[dict], only_owner: str | None = None) -> dict:
'qty': qty,
'price': o.get('order_price', 0),
'order_type': o.get('order_type', ''),
+ # 스톱지정가 조건단가 (ka10075 stop_pric) + 트레일링 예약이면 그 상태.
+ # 상세 표시가 "지정가"로 뭉개지지 않게 주문 성격을 그대로 실어 보낸다.
+ 'stop_price': o.get('stop_price', 0),
+ 'trailing': _trailing_info_for(o.get('ord_no', '')),
'time': o.get('order_time', ''),
'account': o.get('account', ''),
'exchange': o.get('exchange', ''),
@@ -3612,10 +3616,65 @@ def _fmt_hhmmss(raw: str) -> str:
return s
+_TRAILING_LOOKUP_TTL = 5.0
+_trailing_lookup_cache: dict = {'ts': 0.0, 'by_ord': {}}
+
+
+def _trailing_info_for(ord_no: str):
+ """미체결 주문번호 → 트레일링 예약 요약 (없으면 None).
+
+ `state/trailing_stops.json` 읽기라 키움 콜 0. 렌더 경로에서 주문마다 불리므로 5초 캐시.
+ ⚠️ 예약의 ord_no 는 정정할 때마다 바뀌므로(kt10002 가 새 번호 발급) 항상 예약 파일의
+ 현재 ord_no 와 매칭한다 — 등록 시점 번호로 매칭하면 첫 상향 후 연결이 끊긴다.
+ """
+ if not ord_no:
+ return None
+ now = time.time()
+ if now - _trailing_lookup_cache['ts'] > _TRAILING_LOOKUP_TTL:
+ try:
+ from orders import trailing as _trl
+ by_ord = {r['ord_no']: r for r in _trl.list_active()}
+ except Exception:
+ by_ord = {}
+ _trailing_lookup_cache['by_ord'] = by_ord
+ _trailing_lookup_cache['ts'] = now
+ r = _trailing_lookup_cache['by_ord'].get(ord_no)
+ if not r:
+ return None
+ return {
+ 'id': r['id'], 'trail_pct': r.get('trail_pct'), 'peak': r.get('peak', 0),
+ 'min_sell_price': r.get('min_sell_price'),
+ 'modify_count': r.get('modify_count', 0),
+ # 등록 시점 값 — 손절선·고점이 그 뒤로 얼마 올라왔는지 보여주는 데 쓴다.
+ 'entry_cond_uv': r.get('entry_cond_uv', 0),
+ 'entry_peak': r.get('entry_peak', 0),
+ }
+
+
+def _stop_gap_html(stop_price: int, limit_price: int) -> str:
+ """스톱 주문의 조건단가−지정가 갭 표기. 호가단위로 나눠 틱수로 보여준다.
+
+ `orders/trailing.ORD_UV_GAP_TICKS` 값을 화면에 그대로 박지 않는 이유는 실제 주문에
+ 걸린 값과 어긋날 수 있기 때문(정정 중 값 변화·키움앱 수동 개입). 실측값으로 역산한다.
+ 틱으로 딱 나눠지지 않으면 원으로 폴백.
+ """
+ gap = (stop_price or 0) - (limit_price or 0)
+ if gap <= 0:
+ return ''
+ try:
+ from orders.trailing import tick_size
+ t = tick_size(stop_price)
+ except Exception:
+ t = 0
+ if t > 0 and gap % t == 0:
+ return f' −{gap // t}틱 '
+ return f' −{gap:,}원 '
+
+
def _pending_detail_html(r: dict) -> str:
"""자세히보기용 미체결 ord 단위 상세. 매수/매도 분리 표시.
`r['pending_orders']` 가 ord별 dict 리스트.
- 레이아웃: dt(라벨, 컬러) / dd 2줄(상단=수량@가격, 하단=계좌·시각·주문번호 muted).
+ 레이아웃: dt(라벨, 컬러) / dd 2~3줄(상단=수량@가격, 조건줄, 하단=계좌·시각·주문번호 muted).
"""
orders = r.get('pending_orders') or []
if not orders:
@@ -3623,11 +3682,14 @@ def _pending_detail_html(r: dict) -> str:
buys = [o for o in orders if o.get('side') == 'BUY']
sells = [o for o in orders if o.get('side') == 'SELL']
+ cur_price = r.get('price', 0) or 0 # 조건단가까지 남은 거리 계산용
+
def _row(o: dict, kind: str) -> str:
qty = o.get('qty', 0)
price = o.get('price', 0)
otype = o.get('order_type') or ''
- price_str = f'{price:,}원 지정가' if price else (otype or '시장가')
+ stop_p = o.get('stop_price', 0) or 0
+ trl = o.get('trailing')
acc = html.escape(o.get('account', ''))
ord_no = html.escape(o.get('ord_no', ''))
tm = _fmt_hhmmss(html.escape(o.get('time', '')))
@@ -3636,11 +3698,72 @@ def _pending_detail_html(r: dict) -> str:
meta_parts.append(tm)
if ord_no:
meta_parts.append(f'주문번호 {ord_no}')
+
label = '미체결 매수' if kind == 'buy' else '미체결 매도'
+ if kind == 'sell' and trl:
+ label = '트레일링 매도'
+ elif kind == 'sell' and stop_p:
+ label = '스톱 매도'
+
+ # 스톱 계열은 가격이 두 개다 — 조건단가(방아쇠)와 지정가(실제 주문가).
+ # 첫 줄에 지정가만 '@ N원' 으로 박으면 그게 방아쇠처럼 오해되고 둘의 관계도 안 보인다.
+ # 그래서 트레일링은 첫 줄에 수량만 남기고 두 가격을 미니표 맨 위 단독 항으로 올린다.
+ if trl or stop_p:
+ main = f'{qty:,}주 매도 예약'
+ elif price:
+ main = f'{qty:,}주 @ {price:,}원 {otype}' if otype else f'{qty:,}주 @ {price:,}원 지정가'
+ else:
+ main = f'{qty:,}주 @ {otype or "시장가"}'
+
+ cond_line = ''
+ if stop_p and not trl:
+ # 순수 스톱지정가 — 조건단가 고정. 표 없이 한 줄이지만 순서는 트레일링과 같게
+ # (조건가 닿으면 → 지정가로 매도). 지정가가 먼저 오면 그게 방아쇠로 오해된다.
+ tail = f' {price:,}원에 매도' if price else ' 매도'
+ cond_line = (f'
'
+ f'{stop_p:,}원 닿으면{tail}{_stop_gap_html(stop_p, price)} '
+ f'(고정)
')
+ if trl:
+ mini = []
+ mini.append(f'단가 '
' '
''
@@ -11378,17 +11429,84 @@ function setSide(side){
updateCheck();
fetchAdvice(); // 매수/매도 방향에 따라 권장가 세트가 다름
}
-// 스톱지정가는 매도 전용 — 매수면 옵션 비활성+선택돼 있으면 LIMIT로 되돌림. 조건단가 행·단가 라벨 갱신.
+// 스톱지정가·트레일링은 매도 전용 — 매수면 옵션 비활성+선택돼 있으면 LIMIT로 되돌림.
+// 조건단가 행·트레일 폭 행·단가 라벨 갱신. 트레일링은 단가를 서버가 계산하므로 단가 행을 숨긴다.
function refreshStopUI(){
var otSel = $('[data-order-type]'); if(!otSel) return;
var stopOpt = otSel.querySelector('option[value="STOP_LIMIT"]');
if(stopOpt) stopOpt.disabled = (state.side === 'BUY');
- if(state.side === 'BUY' && otSel.value === 'STOP_LIMIT') otSel.value = 'LIMIT';
+ var trailOpt = otSel.querySelector('option[value="TRAILING_STOP"]');
+ if(trailOpt) trailOpt.disabled = (state.side === 'BUY');
+ if(state.side === 'BUY' && (otSel.value === 'STOP_LIMIT' || otSel.value === 'TRAILING_STOP')) otSel.value = 'LIMIT';
var isStop = (otSel.value === 'STOP_LIMIT');
+ var isTrail = (otSel.value === 'TRAILING_STOP');
var stopRow = $('[data-order-stop-row]');
if(stopRow) stopRow.style.display = isStop ? '' : 'none';
+ var trailRow = $('[data-order-trail-row]');
+ if(trailRow) trailRow.style.display = isTrail ? '' : 'none';
+ var priceRow = $('[data-order-price-row]');
+ if(priceRow) priceRow.style.display = isTrail ? 'none' : '';
var priceLabel = $('[data-order-price-label]');
if(priceLabel) priceLabel.textContent = isStop ? '매도 단가' : '단가';
+ if(isTrail) renderTrailPreview();
+ else refreshSubmitGate(); // 트레일링에서 빠져나오면 트레일 게이트를 풀어야 한다
+}
+// 트레일링 입력값 읽기 (트레일 폭·최저 매도가). 미리보기·propose 공용.
+// 초기 고점은 항상 등록 시점 현재가 — 과거 고점 기준 옵션은 2026-07-30 제거됨.
+function trailInputs(){
+ return {
+ pct: parseFloat(($('[data-order-trail-input]')||{}).value || '0'),
+ minPrice: parseInt(($('[data-order-trail-min]')||{}).value || '0', 10) || 0
+ };
+}
+// 손절선 계산 — 서버 `orders/trailing.compute_levels` 와 **같은 식**이어야 한다.
+// 실제 발주값은 서버 계산분이 승자이므로, 한쪽만 바꾸면 표시와 발주가 어긋난다.
+function trailCondPrice(peak, pct, minPrice){
+ var cond = floorTick(Math.floor(peak * (1 - pct/100)));
+ var floorUv = minPrice > 0 ? floorTick(minPrice) : 0;
+ return { cond: Math.max(cond, floorUv), floorApplied: floorUv > cond };
+}
+function renderTrailPreview(){
+ // 게이트 갱신은 조기 반환보다 먼저 — 폭이 비었거나 시세 로딩 중일 때도 버튼이 잠겨야 한다.
+ // trailBlockReason 이 DOM 을 직접 읽으므로 호출 순서에 의존하지 않는다.
+ refreshSubmitGate();
+ var el = $('[data-order-trail-preview]'); if(!el) return;
+ var t = trailInputs();
+ var cur = (state.lastCheck && state.lastCheck.cur_price) || (state.lastBook && state.lastBook.price) || 0;
+ if(!(t.pct > 0) || !(cur > 0)){ el.textContent = ''; return; }
+ var peak = cur; // 초기 고점 = 등록 시점 현재가 (서버 handler 와 동일)
+ var r = trailCondPrice(peak, t.pct, t.minPrice);
+ var bad = (r.cond >= cur);
+
+ // 결론(손절선)을 카드 상단에 크게, 근거는 라벨/값 표로, 안내는 하단 작게.
+ var hero, note;
+ if(bad){
+ // 서버도 TRAIL_IMMEDIATE 로 거부한다 — PIN 발급 왕복 전에 여기서 먼저 알려준다.
+ hero = '
등록할 수 없습니다
' +
+ '
손절선 ' + fmt(r.cond) + '원 ≥ 현재가 ' + fmt(cur) + '원
' +
+ '
조건을 이미 넘어 등록 즉시 발동됩니다
';
+ note = r.floorApplied
+ ? '최저 매도가를 현재가보다 낮게 내려주세요.'
+ : '트레일 폭을 넓혀주세요.';
+ } else {
+ var pctFromCur = cur > 0 ? ((cur - r.cond) / cur * 100) : 0;
+ hero = '
지금 등록하면 손절선
' +
+ '
' + fmt(r.cond) + '원' +
+ (r.floorApplied ? '최저가 적용 ' : '') + '
' +
+ '
현재가보다 ' + pctFromCur.toFixed(1) + '% 아래 · 여기 닿으면 매도
';
+ note = '고점이 오르면 손절선도
따라 올라갑니다 . 내려가지는 않습니다.';
+ }
+
+ var kv = [];
+ kv.push('
시작 고점 ' + fmt(peak) + '원 등록 시점 현재가');
+ kv.push('
트레일 폭 −' + t.pct + '% ');
+ if(t.minPrice > 0) kv.push('
최저 매도가 ' + fmt(t.minPrice) + '원 ');
+
+ el.innerHTML = '
' +
+ '
' + hero + '
' +
+ '
' + kv.join('') + ' ' +
+ '
' + note + '
' +
+ '
';
}
function _resolveOrderPrice(){
// 단가 우선, 없으면 현재가 fallback. 단가 input 비어있으면 자동 채움 (disabled 아닌 경우)
@@ -11440,6 +11558,9 @@ function renderQtyButtons(){
}
function renderBook(book){
state.lastBook = book;
+ // 트레일링 미리보기는 현재가·52주 전고점을 이 응답에서 읽는다 — 호가 갱신마다 다시 그린다.
+ var otNow = $('[data-order-type]');
+ if(otNow && otNow.value === 'TRAILING_STOP') renderTrailPreview();
if(book.name){ var ne = $('[data-order-name]'); if(ne) ne.textContent = book.name; state.name = book.name; }
var ce = $('[data-order-cur-price]'); if(ce) ce.textContent = fmt(book.price)+'원';
var che = $('[data-order-change]');
@@ -11509,6 +11630,8 @@ function tickSize(p){
return 1000;
}
function snapToTick(p){ if(!(p>0)) return p; var t = tickSize(p); return Math.round(p/t)*t; }
+// 호가단위 내림 — 트레일링 손절선은 내림이 안전(더 빨리 발동). orders/trailing.floor_to_tick 과 동일.
+function floorTick(p){ if(!(p>0)) return p; var t = tickSize(p); return p - (p % t); }
// 기술적 권장가(매수/매도 판단 보조). code·side(·평단) 바뀔 때만 fetch, keystroke엔 캐시 재사용.
function fetchAdvice(){
var code = state.code; if(!code){ renderAdvice(null); return; }
@@ -11774,7 +11897,51 @@ function loadOpenOrders(){
list.innerHTML = rows.map(function(r){
var sideCls = r.side === 'BUY' ? 'buy' : 'sell';
var sideLabel = r.side === 'BUY' ? '매수' : '매도';
- var priceLabel = r.order_price ? (r.order_price.toLocaleString('ko-KR') + '원') : (r.order_type || '시장가');
+ // 주문유형을 항상 붙인다 — 가격만 쓰면 스톱지정가·트레일링이 지정가처럼 보인다.
+ // 트레일링은 지정가가 방아쇠로 오해되지 않게 첫 줄에서 빼고 아래 줄에 조건가와 함께 쓴다.
+ var priceLabel = r.trailing
+ ? '매도 예약'
+ : (r.order_price
+ ? (r.order_price.toLocaleString('ko-KR') + '원' + (r.order_type ? ' ' + r.order_type : ''))
+ : (r.order_type || '시장가'));
+ var condLine = '';
+ if(r.trailing){
+ // 서버 렌더(_pending_detail_html)와 같은 정보·같은 순서. 모달은 폭이 넓어 한 줄 요약.
+ var tb = [];
+ if(r.stop_price){
+ var head = fmt(r.stop_price) + '원 닿으면';
+ if(r.order_price){
+ // 갭은 틱수로 — 서버 _stop_gap_html 과 같은 규칙(안 나눠지면 원으로 폴백).
+ var gap = r.stop_price - r.order_price;
+ var tk = tickSize(r.stop_price);
+ var gapTxt = '';
+ if(gap > 0) gapTxt = (tk > 0 && gap % tk === 0)
+ ? ' (−' + (gap / tk) + '틱)' : ' (−' + fmt(gap) + '원)';
+ head += ' ' + fmt(r.order_price) + '원에 매도' + gapTxt;
+ } else { head += ' 매도'; }
+ tb.push(head);
+ }
+ // 고점에 기준 라벨을 붙이지 않는다 — 서버 렌더와 같은 이유(peak 는 갱신된 현재 고점).
+ tb.push('고점 ' + fmt(r.trailing.peak) + '원 대비 −' + r.trailing.trail_pct + '%');
+ if(r.trailing.min_sell_price) tb.push('최저 ' + fmt(r.trailing.min_sell_price) + '원');
+ if(r.cur_price && r.stop_price){
+ // 손절선 기준 여유폭 — 분모는 손절선(라벨과 계산 기준을 일치시킴).
+ tb.push('손절선 대비 ' + ((r.cur_price - r.stop_price) / r.stop_price * 100).toFixed(1) + '%');
+ }
+ // 상향 횟수는 표시하지 않는다(관리자님 지시). 얼마나 올랐는지만 보여준다.
+ var mc = r.trailing.modify_count || 0;
+ if(r.trailing.entry_peak && r.trailing.peak > r.trailing.entry_peak){
+ tb.push('고점 상승 ' + fmt(r.trailing.entry_peak) + ' → ' + fmt(r.trailing.peak) +
+ '원 (+' + fmt(r.trailing.peak - r.trailing.entry_peak) + ')');
+ }
+ if(mc && r.trailing.entry_cond_uv && r.stop_price > r.trailing.entry_cond_uv){
+ tb.push('손절선 상승 ' + fmt(r.trailing.entry_cond_uv) + ' → ' + fmt(r.stop_price) +
+ '원 (+' + fmt(r.stop_price - r.trailing.entry_cond_uv) + ')');
+ }
+ condLine = '
' + tb.join(' · ') + '
';
+ } else if(r.stop_price){
+ condLine = '
' + fmt(r.stop_price) + '원 도달 시 매도 (고정)
';
+ }
var safeOrd = String(r.ord_no || '').replace(/"/g,'"');
var safeAcc = String(r.account || '').replace(/"/g,'"');
return (
@@ -11790,6 +11957,7 @@ function loadOpenOrders(){
' · 미체결 ' + r.unfilled_qty + '주 · ' + r.status +
' · ' + r.exchange + ' · ' + (r.order_time || '') +
'
' +
+ condLine +
'' +
'' +
'취소 ' +
@@ -11856,11 +12024,38 @@ function updateMarketPhaseDisplay(){
el.textContent = label + ' ' + (phase.time || '');
el.className = 'order-market-phase ' + cls;
}
- var sb = $('[data-order-submit]');
- if(sb){
- sb.disabled = !canTrade;
- sb.title = canTrade ? '' : ('매매 비활성: ' + label);
+ // 버튼 disabled 는 refreshSubmitGate 한 곳에서만 결정한다 — 여기서 직접 건드리면
+ // 트레일링 게이트(입력값 기반)를 주기 호출이 덮어써 즉시발동 입력이 통과된다.
+ state.phaseCanTrade = canTrade;
+ state.phaseLabel = label;
+ refreshSubmitGate();
+}
+// 트레일링 입력이 등록 불가 상태면 그 이유를 반환, 문제 없으면 빈 문자열.
+// 즉시발동(손절선 ≥ 현재가)은 서버도 TRAIL_IMMEDIATE 로 거부하지만, 매도 버튼을 누른 뒤가
+// 아니라 입력하는 시점에 막는다.
+function trailBlockReason(){
+ var otSel = $('[data-order-type]');
+ if(!otSel || otSel.value !== 'TRAILING_STOP') return '';
+ var t = trailInputs();
+ if(!(t.pct >= 0.5 && t.pct <= 30)) return '트레일 폭은 0.5~30% 범위로 입력하세요';
+ var cur = (state.lastCheck && state.lastCheck.cur_price) || (state.lastBook && state.lastBook.price) || 0;
+ if(!(cur > 0)) return '현재가를 받는 중입니다';
+ var r = trailCondPrice(cur, t.pct, t.minPrice); // 초기 고점 = 현재가
+ if(r.cond >= cur){
+ return r.floorApplied
+ ? ('최저 매도가 ' + fmt(t.minPrice) + '원이 현재가 ' + fmt(cur) + '원보다 높아 즉시 발동됩니다')
+ : ('손절선 ' + fmt(r.cond) + '원이 현재가 ' + fmt(cur) + '원 이상이라 즉시 발동됩니다');
}
+ return '';
+}
+// 매도/매수 버튼 활성 여부의 단일 결정 지점. 시장 phase·트레일링 입력 게이트를 합친다.
+function refreshSubmitGate(){
+ var sb = $('[data-order-submit]'); if(!sb) return;
+ if(sb.dataset.busy === '1') return; // propose 진행 중 — 끝나고 다시 계산한다
+ var phaseBlocked = (state.phaseCanTrade === false);
+ var trailMsg = trailBlockReason();
+ sb.disabled = phaseBlocked || !!trailMsg;
+ sb.title = phaseBlocked ? ('매매 비활성: ' + (state.phaseLabel || '')) : (trailMsg || '');
}
function populateSymbolSelect(currentCode, currentName){
var sel = $('[data-order-symbol-select]'); if(!sel) return;
@@ -12103,9 +12298,16 @@ function doPropose(){
var qty = parseInt($('[data-order-qty]').value || '0', 10);
var price = parseInt($('[data-order-price-input]').value || '0', 10);
var stopPrice = parseInt(($('[data-order-stop-input]')||{}).value || '0', 10);
+ var trail = trailInputs();
+ var trailPct = trail.pct;
if(!account){ setMsg('계좌를 선택하세요', 'error'); return; }
if(qty <= 0){ setMsg('수량을 입력하세요', 'error'); return; }
if(orderType === 'LIMIT' && price <= 0){ setMsg('지정가는 단가가 필요합니다', 'error'); return; }
+ if(orderType === 'TRAILING_STOP'){
+ if(state.side !== 'SELL'){ setMsg('트레일링 스톱은 매도만 가능합니다', 'error'); return; }
+ // 트레일 폭·즉시발동 검사는 입력 시점에 trailBlockReason 이 하고, 걸리면 매도 버튼이
+ // 비활성이라 여기 도달하지 않는다. 서버(TRAIL_IMMEDIATE)가 최후 방어선.
+ }
if(orderType === 'STOP_LIMIT'){
if(state.side !== 'SELL'){ setMsg('스톱지정가는 매도만 가능합니다', 'error'); return; }
if(price <= 0){ setMsg('스톱지정가는 매도 단가가 필요합니다', 'error'); return; }
@@ -12128,7 +12330,9 @@ function doPropose(){
return;
}
// 검증 통과 — 매수/매도 방향 최종 확인 팝업 (오타 방지). 확인 시에만 실제 매매로 진행.
- state.pendingOrder = {account: account, orderType: orderType, qty: qty, price: price, stopPrice: stopPrice};
+ state.pendingOrder = {account: account, orderType: orderType, qty: qty, price: price,
+ stopPrice: stopPrice, trailPct: trailPct,
+ trailMinPrice: trail.minPrice};
openOrderConfirm();
}
// 방향 확인 후 실제 매매 진행 — 전량매도 sell-choice 분기 포함.
@@ -12137,8 +12341,8 @@ function doProposeConfirmed(){
var account = po.account, orderType = po.orderType, qty = po.qty, price = po.price;
var lc = state.lastCheck;
// 전량매도(입력 수량 = 매도가능 전량)이고 같은 소유자 그룹의 다른 계좌에도 같은 종목 보유
- // → 선택 팝업. 스톱지정가는 단일 계좌 예약이라 2계좌 동시 매도 대상 아님.
- if(state.side === 'SELL' && orderType !== 'STOP_LIMIT'){
+ // → 선택 팝업. 스톱지정가·트레일링은 단일 계좌 예약이라 2계좌 동시 매도 대상 아님.
+ if(state.side === 'SELL' && orderType !== 'STOP_LIMIT' && orderType !== 'TRAILING_STOP'){
var fullSell = lc && typeof lc.max_qty === 'number' && lc.max_qty > 0 && qty === lc.max_qty;
var sib = siblingAccount(account);
var sibInfo = (sib && state.accStatus && state.accStatus.byLabel) ? state.accStatus.byLabel[sib] : null;
@@ -12148,7 +12352,7 @@ function doProposeConfirmed(){
return;
}
}
- proposeSingle(account, orderType, qty, price, po.stopPrice);
+ proposeSingle(account, orderType, qty, price, po.stopPrice, po.trailPct, po.trailMinPrice);
}
// ── 매수/매도 방향 확인 모달 ──
// 매수·매도 버튼을 둘 다 띄우고 관리자님이 직접 맞는 방향을 누르게 함(위치 랜덤).
@@ -12159,14 +12363,22 @@ function openOrderConfirm(){
var po = state.pendingOrder; if(!po) return;
var disp = {}; ACCOUNTS.forEach(function(a){ disp[a.label] = a.display; });
var isStop = (po.orderType === 'STOP_LIMIT');
- var typeStr = (po.orderType === 'MARKET') ? '시장가' : (isStop ? '스톱지정가(예약)' : '지정가');
+ var isTrail = (po.orderType === 'TRAILING_STOP');
+ var typeStr = (po.orderType === 'MARKET') ? '시장가'
+ : isTrail ? '트레일링 스톱(예약)'
+ : isStop ? '스톱지정가(예약)' : '지정가';
+ var curNow = (state.lastCheck && state.lastCheck.cur_price) || (state.lastBook && state.lastBook.price) || 0;
+ // 트레일링은 단가를 서버가 계산 — 확인 팝업엔 예상 손절선을 보여준다.
+ var trailPeak = isTrail ? curNow : 0; // 초기 고점 = 등록 시점 현재가
+ var trailRes = isTrail ? trailCondPrice(trailPeak, po.trailPct, po.trailMinPrice) : {cond: 0, floorApplied: false};
+ var trailCond = trailRes.cond;
var priceStr = (po.orderType === 'MARKET') ? '시장가' : (fmt(po.price) + '원');
var sum = $oc('[data-order-confirm-summary]');
if(sum){
// 매도 예상 수수료(수수료+증권거래세) — 표시용 근사. 요율은 sim/config.py와 동일.
var feeLine = '';
if(state.side === 'SELL'){
- var refPrice = (po.orderType === 'MARKET') ? ((state.lastCheck && state.lastCheck.cur_price) || 0) : po.price;
+ var refPrice = (po.orderType === 'MARKET') ? curNow : (isTrail ? trailCond : po.price);
var amount = refPrice * po.qty;
var fee = Math.round(amount * (0.00015 + 0.0018)); // 수수료 0.015% + 거래세 0.18%
if(amount > 0){
@@ -12174,12 +12386,23 @@ function openOrderConfirm(){
}
}
var stopLine = isStop ? ('· 조건단가: ' + fmt(po.stopPrice) + '원 도달 시 (예약) ') : '';
+ var priceLine;
+ if(isTrail){
+ priceLine = '· 시작 고점: ' + fmt(trailPeak) + '원 (등록 시점 현재가) ' +
+ '· 트레일 폭: 고점 대비 −' + po.trailPct + '% ' +
+ (po.trailMinPrice > 0 ? ('· 최저 매도가: ' + fmt(po.trailMinPrice) + '원 (' +
+ (trailRes.floorApplied ? '최저가 적용' : '트레일 적용') + ') ') : '') +
+ '· 지금 손절선: ' + fmt(trailCond) + '원 (현재가 ' + fmt(curNow) + '원) ' +
+ '· 고점이 오르면 손절선도 따라 올라갑니다 ';
+ } else {
+ priceLine = '· ' + (isStop ? '매도 단가' : '단가') + ': ' + priceStr + ' ';
+ }
// 방향은 일부러 숨김 — 관리자님이 직접 고르게 해야 오타가 걸러짐.
sum.innerHTML = '' + (state.name || state.code) + ' ' +
'· 계좌: ' + (disp[po.account]||po.account) + ' ' +
'· 유형: ' + typeStr + ' ' +
stopLine +
- '· ' + (isStop ? '매도 단가' : '단가') + ': ' + priceStr + ' ' +
+ priceLine +
'· 수량: ' + fmt(po.qty) + '주 ' +
feeLine + ' ' +
'매수 / 매도 중 하려던 것을 눌러주세요.';
@@ -12207,7 +12430,7 @@ function siblingAccount(label){
var sib = ACCOUNTS.find(function(a){ return a.owner === me.owner && a.label !== label; });
return sib ? sib.label : null;
}
-function proposeSingle(account, orderType, qty, price, stopPrice){
+function proposeSingle(account, orderType, qty, price, stopPrice, trailPct, trailMinPrice){
var body = new URLSearchParams();
body.set('account', account);
body.set('side', state.side);
@@ -12217,6 +12440,11 @@ function proposeSingle(account, orderType, qty, price, stopPrice){
body.set('order_type', orderType);
if(orderType === 'LIMIT' || orderType === 'STOP_LIMIT') body.set('price', String(price));
if(orderType === 'STOP_LIMIT') body.set('stop_price', String(stopPrice || 0));
+ // 트레일링은 폭(%)·고점 기준·최저 매도가만 보낸다 — 조건단가·지정가는 서버가 계산.
+ if(orderType === 'TRAILING_STOP'){
+ body.set('trail_pct', String(trailPct || 0));
+ if(trailMinPrice > 0) body.set('min_sell_price', String(trailMinPrice));
+ }
proposeAndOpenPin('/api/order/propose', body);
}
function doProposeMulti(opts){
@@ -12232,7 +12460,8 @@ function doProposeMulti(opts){
}
function proposeAndOpenPin(url, body){
setMsg('주문 검증 중…', 'info');
- var btn = $('[data-order-submit]'); if(btn) btn.disabled = true;
+ // busy 플래그로 잠근다 — 주기 호출(updateMarketPhaseDisplay)이 진행 중에 버튼을 되살리지 못하게.
+ var btn = $('[data-order-submit]'); if(btn){ btn.dataset.busy = '1'; btn.disabled = true; }
// 이전 활성 카드 자동 정리 후 새 propose — "이전 카드가 아직 활성" 거부 방지
fetch('/api/order/cancel', {method:'POST', headers:{'Accept':'application/json'}, body:''})
.catch(function(){})
@@ -12245,7 +12474,8 @@ function proposeAndOpenPin(url, body){
})
.then(function(r){ return r.json(); })
.then(function(d){
- if(btn) btn.disabled = false;
+ if(btn) btn.dataset.busy = '0';
+ refreshSubmitGate();
if(!d.ok){ setMsg(d.message || d.error || 'PIN 발급 실패', 'error'); return; }
setMsg('');
// 별도 PIN 모달 띄움 (order-modal은 그대로 뒤에 남음)
@@ -12255,7 +12485,8 @@ function proposeAndOpenPin(url, body){
symbol_name: state.name
});
}).catch(function(e){
- if(btn) btn.disabled = false;
+ if(btn) btn.dataset.busy = '0';
+ refreshSubmitGate();
setMsg('네트워크 오류: ' + e, 'error');
});
}
@@ -12446,6 +12677,11 @@ var qtyInpEl = $('[data-order-qty]');
if(qtyInpEl) qtyInpEl.addEventListener('input', function(){ recalcBudgetFromQty(); renderOrderInfo(); });
var budgetInpEl = $('[data-order-budget]');
if(budgetInpEl) budgetInpEl.addEventListener('input', recalcQtyFromBudget);
+// 트레일 폭은 select — change 로 잡는다(input 도 발생하지만 select 의 정식 이벤트는 change).
+var trailInpEl = $('[data-order-trail-input]');
+if(trailInpEl) trailInpEl.addEventListener('change', renderTrailPreview);
+var trailMinEl = $('[data-order-trail-min]');
+if(trailMinEl) trailMinEl.addEventListener('input', renderTrailPreview);
document.addEventListener('visibilitychange', function(){
if(document.hidden) stopPolling();
else if(state.isOpen) startPolling();
@@ -13283,6 +13519,9 @@ class Handler(BaseHTTPRequestHandler):
try:
import kiwoom_client as kc
rows = kc.get_open_orders_all()
+ # 트레일링 예약이면 그 상태를 실어 보낸다 (예약 파일 읽기, 키움 콜 0).
+ for _r in rows:
+ _r['trailing'] = _trailing_info_for(_r.get('ord_no', ''))
self._send_json(200, {'rows': rows, 'count': len(rows)})
except Exception as e:
traceback.print_exc()
@@ -13415,6 +13654,9 @@ class Handler(BaseHTTPRequestHandler):
except (ValueError, TypeError):
book['upper_limit'] = 0
book['lower_limit'] = 0
+ # ⚠️ 52주 최고가(250hgst)는 여기 싣지 않는다 — 트레일링 '전고점 기준'
+ # 미리보기용으로 추가했다가 옵션 제거와 함께 제거(2026-07-30).
+ # 기업정보 모달의 '52주 최고'는 /api/stock_info(get_stock_basic) 경로다.
book['nxt_enable'] = nxt_enable # 위에서 판정한 값 재사용
# 종목이 속한 시장(KOSPI/KOSDAQ)의 20일 ADR 과매수/과매도 — 극단일 때만 실림.
_mkt = (meta or {}).get('market') or ''
@@ -14054,11 +14296,22 @@ class Handler(BaseHTTPRequestHandler):
stop_price = int(stop_raw) if stop_raw else None
except ValueError:
stop_price = None
+ trail_raw = (params.get('trail_pct') or [''])[0].strip()
+ try:
+ trail_pct = float(trail_raw) if trail_raw else None
+ except ValueError:
+ trail_pct = None
+ min_sell_raw = (params.get('min_sell_price') or [''])[0].strip()
+ try:
+ min_sell_price = int(min_sell_raw) if min_sell_raw else None
+ except ValueError:
+ min_sell_price = None
if not account or side not in ('BUY', 'SELL') or not symbol or qty <= 0:
self._send_json(400, {'ok': False, 'error': 'account/side/symbol/qty required'})
return
- if order_type not in ('LIMIT', 'MARKET', 'STOP_LIMIT'):
- self._send_json(400, {'ok': False, 'error': 'order_type must be LIMIT|MARKET|STOP_LIMIT'})
+ if order_type not in ('LIMIT', 'MARKET', 'STOP_LIMIT', 'TRAILING_STOP'):
+ self._send_json(400, {'ok': False,
+ 'error': 'order_type must be LIMIT|MARKET|STOP_LIMIT|TRAILING_STOP'})
return
if order_type == 'LIMIT' and (price is None or price <= 0):
self._send_json(400, {'ok': False, 'error': 'LIMIT requires positive price'})
@@ -14070,6 +14323,17 @@ class Handler(BaseHTTPRequestHandler):
if price is None or price <= 0 or stop_price is None or stop_price <= 0:
self._send_json(400, {'ok': False, 'error': '스톱지정가는 단가와 조건단가가 모두 필요'})
return
+ if order_type == 'TRAILING_STOP':
+ # 조건단가·지정가는 handler 가 현재가 기준으로 계산 — 여기선 트레일 폭만 받는다.
+ if side != 'SELL':
+ self._send_json(400, {'ok': False, 'error': '트레일링 스톱은 매도만 지원'})
+ return
+ if trail_pct is None or trail_pct <= 0:
+ self._send_json(400, {'ok': False, 'error': '트레일 폭(%)을 입력하세요'})
+ return
+ if min_sell_price is not None and min_sell_price <= 0:
+ self._send_json(400, {'ok': False, 'error': '최저 매도가는 0보다 커야 합니다'})
+ return
try:
if not symbol_name:
import kiwoom_client as kc
@@ -14086,6 +14350,8 @@ class Handler(BaseHTTPRequestHandler):
qty=qty, order_type=order_type,
price=(price if order_type in ('LIMIT', 'STOP_LIMIT') else None),
stop_price=(stop_price if order_type == 'STOP_LIMIT' else None),
+ trail_pct=(trail_pct if order_type == 'TRAILING_STOP' else None),
+ min_sell_price=(min_sell_price if order_type == 'TRAILING_STOP' else None),
)
if res.get('ok'):
# 매수/매도 미리보기 카드 메시지·PIN 메시지 모두 텔레그램 발송 X.
diff --git a/agents/stock/workspace/scripts/kiwoom_client.py b/agents/stock/workspace/scripts/kiwoom_client.py
index ca78e4a..79f221d 100644
--- a/agents/stock/workspace/scripts/kiwoom_client.py
+++ b/agents/stock/workspace/scripts/kiwoom_client.py
@@ -684,6 +684,11 @@ def get_open_orders(account_label: str, code: str = '',
'order_price': _to_int(it.get('ord_pric')),
'unfilled_qty': _to_int(it.get('oso_qty')),
'order_type': (it.get('trde_tp') or '').strip(),
+ # 스톱지정가(trde_tp=28) 주문의 조건단가. 일반 주문은 0.
+ # 실측 확인: ka10075 응답에 stop_pric 로 실려 온다 (2026-07-30).
+ 'stop_price': _to_int(it.get('stop_pric')),
+ # 현재가 — 조건단가까지 얼마 남았는지 계산용. 부호 포함 문자열('-4805')이라 abs.
+ 'cur_price': abs(_to_int(it.get('cur_prc'))),
'exchange': (it.get('stex_tp_txt') or '').strip(),
'exchange_code': ex_code,
'routing_suffix': _EXCHANGE_CODE_TO_SUFFIX.get(ex_code, ''),
diff --git a/agents/stock/workspace/scripts/orders/card.py b/agents/stock/workspace/scripts/orders/card.py
index 42df068..039121b 100644
--- a/agents/stock/workspace/scripts/orders/card.py
+++ b/agents/stock/workspace/scripts/orders/card.py
@@ -68,6 +68,8 @@ def format_card(request: dict, market_data: dict, card_id: str,
type_marker = f' {cfg["warning_emoji"]} 공격적 지정가'
elif request['order_type'] == 'STOP_LIMIT':
type_marker = f' {cfg["warning_emoji"]} 스톱지정가(예약)'
+ elif request['order_type'] == 'TRAILING_STOP':
+ type_marker = f' {cfg["warning_emoji"]} 트레일링 스톱(예약)'
amend_marker = ' ✏️ 수정됨' if amended else ''
lines = [f'{side_emoji} {_md_bold(side_word + " 미리보기")} [#{card_id}]{type_marker}{spouse_marker}{amend_marker}', '']
@@ -91,6 +93,26 @@ def format_card(request: dict, market_data: dict, card_id: str,
cur_part = f' (현재가 {_money(cur)})' if cur else ''
lines.append(f'{marker} 조건: {_md_bold(_money(stop_p) + " 도달 시")}{cur_part}')
lines.append(f'{marker} 매도가격: {_md_bold(_money(request["price"]))} (지정가)')
+ elif request['order_type'] == 'TRAILING_STOP':
+ # 승인 대상은 "트레일 폭" — 조건단가는 고점이 오르면 이 폭을 유지하며 따라 올라간다.
+ stop_p = request.get('stop_price') or 0
+ cur = market_data.get('current_price')
+ cur_part = f' (현재가 {_money(cur)})' if cur else ''
+ # 초기 고점은 항상 등록 시점 현재가 — 과거 고점 기준 옵션은 2026-07-30 제거됨.
+ peak_v = request.get('trail_peak') or 0
+ trail_pct_part = f'고점 대비 −{request.get("trail_pct")}%'
+ lines.append(f'{marker} 시작 고점: {_md_bold(_money(peak_v))} (등록 시점)')
+ lines.append(f'{marker} 트레일 폭: {_md_bold(trail_pct_part)}')
+ min_sell = request.get('min_sell_price')
+ if min_sell:
+ # 최저 매도가가 손절선을 결정했는지(=트레일보다 높았는지) 명시 — 둘 중 어느 게
+ # 지배했는지 안 보이면 관리자님이 값을 잘못 읽는다.
+ raw_trail = int(peak_v * (1 - float(request['trail_pct']) / 100)) if peak_v else 0
+ who = '최저가 적용' if stop_p >= raw_trail else '트레일 적용'
+ lines.append(f'{marker} 최저 매도가: {_md_bold(_money(min_sell))} ({who})')
+ lines.append(f'{marker} 현재 손절선: {_md_bold(_money(stop_p) + " 도달 시")}{cur_part}')
+ lines.append(f'{marker} 매도가격: {_md_bold(_money(request["price"]))} (지정가)')
+ lines.append(f'{marker} 고점이 오르면 손절선도 따라 올라갑니다 (내려가지 않음)')
elif request['order_type'] == 'MARKET':
lines.append(f'{marker} 가격: {_md_bold("시장가")}')
else:
@@ -300,6 +322,8 @@ def format_card_locked(active: Optional[dict] = None) -> str:
price_str = '시장가'
elif order_type == 'AGGRESSIVE_LIMIT':
price_str = f'공격적 지정가 {_money(price)}' if price else '공격적 지정가'
+ elif order_type == 'TRAILING_STOP':
+ price_str = f'트레일링 −{active.get("trail_pct")}% (손절 {_money(active.get("stop_price"))})'
else:
price_str = _money(price) if price is not None else '지정가'
diff --git a/agents/stock/workspace/scripts/orders/guards.py b/agents/stock/workspace/scripts/orders/guards.py
index baeb5ae..0348d1e 100644
--- a/agents/stock/workspace/scripts/orders/guards.py
+++ b/agents/stock/workspace/scripts/orders/guards.py
@@ -503,7 +503,8 @@ def validate_request(request: dict, market_data: dict) -> Result:
return r
if request['side'] not in ('BUY', 'SELL'):
return Result.REJECT('INVALID_SIDE', f'잘못된 방향: {request["side"]}')
- if request['order_type'] not in ('LIMIT', 'MARKET', 'AGGRESSIVE_LIMIT', 'STOP_LIMIT'):
+ if request['order_type'] not in ('LIMIT', 'MARKET', 'AGGRESSIVE_LIMIT', 'STOP_LIMIT',
+ 'TRAILING_STOP'):
return Result.REJECT('INVALID_ORDER_TYPE', f'잘못된 주문방식: {request["order_type"]}')
r = validate_trading_hours(market_data['now'], market_data.get('is_holiday', False),
market_data.get('nxt_eligible', False))
@@ -525,9 +526,10 @@ def validate_request(request: dict, market_data: dict) -> Result:
market_data['upper_limit'], market_data['lower_limit'])
if not r.ok:
return r
- if request['order_type'] == 'STOP_LIMIT':
+ if request['order_type'] in ('STOP_LIMIT', 'TRAILING_STOP'):
# 스톱지정가: 지정가(체결가)·조건단가(트리거) 둘 다 가격제한 이내 + 매도 전용.
# 보호매도(하락 시 매도)라 트리거는 현재가보다 낮아야 함 — 아니면 즉시 발동돼 스톱 의미 없음.
+ # 트레일링도 키움엔 스톱지정가로 나가므로 같은 검증을 받는다 (조건단가는 자동 계산값).
if request['side'] != 'SELL':
return Result.REJECT('STOP_SELL_ONLY', '스톱지정가는 현재 매도만 지원')
stop_price = request.get('stop_price')
diff --git a/agents/stock/workspace/scripts/orders/handler.py b/agents/stock/workspace/scripts/orders/handler.py
index d42daf5..1ee4bb0 100644
--- a/agents/stock/workspace/scripts/orders/handler.py
+++ b/agents/stock/workspace/scripts/orders/handler.py
@@ -35,7 +35,7 @@ if str(_PARENT) not in sys.path:
import kiwoom_client as kc # noqa: E402
-from . import card, datasource, fill_watcher, guards, kiwoom_order, ledger, pin, sidecar # noqa: E402
+from . import card, datasource, fill_watcher, guards, kiwoom_order, ledger, pin, sidecar, trailing # noqa: E402
LIMITS_FILE = Path(__file__).resolve().parent / 'limits.json'
OPENCLAW_CONFIG = Path.home() / '.openclaw' / 'openclaw.json'
@@ -165,11 +165,13 @@ def propose_trade(
routing_force: Optional[str] = None,
budget: Optional[int] = None,
stop_price: Optional[int] = None,
+ trail_pct: Optional[float] = None,
+ min_sell_price: Optional[int] = None,
) -> dict:
sidecar.guard_or_raise()
_sweep_expired_and_notify()
- if order_type not in ('LIMIT', 'MARKET', 'AGGRESSIVE_LIMIT', 'STOP_LIMIT'):
+ if order_type not in ('LIMIT', 'MARKET', 'AGGRESSIVE_LIMIT', 'STOP_LIMIT', 'TRAILING_STOP'):
return {'ok': False,
'message': card.format_rejected('INVALID_ORDER_TYPE', f'잘못된 주문방식: {order_type}')}
if side not in ('BUY', 'SELL'):
@@ -183,6 +185,27 @@ def propose_trade(
return {'ok': False,
'message': card.format_rejected('STOP_INPUT',
'스톱지정가는 지정가와 조건단가(트리거)가 모두 필요')}
+ if order_type == 'TRAILING_STOP':
+ # 트레일링은 트레일 폭(%)만 입력받고 조건단가·지정가는 현재가 기준 자동 계산 (md 수집 후).
+ if side != 'SELL':
+ return {'ok': False,
+ 'message': card.format_rejected('STOP_SELL_ONLY', '트레일링 스톱은 매도 전용')}
+ if trail_pct is None or not (trailing.MIN_TRAIL_PCT <= trail_pct <= trailing.MAX_TRAIL_PCT):
+ return {'ok': False,
+ 'message': card.format_rejected(
+ 'TRAIL_PCT_RANGE',
+ f'트레일 폭은 {trailing.MIN_TRAIL_PCT}~{trailing.MAX_TRAIL_PCT}% 범위')}
+ if min_sell_price is not None and min_sell_price <= 0:
+ return {'ok': False,
+ 'message': card.format_rejected('TRAIL_MIN_PRICE',
+ '최저 매도가는 0보다 커야 함 (제한 없으면 비우세요)')}
+ dup = trailing.find_by_symbol(account, symbol)
+ if dup:
+ return {'ok': False,
+ 'message': card.format_rejected(
+ 'TRAIL_DUPLICATE',
+ f'{symbol_name or symbol} 트레일링 예약이 이미 있음 '
+ f'({dup["id"]} · 손절 {dup["cond_uv"]:,}원) — 먼저 취소하세요')}
if budget is not None and qty is not None:
return {'ok': False,
'message': card.format_rejected('AMBIGUOUS_INPUT',
@@ -195,6 +218,36 @@ def propose_trade(
# collect_market_data 의 잔고/보유 조회는 qty 와 무관.
md = datasource.collect_market_data(account, symbol, side, qty or 0)
+ trail_levels = None
+ if order_type == 'TRAILING_STOP':
+ # 현재가를 못 받으면 손절선을 정할 수 없어 진행 불가 (호가 fallback 금지 — 기준이 흔들림).
+ cur = md.get('current_price') or 0
+ if cur <= 0:
+ return {'ok': False,
+ 'message': card.format_rejected('TRAIL_NO_PRICE',
+ '현재가를 못 받아 트레일링 손절선을 정할 수 없음')}
+ # 초기 고점은 등록 시점 현재가로 고정. 과거 고점(52주·매수후)을 쓰면 손절선이 현재가
+ # 위로 올라가 등록 즉시 발동한다 — 손실 종목은 아예 등록 불가, 이익 종목은 현재가와
+ # 결과가 같아 옵션 자체를 제거했다(2026-07-30 실측 근거로 관리자님 결정).
+ peak = cur
+ try:
+ trail_levels = trailing.compute_levels(peak, trail_pct, min_sell_price)
+ except ValueError as e:
+ return {'ok': False, 'message': card.format_rejected('TRAIL_LEVEL', str(e))}
+ # 손절선이 현재가 이상이면 등록하는 순간 발동한다. 고점=현재가로 고정된 뒤로는
+ # 최저 매도가가 현재가보다 높은 경우만 남는다(트레일 폭은 항상 현재가 아래로 내려감).
+ if trail_levels['cond_uv'] >= cur:
+ if trail_levels['floor_applied']:
+ msg = (f'최저 매도가 {min_sell_price:,}원이 현재가 {cur:,}원보다 높아 '
+ f'등록 즉시 발동됩니다 — 현재가보다 낮게 설정하세요')
+ else:
+ msg = (f'손절선 {trail_levels["cond_uv"]:,}원이 현재가 {cur:,}원 이상이라 '
+ f'등록 즉시 발동됩니다')
+ return {'ok': False, 'message': card.format_rejected('TRAIL_IMMEDIATE', msg)}
+ price = trail_levels['ord_uv']
+ stop_price = trail_levels['cond_uv']
+ trail_levels['peak'] = peak
+
budget_conversion = None
if budget is not None:
conv = guards.convert_budget_to_qty(side, budget, md.get('orderbook'),
@@ -220,9 +273,13 @@ def propose_trade(
}
if order_type == 'LIMIT':
request['price'] = price
- elif order_type == 'STOP_LIMIT':
+ elif order_type in ('STOP_LIMIT', 'TRAILING_STOP'):
request['price'] = price
request['stop_price'] = stop_price
+ if order_type == 'TRAILING_STOP':
+ request['trail_pct'] = trail_pct
+ request['min_sell_price'] = min_sell_price
+ request['trail_peak'] = trail_levels['peak']
r = guards.validate_request(request, md)
if not r.ok:
@@ -268,6 +325,13 @@ def propose_trade(
}
if order_type == 'STOP_LIMIT':
payload['stop_price'] = stop_price
+ elif order_type == 'TRAILING_STOP':
+ # 승인 시점에 확정되는 것: 계좌·종목·수량·트레일 폭·최저 매도가.
+ # 이후 감시 루프는 조건단가만 올린다.
+ payload['stop_price'] = stop_price
+ payload['trail_pct'] = trail_pct
+ payload['trail_peak'] = trail_levels['peak']
+ payload['min_sell_price'] = min_sell_price
try:
pending = _pin_store.issue(account, payload)
@@ -453,7 +517,13 @@ def submit_with_pin(pin_input: str, dry_run: bool = True) -> dict:
if p.get('multi'):
return _submit_multi_legs(card_obj, dry_run)
- submit_order_type = 'LIMIT' if p['order_type'] == 'AGGRESSIVE_LIMIT' else p['order_type']
+ # 트레일링은 키움에 스톱지정가(trde_tp=28)로 나간다 — 트레일링은 우리 쪽 개념.
+ if p['order_type'] == 'AGGRESSIVE_LIMIT':
+ submit_order_type = 'LIMIT'
+ elif p['order_type'] == 'TRAILING_STOP':
+ submit_order_type = 'STOP_LIMIT'
+ else:
+ submit_order_type = p['order_type']
res = kiwoom_order.submit(
account_label=p['account'],
side=p['side'],
@@ -475,9 +545,32 @@ def submit_with_pin(pin_input: str, dry_run: bool = True) -> dict:
msg = card.format_submitted(card_obj.card_id, p['side'],
p.get('symbol_name', p['symbol']),
p['qty'], p.get('price'), ord_no)
- # 키움에서 ord_no 받으면 백그라운드 체결 추적 시작 (kt00007 폴링).
- # 부분체결·완전체결·사후거절·30분 미체결 시 텔레그램 자동 알림.
- if ord_no:
+ if p['order_type'] == 'TRAILING_STOP':
+ # 트레일링은 조건 도달까지 며칠 미체결로 남는 게 정상 — fill_watcher 를 걸면
+ # 30분 미체결 알림이 오탐으로 간다. 생존·체결 감시는 trailing_monitor 가 담당.
+ if ord_no:
+ try:
+ res_trl = trailing.register(
+ ord_no=ord_no, account=p['account'], symbol=p['symbol'],
+ symbol_name=p.get('symbol_name', p['symbol']), qty=p['qty'],
+ trail_pct=p['trail_pct'], peak=p['trail_peak'],
+ cond_uv=p['stop_price'], ord_uv=p['price'],
+ routing_suffix=p['routing_suffix'], card_id=card_obj.card_id,
+ min_sell_price=p.get('min_sell_price'),
+ )
+ msg += (f'\n트레일링 감시 시작 ({res_trl["id"]}) — '
+ f'고점 {p["trail_peak"]:,}원 기준 {p["trail_pct"]}% 아래 '
+ f'{p["stop_price"]:,}원')
+ except Exception as e:
+ # 주문은 이미 접수됨 — 등록 실패를 숨기면 트레일링이 안 도는 걸 모른다.
+ ledger.append('trailing_register_failed',
+ {'card_id': card_obj.card_id, 'ord_no': ord_no,
+ 'error': repr(e), **p})
+ msg += ('\n⚠️ 주문은 접수됐지만 트레일링 등록 실패 — '
+ '손절선이 따라 올라가지 않습니다. 확인 필요.')
+ elif ord_no:
+ # 키움에서 ord_no 받으면 백그라운드 체결 추적 시작 (kt00007 폴링).
+ # 부분체결·완전체결·사후거절·30분 미체결 시 텔레그램 자동 알림.
fill_watcher.watch(
ord_no=ord_no, account=p['account'], side=p['side'],
symbol=p['symbol'], symbol_name=p.get('symbol_name', p['symbol']),
diff --git a/agents/stock/workspace/scripts/orders/kiwoom_order.py b/agents/stock/workspace/scripts/orders/kiwoom_order.py
index 6dee271..37363c9 100644
--- a/agents/stock/workspace/scripts/orders/kiwoom_order.py
+++ b/agents/stock/workspace/scripts/orders/kiwoom_order.py
@@ -212,13 +212,18 @@ def cancel_order(account_label: str, orig_ord_no: str, symbol: str,
def modify_order(account_label: str, orig_ord_no: str, symbol: str,
modify_qty: int, modify_price: int,
routing_suffix: str = '',
- dry_run: bool = True, card_id: Optional[str] = None) -> dict:
+ dry_run: bool = True, card_id: Optional[str] = None,
+ modify_cond_price: Optional[int] = None) -> dict:
"""미체결 주문 정정 (kt10002).
modify_qty / modify_price 둘 다 필수 — 키움 명세상 mdfy_qty/mdfy_uv 모두 Required.
수량만 바꿀 땐 기존 가격, 가격만 바꿀 땐 기존 수량을 그대로 전달.
시장가 주문은 정정 불가 (mdfy_uv 가 가격이라 0 불가) — 호출 전에 차단.
routing_suffix 는 원주문의 거래소와 동일해야 함.
+
+ modify_cond_price: 스톱지정가(trde_tp=28) 주문의 조건단가 정정용 (mdfy_cond_uv).
+ 트레일링 스톱이 고점 갱신 시 조건단가를 올리는 데 사용. 일반 주문은 None.
+ ⚠️ 정정 응답의 ord_no 는 신규 주문번호 — 다음 정정은 그 번호를 orig_ord_no 로 써야 함.
"""
sidecar.guard_or_raise()
@@ -230,6 +235,8 @@ def modify_order(account_label: str, orig_ord_no: str, symbol: str,
raise ValueError(f'modify_qty must be > 0 (got {modify_qty})')
if modify_price <= 0:
raise ValueError(f'modify_price must be > 0 — 시장가 주문은 정정 불가, 취소 후 신규 발주')
+ if modify_cond_price is not None and modify_cond_price <= 0:
+ raise ValueError(f'modify_cond_price must be > 0 (got {modify_cond_price})')
exchange = _exchange_for(routing_suffix)
body = {
@@ -238,7 +245,7 @@ def modify_order(account_label: str, orig_ord_no: str, symbol: str,
'stk_cd': symbol,
'mdfy_qty': str(modify_qty),
'mdfy_uv': str(modify_price),
- 'mdfy_cond_uv': '',
+ 'mdfy_cond_uv': str(modify_cond_price) if modify_cond_price else '',
}
payload = {
@@ -248,6 +255,7 @@ def modify_order(account_label: str, orig_ord_no: str, symbol: str,
'orig_ord_no': orig_ord_no,
'modify_qty': modify_qty,
'modify_price': modify_price,
+ 'modify_cond_price': modify_cond_price,
'routing_suffix': routing_suffix,
'exchange': exchange,
'tr_id': TR_MODIFY,
diff --git a/agents/stock/workspace/scripts/orders/trailing.py b/agents/stock/workspace/scripts/orders/trailing.py
new file mode 100644
index 0000000..91a0e26
--- /dev/null
+++ b/agents/stock/workspace/scripts/orders/trailing.py
@@ -0,0 +1,251 @@
+"""트레일링 스톱 예약 상태 관리.
+
+키움에 REST 트레일링 주문 TR 이 없어서, 스톱지정가(trde_tp=28) 주문을 실제로 걸어두고
+고점이 갱신될 때마다 조건단가를 kt10002 정정으로 올려 트레일링을 구현한다.
+
+주문이 키움 서버에 있으므로 감시 루프가 죽어도 마지막 손절선은 살아있다.
+감시 루프가 하는 일은 "이미 승인된 주문의 조건단가 상향"뿐 — 신규 발주·수량 변경 없음.
+
+⚠️ kt10002 정정 응답의 ord_no 는 신규 주문번호다. 정정할 때마다 ord_no 를 갱신하지 않으면
+ 두 번째 정정부터 orig_ord_no 가 틀려서 전부 실패한다. commit_modify 가 이걸 담당.
+
+상태는 파일(state/trailing_stops.json)에 저장 — 웹·감시 루프가 각각 다른 프로세스라
+같은 예약 목록을 봐야 한다. 동시성은 fcntl flock 으로 직렬화 (pin.py 와 같은 패턴).
+"""
+
+from __future__ import annotations
+
+import fcntl
+import json
+import os
+import secrets
+from datetime import datetime, timedelta, timezone
+from pathlib import Path
+from typing import Optional
+
+from .guards import tick_size
+
+WORKSPACE_ROOT = Path(__file__).resolve().parent.parent.parent
+STATE_FILE = WORKSPACE_ROOT / 'state' / 'trailing_stops.json'
+
+KST = timezone(timedelta(hours=9))
+
+# 트레일 폭 허용 범위 (%). 너무 좁으면 정상 출렁임에 즉시 털리고, 너무 넓으면 스톱 의미가 없다.
+# ⚠️ 상한을 바꾸면 **세 곳**이 같이 움직여야 한다 — 여기(서버 검증) /
+# behive_web 트레일 폭 드롭다운 옵션 / behive_web `trailBlockReason` 의 범위 체크.
+# 하나만 고치면 드롭다운에서 고를 수 있는데 서버가 거부하거나 그 반대가 된다.
+MIN_TRAIL_PCT = 0.5
+MAX_TRAIL_PCT = 30.0
+
+# 지정가(ord_uv) = 조건단가(cond_uv) 보다 이 틱수만큼 아래.
+# 조건단가와 같게 두면 발동 후 그 가격 아래로는 안 팔려 미체결로 남는다.
+# 반대로 너무 벌리면 급락 시 헐값 매도가 되니 2틱.
+ORD_UV_GAP_TICKS = 2
+
+
+def _now_iso() -> str:
+ return datetime.now(KST).isoformat(timespec='seconds')
+
+
+def floor_to_tick(price: int) -> int:
+ """호가단위로 내림. 매도 조건단가·지정가는 내림이 안전(더 빨리 발동/체결)."""
+ t = tick_size(price)
+ return price - (price % t)
+
+
+def compute_levels(peak: int, trail_pct: float, min_sell_price: Optional[int] = None) -> dict:
+ """고점·트레일 폭(·최저 매도가) → 조건단가(트리거)·지정가(체결가).
+
+ cond_uv = max(peak × (1 − pct/100), min_sell_price) 를 호가단위 내림
+ ord_uv = cond_uv − ORD_UV_GAP_TICKS 틱
+
+ min_sell_price(최저 매도가) = 손절선의 하한. 트레일 폭을 넓게 잡아도 이 가격 아래로는
+ 손절선이 내려가지 않는다 — 초기 구간 손실 제한용. 고점이 올라 트레일 손절선이 이 값을
+ 추월하면 그 뒤로는 트레일이 지배한다(최저가는 자연히 무의미해짐).
+ """
+ if peak <= 0:
+ raise ValueError(f'peak must be > 0 (got {peak})')
+ if not (MIN_TRAIL_PCT <= trail_pct <= MAX_TRAIL_PCT):
+ raise ValueError(f'trail_pct out of range: {trail_pct}')
+ cond_uv = floor_to_tick(int(peak * (1 - trail_pct / 100)))
+ floor_applied = False
+ if min_sell_price:
+ if min_sell_price <= 0:
+ raise ValueError(f'min_sell_price must be > 0 (got {min_sell_price})')
+ floor_uv = floor_to_tick(int(min_sell_price))
+ if floor_uv > cond_uv:
+ cond_uv = floor_uv
+ floor_applied = True
+ ord_uv = floor_to_tick(cond_uv - ORD_UV_GAP_TICKS * tick_size(cond_uv))
+ if cond_uv <= 0 or ord_uv <= 0:
+ raise ValueError(f'computed level <= 0 (peak={peak}, pct={trail_pct})')
+ return {'cond_uv': cond_uv, 'ord_uv': ord_uv, 'floor_applied': floor_applied}
+
+
+def next_levels(res: dict, cur_price: int) -> Optional[dict]:
+ """현재가를 보고 올릴 값이 있으면 반환, 없으면 None (순수 함수 — 단위테스트 대상).
+
+ 상향 전용: 고점이 갱신되고 그 결과 조건단가가 실제로 올라갈 때만 정정 대상.
+ 고점이 올라도 호가단위 내림 때문에 조건단가가 그대로면 정정하지 않는다(불필요한 API 콜 차단).
+ 최저 매도가가 아직 지배 중이면 트레일 손절선이 올라도 조건단가가 안 변해 None 이 된다.
+ """
+ if cur_price <= 0:
+ return None
+ if cur_price <= res['peak']:
+ return None
+ lv = compute_levels(cur_price, res['trail_pct'], res.get('min_sell_price'))
+ if lv['cond_uv'] <= res['cond_uv']:
+ return None
+ return {'peak': cur_price, 'cond_uv': lv['cond_uv'], 'ord_uv': lv['ord_uv']}
+
+
+class _FileLock:
+ def __init__(self, path: Path):
+ self.path = path
+ self._fp = None
+
+ def __enter__(self):
+ self.path.parent.mkdir(parents=True, exist_ok=True)
+ self._fp = open(self.path, 'w')
+ fcntl.flock(self._fp, fcntl.LOCK_EX)
+ return self
+
+ def __exit__(self, *args):
+ try:
+ fcntl.flock(self._fp, fcntl.LOCK_UN)
+ finally:
+ self._fp.close()
+
+
+_LOCK_FILE = STATE_FILE.with_suffix(STATE_FILE.suffix + '.lock')
+
+
+def _read() -> list:
+ if not STATE_FILE.exists():
+ return []
+ try:
+ data = json.loads(STATE_FILE.read_text(encoding='utf-8'))
+ except (OSError, ValueError):
+ return []
+ return data.get('reservations') or []
+
+
+def _write(reservations: list) -> None:
+ STATE_FILE.parent.mkdir(parents=True, exist_ok=True)
+ tmp = STATE_FILE.with_suffix(STATE_FILE.suffix + '.tmp')
+ tmp.write_text(json.dumps({'reservations': reservations}, ensure_ascii=False, indent=2),
+ encoding='utf-8')
+ os.replace(tmp, STATE_FILE)
+
+
+def list_active() -> list:
+ """등록된 예약 전체 (락 없이 읽기 — 감시 루프의 스냅샷용)."""
+ return _read()
+
+
+def get(res_id: str) -> Optional[dict]:
+ for r in _read():
+ if r['id'] == res_id:
+ return r
+ return None
+
+
+def find_by_symbol(account: str, symbol: str) -> Optional[dict]:
+ """같은 계좌·종목의 기존 예약. 중복 등록 차단용."""
+ for r in _read():
+ if r['account'] == account and r['symbol'] == symbol:
+ return r
+ return None
+
+
+def register(ord_no: str, account: str, symbol: str, symbol_name: str, qty: int,
+ trail_pct: float, peak: int, cond_uv: int, ord_uv: int,
+ routing_suffix: str = '', card_id: Optional[str] = None,
+ min_sell_price: Optional[int] = None) -> dict:
+ """키움에 스톱주문이 접수된 직후 호출 — ord_no 를 받아 예약으로 등록.
+
+ 초기 고점(peak)은 등록 시점 현재가다. 과거 고점(52주·매수후) 기준 옵션은 손절선이
+ 현재가 위로 올라가 즉시 발동하는 구조라 2026-07-30 제거됐다.
+ """
+ if not ord_no:
+ raise ValueError('ord_no required — 접수 확인된 주문만 등록')
+ res = {
+ 'id': 'TRL-' + ''.join(secrets.choice('ABCDEFGHJKLMNPQRSTUVWXYZ23456789') for _ in range(4)),
+ 'ord_no': ord_no,
+ 'account': account,
+ 'symbol': symbol,
+ 'symbol_name': symbol_name,
+ 'qty': qty,
+ 'trail_pct': trail_pct,
+ 'min_sell_price': min_sell_price,
+ 'peak': peak,
+ 'cond_uv': cond_uv,
+ 'ord_uv': ord_uv,
+ 'routing_suffix': routing_suffix,
+ 'card_id': card_id,
+ 'created_at': _now_iso(),
+ 'updated_at': _now_iso(),
+ 'modify_count': 0,
+ 'entry_peak': peak,
+ 'entry_cond_uv': cond_uv,
+ }
+ with _FileLock(_LOCK_FILE):
+ reservations = _read()
+ reservations.append(res)
+ _write(reservations)
+ return res
+
+
+def commit_modify(res_id: str, new_ord_no: str, peak: int, cond_uv: int, ord_uv: int) -> Optional[dict]:
+ """정정 성공 후 상태 갱신. new_ord_no 는 kt10002 응답의 신규 주문번호.
+
+ ⚠️ ord_no 갱신이 이 함수의 핵심 — 안 하면 다음 정정이 실패한다.
+ """
+ if not new_ord_no:
+ raise ValueError('new_ord_no required')
+ with _FileLock(_LOCK_FILE):
+ reservations = _read()
+ for r in reservations:
+ if r['id'] == res_id:
+ r['ord_no'] = new_ord_no
+ r['peak'] = peak
+ r['cond_uv'] = cond_uv
+ r['ord_uv'] = ord_uv
+ r['modify_count'] = r.get('modify_count', 0) + 1
+ r['updated_at'] = _now_iso()
+ _write(reservations)
+ return r
+ return None
+
+
+def should_notify_failure(res_id: str, now_ts: float, cooldown_sec: int) -> bool:
+ """정정 실패 알림을 보낼지. 보낸다고 판단하면 그 시점을 기록한다 (락 안에서 원자적).
+
+ NXT 시간대에 KRX/SOR 원주문 정정이 거부되면 매 사이클 실패가 반복된다 —
+ 쿨다운 없이 알리면 20:00까지 매분 텔레그램이 쏟아진다.
+ """
+ with _FileLock(_LOCK_FILE):
+ reservations = _read()
+ for r in reservations:
+ if r['id'] != res_id:
+ continue
+ last = r.get('last_fail_notice_ts') or 0
+ if now_ts - last < cooldown_sec:
+ return False
+ r['last_fail_notice_ts'] = now_ts
+ _write(reservations)
+ return True
+ return False
+
+
+def remove(res_id: str, reason: str = '') -> Optional[dict]:
+ """예약 종료 (체결·취소·소멸). 반환값은 제거된 예약 — 알림 메시지용."""
+ with _FileLock(_LOCK_FILE):
+ reservations = _read()
+ for i, r in enumerate(reservations):
+ if r['id'] == res_id:
+ gone = reservations.pop(i)
+ _write(reservations)
+ gone['removed_reason'] = reason
+ return gone
+ return None
diff --git a/agents/stock/workspace/scripts/trailing_monitor.py b/agents/stock/workspace/scripts/trailing_monitor.py
new file mode 100644
index 0000000..f9b0512
--- /dev/null
+++ b/agents/stock/workspace/scripts/trailing_monitor.py
@@ -0,0 +1,330 @@
+#!/usr/bin/env python3
+"""트레일링 스톱 감시 — 고점이 갱신되면 키움 스톱주문의 조건단가를 상향 정정한다.
+
+LLM을 깨우지 않는다. 하는 일은 딱 두 가지:
+ 1. 예약이 아직 미체결로 살아있는지 확인 (ka10075) — 사라졌으면 체결·취소로 보고 정리+알림
+ 2. 현재가가 저장된 고점을 넘었으면 kt10002 정정으로 조건단가·지정가를 함께 올림
+
+신규 발주·수량 변경·방향 변경은 하지 않는다. 사람이 PIN으로 승인한 주문의
+조건단가를 올리는 것뿐이고, 상향 전용이라 손절선이 내려가는 일은 없다.
+
+⚠️ 정정하면 주문번호가 새로 발급된다 (kt10002 응답 ord_no). trailing.commit_modify 가
+ 상태파일의 ord_no 를 갱신하지 않으면 다음 정정부터 전부 실패한다.
+
+⚠️ 고점은 '현재가' 로만 갱신한다. ka10095 가 당일 고가(high)도 주지만, 등록 시점 이전에
+ 찍힌 고가까지 반영되면 등록 직후 손절선이 현재가 위로 올라가 즉시 발동할 수 있다.
+ (예: 오전 15,000 → 14,000 일 때 3% 등록 → 당일고가 기준이면 조건 14,550 > 현재가)
+ 감시 간격이 2분이라 현재가 샘플링으로 충분하다.
+
+현재 launchd cadence 는 1분 1회 (`check`), 08:00~20:00 전 거래 세션.
+상시 daemon 을 띄우지 않는 이유는 매매 API 를 호출할 수 있는 프로세스를
+24시간 살려두지 않기 위함.
+
+⚠️ NXT 시간대(프리 08:00~09:00 / 애프터 15:30~20:00) 감시는 2026-07-30 관리자님 요청으로 추가.
+ **정규장에 등록된 주문(SOR `_AL` 또는 KRX `''`)의 정정이 NXT 단독 시간대에 받아들여지는지
+ 실증 안 됨.** 거부되면 고점 갱신마다 실패가 반복되므로 실패 알림에 30분 쿨다운을 걸었다
+ (로그에는 매번 남으니 진단은 logs/stock-trailing-monitor.log 로).
+
+⚠️ 1분보다 짧게 가려면 --repeat/--gap 을 쓴다. launchd 는 StartCalendarInterval 이
+ 분 단위가 최소라 30초 발화를 만들 수 없고, StartInterval=30 은 GUI 세션 idle 시
+ 발화가 보류돼(timer coalescing) 장중에 안 도는 문제가 있어 못 쓴다
+ (sim-scan 이 같은 이유로 캘린더로 전환됨). 그래서 30초는 "1분 발화 + 한 프로세스가
+ 30초 간격 2회 검사" 로만 가능하다 — plist ProgramArguments 에 인자를 붙이면 된다.
+ (2026-07-30 30초로 운영했다가 관리자님 지시로 1분 복귀. 옵션은 보존)
+
+Usage:
+ python3 trailing_monitor.py check # 1회 감시 (현재 launchd 설정)
+ python3 trailing_monitor.py check --repeat 2 --gap 30 # 30초 간격 2회
+ python3 trailing_monitor.py check --force # 장외에도 실행 (테스트용)
+ python3 trailing_monitor.py check --dry-run # 정정 API 호출 없이 판단·body 만 출력
+ python3 trailing_monitor.py list # 현재 예약 목록
+"""
+from __future__ import annotations
+
+import sys
+import time
+from datetime import datetime, timedelta, timezone
+from pathlib import Path
+
+KST = timezone(timedelta(hours=9))
+WORKSPACE = Path('/Users/snowoyh/.openclaw/agents/stock/workspace')
+sys.path.insert(0, str(WORKSPACE / 'scripts'))
+
+import kiwoom_client as kc # noqa: E402
+from orders import guards, kiwoom_order, trailing # noqa: E402
+from orders.handler import send_telegram # noqa: E402
+
+# 정정 실패 알림 쿨다운 — NXT 시간대에 KRX/SOR 원주문 정정이 거부되면 매 사이클 반복된다.
+FAIL_NOTICE_COOLDOWN_SEC = 1800
+
+
+def _log(msg: str) -> None:
+ print(f'[{datetime.now(KST).strftime("%Y-%m-%d %H:%M:%S")}] {msg}', flush=True)
+
+
+def session_now() -> tuple[bool, str]:
+ """(감시할 세션인가, 세션명). 주말·휴장일·거래시간 외는 False.
+
+ 세션 판정은 orders/limits.json 을 단일 진실 소스로 쓰는 guards.session_at 재사용 —
+ NXT 프리(08:00~09:00) / 정규(09:00~15:20) / 종가단일가(15:20~15:30) /
+ NXT 애프터(15:30~20:00). 시간이 바뀌면 limits.json 만 고치면 된다.
+ """
+ now = datetime.now(KST)
+ if now.weekday() >= 5:
+ return False, 'WEEKEND'
+ if guards.is_today_holiday(now):
+ return False, 'HOLIDAY'
+ sess = guards.session_at(now)
+ return sess != 'CLOSED', sess
+
+
+def _fill_check(account: str, symbol: str) -> tuple:
+ """예약이 사라진 사유 판정용 — 당일매매일지(ka10170)에서 그 종목 매도 기록을 찾는다.
+
+ ⚠️ 미체결 조회에서 사라진 것만으로는 체결·취소·소멸을 구분할 수 없다(셋 다 목록에서 빠짐).
+ 당일매매일지에 매도 기록이 없으면 **체결 안 된 것이 확정**이다.
+ 있으면 트레일링 발동분인지 관리자님 수동 매도인지는 구분할 수 없어 '체결로 보임'까지만 말한다.
+
+ 반환: (매도기록 dict 또는 None, 조회 성공 여부).
+ 조회 실패와 '기록 없음'을 반드시 구분해야 한다 — 실패를 '체결 안 됨'으로 단정하면
+ 실제로 팔렸는데 안 팔렸다고 알리게 된다.
+ """
+ try:
+ rows = kc.get_trade_journal(account)
+ except Exception as e:
+ _log(f'당일매매일지 조회 실패 ({account}/{symbol}): {e!r}')
+ return None, False
+ for row in rows:
+ if row.get('code') == symbol and (row.get('sell_qty') or 0) > 0:
+ return row, True
+ return None, True
+
+
+def _notify_gone(res: dict, sold, journal_ok: bool) -> None:
+ """예약이 미체결 목록에서 사라짐 — 사유를 구분해 알린다.
+
+ 체결 / 미체결 소멸(장 마감 취소 등)은 관리자님이 취해야 할 행동이 완전히 다르다.
+ 2026-07-30 실측: 스톱주문은 장 마감 후 체결 없이 소멸한다(15:30~18:21 사이).
+ 자동 재등록은 하지 않는다(관리자님 지시) — 다시 걸려면 자산웹에서 수동 등록.
+ """
+ floor_part = ''
+ if res.get('min_sell_price'):
+ floor_part = f' · 최저 매도가 {res["min_sell_price"]:,}원'
+ head_lines = [
+ f'계좌: {res["account"]} · {res["qty"]:,}주',
+ f'마지막 손절선: {res["cond_uv"]:,}원 '
+ f'(고점 {res["peak"]:,}원 대비 −{res["trail_pct"]}%){floor_part}',
+ f'손절선 상향 {res.get("modify_count", 0)}회',
+ ]
+ if sold:
+ title = f'✅ 트레일링 스톱 체결 — {res["symbol_name"]} ({res["symbol"]})'
+ tail = [f'당일 매도 {sold["sell_qty"]:,}주 @ 평균 {sold.get("sell_avg", 0):,}원',
+ f'실현손익 {sold.get("pl_amt", 0):,}원 (수수료·세금 차감)',
+ '※ 같은 종목을 직접 매도하신 경우 그 기록일 수도 있습니다.']
+ elif journal_ok:
+ title = f'⚠️ 트레일링 스톱 소멸 — {res["symbol_name"]} ({res["symbol"]})'
+ tail = ['체결되지 않았습니다 — 당일 매도 기록 없음, 보유수량 그대로입니다.',
+ '장 마감으로 스톱주문이 취소된 것으로 보입니다.',
+ '계속 쓰시려면 자산웹에서 다시 등록해주세요 (자동 재등록 안 함).']
+ else:
+ title = f'🎯 트레일링 스톱 종료 — {res["symbol_name"]} ({res["symbol"]})'
+ tail = ['미체결 목록에서 사라졌습니다.',
+ '당일매매일지 조회가 안 돼 체결 여부를 판정하지 못했습니다 — 확인해주세요.']
+ send_telegram('\n'.join([title] + head_lines + tail), parse_mode=None)
+
+
+def _notify_modify_failed(res: dict, reason: str) -> None:
+ send_telegram(
+ f'⚠️ 트레일링 손절선 상향 실패 — {res["symbol_name"]} ({res["symbol"]})\n'
+ f'계좌: {res["account"]} · 주문번호 {res["ord_no"]}\n'
+ f'현재 손절선 {res["cond_uv"]:,}원은 그대로 유지됩니다.\n'
+ f'사유: {reason}',
+ parse_mode=None)
+
+
+def _worth_running(force: bool) -> bool:
+ """예약이 있고 거래 세션인가. 루프 제어와 단발 실행이 같은 기준을 쓰게 분리."""
+ if not trailing.list_active():
+ return False
+ return force or session_now()[0]
+
+
+def check(force: bool = False, dry_run: bool = False) -> int:
+ reservations = trailing.list_active()
+ if not reservations:
+ return 0
+ ok_sess, sess = session_now()
+ if not force and not ok_sess:
+ _log(f'{sess} — skip ({len(reservations)}건 예약 대기)')
+ return 0
+ # NXT 단독 시간대엔 KRX 호가가 15:30 종가로 고정돼 현재가와 갭이 생긴다 → NXT 시세로 조회.
+ quote_exchange = 'NX' if sess in ('NXT_PRE', 'NXT_AFTER') else 'AL'
+
+ # 계좌별 미체결 스냅샷 (계좌당 1콜). 스톱주문도 조건 도달 전까지 미체결로 잡힌다.
+ open_by_acct: dict[str, list] = {}
+ for acct in sorted({r['account'] for r in reservations}):
+ try:
+ open_by_acct[acct] = kc.get_open_orders(acct, side='sell')
+ except Exception as e:
+ # 한 계좌 조회 실패로 다른 계좌 감시를 멈추지 않는다. 생존 판정은 건너뛴다
+ # (없다고 단정하면 살아있는 예약을 지워버린다).
+ _log(f'미체결 조회 실패 [{acct}]: {e!r}')
+ open_by_acct[acct] = None
+
+ alive = []
+ for r in reservations:
+ rows = open_by_acct.get(r['account'])
+ if rows is None:
+ continue # 조회 실패 계좌 — 이번 사이클 판단 보류
+ row = next((x for x in rows if x['ord_no'] == r['ord_no']), None)
+ if row is None:
+ gone = trailing.remove(r['id'], 'not_in_open_orders')
+ # 사유 판정 — 예약이 사라질 때만 ka10170 1콜 추가(평시엔 호출 안 함).
+ sold, journal_ok = _fill_check(r['account'], r['symbol'])
+ if sold:
+ why = f'체결 (당일 매도 {sold["sell_qty"]:,}주 @ {sold.get("sell_avg", 0):,})'
+ elif journal_ok:
+ why = '미체결 소멸 (당일 매도 기록 없음 — 장 마감 취소 추정)'
+ else:
+ why = '사유 판정 불가 (당일매매일지 조회 실패)'
+ _log(f'예약 종료 {r["id"]} {r["symbol_name"]} — {why}')
+ if gone and not dry_run:
+ try:
+ _notify_gone(gone, sold, journal_ok)
+ except Exception as e:
+ _log(f'알림 실패: {e!r}')
+ continue
+ alive.append((r, row))
+
+ if not alive:
+ return 0
+
+ try:
+ quotes = kc.get_watchlist_quotes([r['symbol'] for r, _ in alive], exchange=quote_exchange)
+ except Exception as e:
+ _log(f'시세 조회 실패 ({quote_exchange}): {e!r}')
+ return 1
+
+ raised = 0
+ for r, row in alive:
+ cur = (quotes.get(r['symbol']) or {}).get('price') or 0
+ levels = trailing.next_levels(r, cur)
+ if not levels:
+ continue
+ # 미체결 잔량으로 정정 — 부분체결됐으면 잔량만 남는다 (저장된 qty 는 최초 주문수량).
+ qty = row.get('unfilled_qty') or r['qty']
+ try:
+ res = kiwoom_order.modify_order(
+ account_label=r['account'],
+ orig_ord_no=r['ord_no'],
+ symbol=r['symbol'],
+ modify_qty=qty,
+ modify_price=levels['ord_uv'],
+ routing_suffix=row.get('routing_suffix', ''),
+ dry_run=dry_run,
+ card_id=r.get('card_id'),
+ modify_cond_price=levels['cond_uv'],
+ )
+ except Exception as e:
+ # sidecar 비활성(매매 차단) 포함. 손절선은 기존 값이 그대로 살아있다.
+ _log(f'정정 예외 {r["id"]} {r["symbol_name"]}: {e!r}')
+ continue
+
+ if dry_run:
+ _log(f'[dry-run] {r["id"]} {r["symbol_name"]} '
+ f'고점 {r["peak"]:,}→{levels["peak"]:,} · '
+ f'손절 {r["cond_uv"]:,}→{levels["cond_uv"]:,} / 지정 {levels["ord_uv"]:,} · '
+ f'body={res.get("body")}')
+ continue
+
+ if res.get('ok'):
+ new_ord_no = res.get('new_ord_no') or ''
+ updated = trailing.commit_modify(r['id'], new_ord_no, levels['peak'],
+ levels['cond_uv'], levels['ord_uv'])
+ raised += 1
+ _log(f'손절선 상향 {r["id"]} {r["symbol_name"]} '
+ f'{r["cond_uv"]:,}→{levels["cond_uv"]:,}원 (고점 {levels["peak"]:,}) '
+ f'ord_no {r["ord_no"]}→{new_ord_no}')
+ if not updated:
+ # 상태 갱신 실패 = 다음 정정이 옛 ord_no 로 나가 실패한다. 반드시 알린다.
+ _log(f'⚠️ 상태 갱신 실패 {r["id"]} — ord_no 불일치 위험')
+ try:
+ _notify_modify_failed(r, f'정정은 성공했지만 상태 갱신 실패 (새 주문번호 {new_ord_no})')
+ except Exception:
+ pass
+ else:
+ reason = res.get('reason', 'UNKNOWN')
+ detail = (res.get('response') or {}).get('return_msg') or res.get('error') or ''
+ _log(f'정정 실패 {r["id"]} {r["symbol_name"]}: {reason} {detail} (세션 {sess})')
+ # NXT 시간대에 KRX/SOR 원주문 정정이 거부되면 매 사이클 반복된다 — 쿨다운으로 스팸 차단.
+ # 로그에는 매번 남으니 진단은 로그로 한다.
+ if trailing.should_notify_failure(r['id'], time.time(), FAIL_NOTICE_COOLDOWN_SEC):
+ try:
+ _notify_modify_failed(r, f'{reason} {detail}'.strip() + f' · 세션 {sess}')
+ except Exception as e:
+ _log(f'알림 실패: {e!r}')
+ else:
+ _log(f' 알림 생략 (쿨다운 {FAIL_NOTICE_COOLDOWN_SEC}초 내 이미 발송)')
+
+ if raised:
+ _log(f'완료 — {raised}건 상향 / 예약 {len(alive)}건')
+ return 0
+
+
+def cmd_list() -> int:
+ reservations = trailing.list_active()
+ if not reservations:
+ print('트레일링 예약 없음')
+ return 0
+ for r in reservations:
+ floor_part = f' · 최저 {r["min_sell_price"]:,}' if r.get('min_sell_price') else ''
+ entry_peak = r.get('entry_peak') or 0
+ peak_part = f'고점 {r["peak"]:,}'
+ if entry_peak and r['peak'] > entry_peak:
+ peak_part += f' (등록 시 {entry_peak:,})'
+ print(f'{r["id"]} · {r["symbol_name"]}({r["symbol"]}) · {r["account"]} · {r["qty"]:,}주')
+ print(f' 트레일 −{r["trail_pct"]}%{floor_part} · {peak_part} · '
+ f'손절 {r["cond_uv"]:,} / 지정 {r["ord_uv"]:,}')
+ print(f' ord_no {r["ord_no"]} · 상향 {r.get("modify_count", 0)}회 · '
+ f'등록 {r["created_at"]} · 갱신 {r["updated_at"]}')
+ return 0
+
+
+def _int_opt(argv: list[str], name: str, default: int) -> int:
+ if name not in argv:
+ return default
+ i = argv.index(name)
+ if i + 1 >= len(argv):
+ return default
+ try:
+ return int(argv[i + 1])
+ except ValueError:
+ return default
+
+
+def main(argv: list[str]) -> int:
+ cmd = argv[1] if len(argv) > 1 else 'check'
+ if cmd == 'list':
+ return cmd_list()
+ if cmd == 'check':
+ force = '--force' in argv
+ dry_run = '--dry-run' in argv
+ repeat = max(1, _int_opt(argv, '--repeat', 1))
+ gap = max(1, _int_opt(argv, '--gap', 30))
+ rc = 0
+ for i in range(repeat):
+ rc = check(force=force, dry_run=dry_run) or rc
+ if i >= repeat - 1:
+ break
+ # 예약 0건이거나 장 마감이면 남은 sweep 을 버린다 — 빈 sleep 으로 프로세스가
+ # 살아있을 이유가 없다. sleep '전에' 확인해야 한다.
+ if not _worth_running(force):
+ break
+ time.sleep(gap)
+ return rc
+ print(__doc__, file=sys.stderr)
+ return 2
+
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv))
diff --git a/agents/stock/workspace/state/market_indicators_history.jsonl b/agents/stock/workspace/state/market_indicators_history.jsonl
index fb85012..ad19c29 100644
--- a/agents/stock/workspace/state/market_indicators_history.jsonl
+++ b/agents/stock/workspace/state/market_indicators_history.jsonl
@@ -94,3 +94,5 @@
{"date": "2026-07-28", "market": "KOSPI", "market_label": "코스피", "rise": 36, "upper": 3, "fall": 878, "lower": 2, "steady": 3, "adr": 4.43, "personal": 43152, "foreign": -45009, "institutional": 1830, "captured_at": "2026-07-28T21:00:02.094342+09:00"}
{"date": "2026-07-29", "market": "KOSDAQ", "market_label": "코스닥", "rise": 141, "upper": 4, "fall": 1554, "lower": 3, "steady": 35, "adr": 9.31, "personal": -4579, "foreign": 3082, "institutional": 1474, "captured_at": "2026-07-29T21:00:04.833116+09:00"}
{"date": "2026-07-29", "market": "KOSPI", "market_label": "코스피", "rise": 91, "upper": 1, "fall": 805, "lower": 1, "steady": 21, "adr": 11.41, "personal": -19701, "foreign": -12502, "institutional": 31769, "captured_at": "2026-07-29T21:00:04.833116+09:00"}
+{"date": "2026-07-30", "market": "KOSDAQ", "market_label": "코스닥", "rise": 733, "upper": 5, "fall": 938, "lower": 0, "steady": 57, "adr": 78.68, "personal": -1108, "foreign": 2483, "institutional": -1435, "captured_at": "2026-07-30T21:00:02.501493+09:00"}
+{"date": "2026-07-30", "market": "KOSPI", "market_label": "코스피", "rise": 609, "upper": 4, "fall": 277, "lower": 0, "steady": 30, "adr": 221.3, "personal": -14309, "foreign": 13280, "institutional": 805, "captured_at": "2026-07-30T21:00:02.501493+09:00"}
diff --git a/agents/stock/workspace/state/sim/equity_history.json b/agents/stock/workspace/state/sim/equity_history.json
index 2ec9f71..16b2d31 100644
--- a/agents/stock/workspace/state/sim/equity_history.json
+++ b/agents/stock/workspace/state/sim/equity_history.json
@@ -1 +1 @@
-{"20260610": [{"id": "main", "ph": "48693b1f", "equity": 100000000, "ret": 0.0}, {"id": "v1", "ph": "bab0fc2c", "equity": 100000000, "ret": 0.0}, {"id": "v2", "ph": "81d17cca", "equity": 100000000, "ret": 0.0}, {"id": "v3", "ph": "b6219595", "equity": 100000000, "ret": 0.0}, {"id": "v4", "ph": "ec2eb05a", "equity": 100000000, "ret": 0.0}, {"id": "v5", "ph": "e96ce9e2", "equity": 100000000, "ret": 0.0}, {"id": "v6", "ph": "de835eae", "equity": 100000000, "ret": 0.0}, {"id": "v7", "ph": "18c6740b", "equity": 100000000, "ret": 0.0}, {"id": "v8", "ph": "141268ab", "equity": 100000000, "ret": 0.0}, {"id": "v9", "ph": "e48c1012", "equity": 100000000, "ret": 0.0}, {"id": "v10", "ph": "e4bb2e3e", "equity": 100000000, "ret": 0.0}, {"id": "v11", "ph": "f166fb0e", "equity": 100000000, "ret": 0.0}, {"id": "v12", "ph": "8dd96f86", "equity": 100000000, "ret": 0.0}, {"id": "v13", "ph": "71a9d284", "equity": 100000000, "ret": 0.0}, {"id": "v14", "ph": "df7ce821", "equity": 100000000, "ret": 0.0}, {"id": "v15", "ph": "6294a5b8", "equity": 100000000, "ret": 0.0}, {"id": "v16", "ph": "dd1d2c77", "equity": 100000000, "ret": 0.0}, {"id": "v17", "ph": "7c8fe03d", "equity": 100000000, "ret": 0.0}, {"id": "v18", "ph": "e36cfa41", "equity": 100000000, "ret": 0.0}, {"id": "v19", "ph": "2bc2ecf2", "equity": 100000000, "ret": 0.0}, {"id": "v20", "ph": "bcc12830", "equity": 100000000, "ret": 0.0}, {"id": "v21", "ph": "956b3b16", "equity": 100000000, "ret": 0.0}, {"id": "v22", "ph": "aec632b1", "equity": 100000000, "ret": 0.0}, {"id": "v23", "ph": "9beb8c05", "equity": 100000000, "ret": 0.0}, {"id": "v24", "ph": "00b59557", "equity": 100000000, "ret": 0.0}, {"id": "v25", "ph": "2e5f3fac", "equity": 100000000, "ret": 0.0}, {"id": "v26", "ph": "33d43bc6", "equity": 100000000, "ret": 0.0}, {"id": "v27", "ph": "28e87677", "equity": 100000000, "ret": 0.0}, {"id": "v28", "ph": "e46149f5", "equity": 100000000, "ret": 0.0}, {"id": "v29", "ph": "df71f475", "equity": 100000000, "ret": 0.0}, {"id": "v30", "ph": "3dc99490", "equity": 100000000, "ret": 0.0}, {"id": "v31", "ph": "153055e6", "equity": 100000000, "ret": 0.0}, {"id": "v32", "ph": "97ad2410", "equity": 100000000, "ret": 0.0}, {"id": "v33", "ph": "d77f522d", "equity": 100000000, "ret": 0.0}, {"id": "v34", "ph": "6a183375", "equity": 100000000, "ret": 0.0}, {"id": "v35", "ph": "feebff1a", "equity": 100000000, "ret": 0.0}], "20260611": [{"id": "v62", "ph": "c6ddc17b", "equity": 100304837, "ret": 0.3}, {"id": "v64", "ph": "15b83273", "equity": 100304837, "ret": 0.3}, {"id": "v66", "ph": "db0e70a4", "equity": 100304837, "ret": 0.3}, {"id": "v68", "ph": "38c84625", "equity": 100159127, "ret": 0.16}, {"id": "v70", "ph": "6c4d4125", "equity": 100159127, "ret": 0.16}, {"id": "v72", "ph": "b8d74129", "equity": 100159127, "ret": 0.16}, {"id": "v74", "ph": "35a8e955", "equity": 100159127, "ret": 0.16}, {"id": "v76", "ph": "178928cb", "equity": 100159127, "ret": 0.16}, {"id": "v78", "ph": "655e082d", "equity": 100159127, "ret": 0.16}, {"id": "v80", "ph": "b2d56c47", "equity": 100159127, "ret": 0.16}, {"id": "v84", "ph": "95794738", "equity": 100159127, "ret": 0.16}, {"id": "v86", "ph": "935c5a1c", "equity": 100159127, "ret": 0.16}, {"id": "v22", "ph": "956b3b16", "equity": 100008869, "ret": 0.01}, {"id": "v24", "ph": "9beb8c05", "equity": 100008869, "ret": 0.01}, {"id": "v25", "ph": "00b59557", "equity": 100008869, "ret": 0.01}, {"id": "v79", "ph": "61b964d8", "equity": 100008869, "ret": 0.01}, {"id": "v83", "ph": "1b98a0fc", "equity": 100008869, "ret": 0.01}, {"id": "v85", "ph": "5ca17df0", "equity": 100008869, "ret": 0.01}, {"id": "v1", "ph": "4874f4c9", "equity": 100000000, "ret": 0.0}, {"id": "v2", "ph": "bab0fc2c", "equity": 100000000, "ret": 0.0}, {"id": "v3", "ph": "81d17cca", "equity": 100000000, "ret": 0.0}, {"id": "v4", "ph": "b6219595", "equity": 100000000, "ret": 0.0}, {"id": "v5", "ph": "ec2eb05a", "equity": 100000000, "ret": 0.0}, {"id": "v6", "ph": "e96ce9e2", "equity": 100000000, "ret": 0.0}, {"id": "v7", "ph": "de835eae", "equity": 100000000, "ret": 0.0}, {"id": "v8", "ph": "18c6740b", "equity": 100000000, "ret": 0.0}, {"id": "v9", "ph": "141268ab", "equity": 100000000, "ret": 0.0}, {"id": "v10", "ph": "e48c1012", "equity": 100000000, "ret": 0.0}, {"id": "v11", "ph": "e4bb2e3e", "equity": 100000000, "ret": 0.0}, {"id": "v12", "ph": "f166fb0e", "equity": 100000000, "ret": 0.0}, {"id": "v13", "ph": "8dd96f86", "equity": 100000000, "ret": 0.0}, {"id": "v14", "ph": "71a9d284", "equity": 100000000, "ret": 0.0}, {"id": "v15", "ph": "df7ce821", "equity": 100000000, "ret": 0.0}, {"id": "v16", "ph": "6294a5b8", "equity": 100000000, "ret": 0.0}, {"id": "v17", "ph": "dd1d2c77", "equity": 100000000, "ret": 0.0}, {"id": "v18", "ph": "7c8fe03d", "equity": 100000000, "ret": 0.0}, {"id": "v19", "ph": "e36cfa41", "equity": 100000000, "ret": 0.0}, {"id": "v20", "ph": "2bc2ecf2", "equity": 100000000, "ret": 0.0}, {"id": "v21", "ph": "bcc12830", "equity": 100000000, "ret": 0.0}, {"id": "v23", "ph": "aec632b1", "equity": 100000000, "ret": 0.0}, {"id": "v26", "ph": "2e5f3fac", "equity": 100000000, "ret": 0.0}, {"id": "v27", "ph": "33d43bc6", "equity": 100000000, "ret": 0.0}, {"id": "v28", "ph": "28e87677", "equity": 100000000, "ret": 0.0}, {"id": "v29", "ph": "e46149f5", "equity": 100000000, "ret": 0.0}, {"id": "v30", "ph": "df71f475", "equity": 100000000, "ret": 0.0}, {"id": "v31", "ph": "3dc99490", "equity": 100000000, "ret": 0.0}, {"id": "v32", "ph": "153055e6", "equity": 100000000, "ret": 0.0}, {"id": "v33", "ph": "97ad2410", "equity": 100000000, "ret": 0.0}, {"id": "v34", "ph": "d77f522d", "equity": 100000000, "ret": 0.0}, {"id": "v35", "ph": "6a183375", "equity": 100000000, "ret": 0.0}, {"id": "v36", "ph": "feebff1a", "equity": 100000000, "ret": 0.0}, {"id": "v37", "ph": "fb2247aa", "equity": 100000000, "ret": 0.0}, {"id": "v38", "ph": "9b9083ae", "equity": 100000000, "ret": 0.0}, {"id": "v39", "ph": "11c27236", "equity": 100000000, "ret": 0.0}, {"id": "v41", "ph": "e9d84e84", "equity": 100000000, "ret": 0.0}, {"id": "v43", "ph": "94ea3b53", "equity": 100000000, "ret": 0.0}, {"id": "v45", "ph": "964276a8", "equity": 100000000, "ret": 0.0}, {"id": "v46", "ph": "7dc0e360", "equity": 100000000, "ret": 0.0}, {"id": "v47", "ph": "ed758fcf", "equity": 100000000, "ret": 0.0}, {"id": "v49", "ph": "cdba73e0", "equity": 100000000, "ret": 0.0}, {"id": "v50", "ph": "690a50b5", "equity": 100000000, "ret": 0.0}, {"id": "v51", "ph": "21a98e46", "equity": 100000000, "ret": 0.0}, {"id": "v52", "ph": "c1939d0b", "equity": 100000000, "ret": 0.0}, {"id": "v53", "ph": "2391ee16", "equity": 100000000, "ret": 0.0}, {"id": "v54", "ph": "b975742e", "equity": 100000000, "ret": 0.0}, {"id": "v55", "ph": "2c44de9b", "equity": 100000000, "ret": 0.0}, {"id": "v56", "ph": "5d99704f", "equity": 100000000, "ret": 0.0}, {"id": "v57", "ph": "e7e98b6d", "equity": 100000000, "ret": 0.0}, {"id": "v58", "ph": "f1e52f55", "equity": 100000000, "ret": 0.0}, {"id": "v59", "ph": "1858e2ec", "equity": 100000000, "ret": 0.0}, {"id": "v60", "ph": "52560b06", "equity": 100000000, "ret": 0.0}, {"id": "v61", "ph": "6e870d25", "equity": 100000000, "ret": 0.0}, {"id": "v63", "ph": "9698b6a4", "equity": 100000000, "ret": 0.0}, {"id": "v65", "ph": "5b96fe5c", "equity": 100000000, "ret": 0.0}, {"id": "v67", "ph": "811c76b7", "equity": 100000000, "ret": 0.0}, {"id": "v69", "ph": "b896a0b0", "equity": 100000000, "ret": 0.0}, {"id": "v71", "ph": "900a188c", "equity": 100000000, "ret": 0.0}, {"id": "v73", "ph": "2d287be4", "equity": 100000000, "ret": 0.0}, {"id": "v75", "ph": "14f10e78", "equity": 100000000, "ret": 0.0}, {"id": "v77", "ph": "86dadea0", "equity": 100000000, "ret": 0.0}, {"id": "v81", "ph": "a6eac1e4", "equity": 100000000, "ret": 0.0}, {"id": "v82", "ph": "01847af6", "equity": 100000000, "ret": 0.0}, {"id": "v87", "ph": "c0be98c0", "equity": 100000000, "ret": 0.0}, {"id": "v88", "ph": "733579ce", "equity": 100000000, "ret": 0.0}, {"id": "v89", "ph": "c49d5680", "equity": 100000000, "ret": 0.0}, {"id": "v91", "ph": "5674a3d7", "equity": 100000000, "ret": 0.0}, {"id": "v92", "ph": "14a13097", "equity": 100000000, "ret": 0.0}, {"id": "v93", "ph": "f10d4e45", "equity": 100000000, "ret": 0.0}, {"id": "v94", "ph": "3e5d6b8a", "equity": 100000000, "ret": 0.0}, {"id": "v95", "ph": "7e28e756", "equity": 100000000, "ret": 0.0}, {"id": "v96", "ph": "095b119f", "equity": 100000000, "ret": 0.0}, {"id": "v97", "ph": "ebf31977", "equity": 100000000, "ret": 0.0}, {"id": "v99", "ph": "fb39409b", "equity": 100000000, "ret": 0.0}, {"id": "v100", "ph": "ffa9571a", "equity": 100000000, "ret": 0.0}, {"id": "v101", "ph": "c4354346", "equity": 100000000, "ret": 0.0}, {"id": "v102", "ph": "e1601afe", "equity": 100000000, "ret": 0.0}, {"id": "v103", "ph": "75b0a37c", "equity": 100000000, "ret": 0.0}, {"id": "v104", "ph": "013c3fde", "equity": 100000000, "ret": 0.0}, {"id": "v105", "ph": "88395429", "equity": 100000000, "ret": 0.0}, {"id": "v107", "ph": "be5cd36b", "equity": 100000000, "ret": 0.0}, {"id": "v108", "ph": "67a6679a", "equity": 100000000, "ret": 0.0}, {"id": "v48", "ph": "18854c6a", "equity": 99935458, "ret": -0.06}, {"id": "v90", "ph": "86e09c47", "equity": 99935458, "ret": -0.06}, {"id": "v98", "ph": "266fc53f", "equity": 99935458, "ret": -0.06}, {"id": "v106", "ph": "d0f5fbc1", "equity": 99935458, "ret": -0.06}, {"id": "v40", "ph": "70731d89", "equity": 99891085, "ret": -0.11}, {"id": "v42", "ph": "f36fddc6", "equity": 99891085, "ret": -0.11}, {"id": "v44", "ph": "364ea434", "equity": 99891085, "ret": -0.11}], "20260612": [{"id": "v62", "ph": "c6ddc17b", "equity": 101131990, "ret": 1.13}, {"id": "v64", "ph": "15b83273", "equity": 101131990, "ret": 1.13}, {"id": "v66", "ph": "db0e70a4", "equity": 101131990, "ret": 1.13}, {"id": "v68", "ph": "38c84625", "equity": 100815744, "ret": 0.82}, {"id": "v70", "ph": "6c4d4125", "equity": 100815744, "ret": 0.82}, {"id": "v72", "ph": "b8d74129", "equity": 100815744, "ret": 0.82}, {"id": "v74", "ph": "35a8e955", "equity": 100815744, "ret": 0.82}, {"id": "v76", "ph": "178928cb", "equity": 100815744, "ret": 0.82}, {"id": "v78", "ph": "655e082d", "equity": 100815744, "ret": 0.82}, {"id": "v80", "ph": "b2d56c47", "equity": 100815744, "ret": 0.82}, {"id": "v84", "ph": "95794738", "equity": 100815744, "ret": 0.82}, {"id": "v86", "ph": "935c5a1c", "equity": 100815744, "ret": 0.82}, {"id": "v40", "ph": "70731d89", "equity": 100812655, "ret": 0.81}, {"id": "v42", "ph": "f36fddc6", "equity": 100812655, "ret": 0.81}, {"id": "v44", "ph": "364ea434", "equity": 100812655, "ret": 0.81}, {"id": "v22", "ph": "956b3b16", "equity": 100762741, "ret": 0.76}, {"id": "v24", "ph": "9beb8c05", "equity": 100762741, "ret": 0.76}, {"id": "v25", "ph": "00b59557", "equity": 100762741, "ret": 0.76}, {"id": "v79", "ph": "61b964d8", "equity": 100762741, "ret": 0.76}, {"id": "v83", "ph": "1b98a0fc", "equity": 100762741, "ret": 0.76}, {"id": "v85", "ph": "5ca17df0", "equity": 100762741, "ret": 0.76}, {"id": "v48", "ph": "18854c6a", "equity": 100477921, "ret": 0.48}, {"id": "v90", "ph": "86e09c47", "equity": 100477921, "ret": 0.48}, {"id": "v98", "ph": "266fc53f", "equity": 100477921, "ret": 0.48}, {"id": "v106", "ph": "d0f5fbc1", "equity": 100477921, "ret": 0.48}, {"id": "v2", "ph": "bab0fc2c", "equity": 100463176, "ret": 0.46}, {"id": "v3", "ph": "81d17cca", "equity": 100463176, "ret": 0.46}, {"id": "v4", "ph": "b6219595", "equity": 100463176, "ret": 0.46}, {"id": "v39", "ph": "11c27236", "equity": 100463176, "ret": 0.46}, {"id": "v41", "ph": "e9d84e84", "equity": 100463176, "ret": 0.46}, {"id": "v43", "ph": "94ea3b53", "equity": 100463176, "ret": 0.46}, {"id": "v6", "ph": "e96ce9e2", "equity": 100248035, "ret": 0.25}, {"id": "v35", "ph": "6a183375", "equity": 100248035, "ret": 0.25}, {"id": "v47", "ph": "ed758fcf", "equity": 100248035, "ret": 0.25}, {"id": "v105", "ph": "88395429", "equity": 100248035, "ret": 0.25}, {"id": "v27", "ph": "33d43bc6", "equity": 100230107, "ret": 0.23}, {"id": "v31", "ph": "3dc99490", "equity": 100230107, "ret": 0.23}, {"id": "v89", "ph": "c49d5680", "equity": 100230107, "ret": 0.23}, {"id": "v97", "ph": "ebf31977", "equity": 100230107, "ret": 0.23}, {"id": "v1", "ph": "4874f4c9", "equity": 100000000, "ret": 0.0}, {"id": "v5", "ph": "ec2eb05a", "equity": 100000000, "ret": 0.0}, {"id": "v7", "ph": "de835eae", "equity": 100000000, "ret": 0.0}, {"id": "v8", "ph": "18c6740b", "equity": 100000000, "ret": 0.0}, {"id": "v9", "ph": "141268ab", "equity": 100000000, "ret": 0.0}, {"id": "v10", "ph": "e48c1012", "equity": 100000000, "ret": 0.0}, {"id": "v11", "ph": "e4bb2e3e", "equity": 100000000, "ret": 0.0}, {"id": "v12", "ph": "f166fb0e", "equity": 100000000, "ret": 0.0}, {"id": "v13", "ph": "8dd96f86", "equity": 100000000, "ret": 0.0}, {"id": "v14", "ph": "71a9d284", "equity": 100000000, "ret": 0.0}, {"id": "v15", "ph": "df7ce821", "equity": 100000000, "ret": 0.0}, {"id": "v16", "ph": "6294a5b8", "equity": 100000000, "ret": 0.0}, {"id": "v17", "ph": "dd1d2c77", "equity": 100000000, "ret": 0.0}, {"id": "v18", "ph": "7c8fe03d", "equity": 100000000, "ret": 0.0}, {"id": "v19", "ph": "e36cfa41", "equity": 100000000, "ret": 0.0}, {"id": "v20", "ph": "2bc2ecf2", "equity": 100000000, "ret": 0.0}, {"id": "v21", "ph": "bcc12830", "equity": 100000000, "ret": 0.0}, {"id": "v23", "ph": "aec632b1", "equity": 100000000, "ret": 0.0}, {"id": "v26", "ph": "2e5f3fac", "equity": 100000000, "ret": 0.0}, {"id": "v28", "ph": "28e87677", "equity": 100000000, "ret": 0.0}, {"id": "v29", "ph": "e46149f5", "equity": 100000000, "ret": 0.0}, {"id": "v30", "ph": "df71f475", "equity": 100000000, "ret": 0.0}, {"id": "v32", "ph": "153055e6", "equity": 100000000, "ret": 0.0}, {"id": "v33", "ph": "97ad2410", "equity": 100000000, "ret": 0.0}, {"id": "v34", "ph": "d77f522d", "equity": 100000000, "ret": 0.0}, {"id": "v36", "ph": "feebff1a", "equity": 100000000, "ret": 0.0}, {"id": "v37", "ph": "fb2247aa", "equity": 100000000, "ret": 0.0}, {"id": "v38", "ph": "9b9083ae", "equity": 100000000, "ret": 0.0}, {"id": "v45", "ph": "964276a8", "equity": 100000000, "ret": 0.0}, {"id": "v46", "ph": "7dc0e360", "equity": 100000000, "ret": 0.0}, {"id": "v49", "ph": "cdba73e0", "equity": 100000000, "ret": 0.0}, {"id": "v50", "ph": "690a50b5", "equity": 100000000, "ret": 0.0}, {"id": "v51", "ph": "21a98e46", "equity": 100000000, "ret": 0.0}, {"id": "v52", "ph": "c1939d0b", "equity": 100000000, "ret": 0.0}, {"id": "v53", "ph": "2391ee16", "equity": 100000000, "ret": 0.0}, {"id": "v54", "ph": "b975742e", "equity": 100000000, "ret": 0.0}, {"id": "v55", "ph": "2c44de9b", "equity": 100000000, "ret": 0.0}, {"id": "v56", "ph": "5d99704f", "equity": 100000000, "ret": 0.0}, {"id": "v57", "ph": "e7e98b6d", "equity": 100000000, "ret": 0.0}, {"id": "v58", "ph": "f1e52f55", "equity": 100000000, "ret": 0.0}, {"id": "v59", "ph": "1858e2ec", "equity": 100000000, "ret": 0.0}, {"id": "v60", "ph": "52560b06", "equity": 100000000, "ret": 0.0}, {"id": "v61", "ph": "6e870d25", "equity": 100000000, "ret": 0.0}, {"id": "v63", "ph": "9698b6a4", "equity": 100000000, "ret": 0.0}, {"id": "v65", "ph": "5b96fe5c", "equity": 100000000, "ret": 0.0}, {"id": "v67", "ph": "811c76b7", "equity": 100000000, "ret": 0.0}, {"id": "v69", "ph": "b896a0b0", "equity": 100000000, "ret": 0.0}, {"id": "v71", "ph": "900a188c", "equity": 100000000, "ret": 0.0}, {"id": "v73", "ph": "2d287be4", "equity": 100000000, "ret": 0.0}, {"id": "v75", "ph": "14f10e78", "equity": 100000000, "ret": 0.0}, {"id": "v77", "ph": "86dadea0", "equity": 100000000, "ret": 0.0}, {"id": "v81", "ph": "a6eac1e4", "equity": 100000000, "ret": 0.0}, {"id": "v82", "ph": "01847af6", "equity": 100000000, "ret": 0.0}, {"id": "v87", "ph": "c0be98c0", "equity": 100000000, "ret": 0.0}, {"id": "v88", "ph": "733579ce", "equity": 100000000, "ret": 0.0}, {"id": "v91", "ph": "5674a3d7", "equity": 100000000, "ret": 0.0}, {"id": "v92", "ph": "14a13097", "equity": 100000000, "ret": 0.0}, {"id": "v93", "ph": "f10d4e45", "equity": 100000000, "ret": 0.0}, {"id": "v94", "ph": "3e5d6b8a", "equity": 100000000, "ret": 0.0}, {"id": "v95", "ph": "7e28e756", "equity": 100000000, "ret": 0.0}, {"id": "v96", "ph": "095b119f", "equity": 100000000, "ret": 0.0}, {"id": "v99", "ph": "fb39409b", "equity": 100000000, "ret": 0.0}, {"id": "v100", "ph": "ffa9571a", "equity": 100000000, "ret": 0.0}, {"id": "v101", "ph": "c4354346", "equity": 100000000, "ret": 0.0}, {"id": "v102", "ph": "e1601afe", "equity": 100000000, "ret": 0.0}, {"id": "v103", "ph": "75b0a37c", "equity": 100000000, "ret": 0.0}, {"id": "v104", "ph": "013c3fde", "equity": 100000000, "ret": 0.0}, {"id": "v107", "ph": "be5cd36b", "equity": 100000000, "ret": 0.0}, {"id": "v108", "ph": "67a6679a", "equity": 100000000, "ret": 0.0}], "20260615": [{"id": "v62", "ph": "c6ddc17b", "equity": 101695590, "ret": 1.7}, {"id": "v64", "ph": "15b83273", "equity": 101695590, "ret": 1.7}, {"id": "v66", "ph": "db0e70a4", "equity": 101695590, "ret": 1.7}, {"id": "v68", "ph": "38c84625", "equity": 101110494, "ret": 1.11}, {"id": "v70", "ph": "6c4d4125", "equity": 101110494, "ret": 1.11}, {"id": "v72", "ph": "b8d74129", "equity": 101110494, "ret": 1.11}, {"id": "v74", "ph": "35a8e955", "equity": 101110494, "ret": 1.11}, {"id": "v76", "ph": "178928cb", "equity": 101110494, "ret": 1.11}, {"id": "v78", "ph": "655e082d", "equity": 101110494, "ret": 1.11}, {"id": "v80", "ph": "b2d56c47", "equity": 101110494, "ret": 1.11}, {"id": "v84", "ph": "95794738", "equity": 101110494, "ret": 1.11}, {"id": "v86", "ph": "935c5a1c", "equity": 101110494, "ret": 1.11}, {"id": "v40", "ph": "70731d89", "equity": 100878905, "ret": 0.88}, {"id": "v42", "ph": "f36fddc6", "equity": 100878905, "ret": 0.88}, {"id": "v44", "ph": "364ea434", "equity": 100878905, "ret": 0.88}, {"id": "v22", "ph": "956b3b16", "equity": 100808991, "ret": 0.81}, {"id": "v24", "ph": "9beb8c05", "equity": 100808991, "ret": 0.81}, {"id": "v25", "ph": "00b59557", "equity": 100808991, "ret": 0.81}, {"id": "v79", "ph": "61b964d8", "equity": 100808991, "ret": 0.81}, {"id": "v83", "ph": "1b98a0fc", "equity": 100808991, "ret": 0.81}, {"id": "v85", "ph": "5ca17df0", "equity": 100808991, "ret": 0.81}, {"id": "v2", "ph": "bab0fc2c", "equity": 100526926, "ret": 0.53}, {"id": "v3", "ph": "81d17cca", "equity": 100526926, "ret": 0.53}, {"id": "v4", "ph": "b6219595", "equity": 100526926, "ret": 0.53}, {"id": "v39", "ph": "11c27236", "equity": 100526926, "ret": 0.53}, {"id": "v41", "ph": "e9d84e84", "equity": 100526926, "ret": 0.53}, {"id": "v43", "ph": "94ea3b53", "equity": 100526926, "ret": 0.53}, {"id": "v48", "ph": "18854c6a", "equity": 100516671, "ret": 0.52}, {"id": "v90", "ph": "86e09c47", "equity": 100516671, "ret": 0.52}, {"id": "v98", "ph": "266fc53f", "equity": 100516671, "ret": 0.52}, {"id": "v106", "ph": "d0f5fbc1", "equity": 100516671, "ret": 0.52}, {"id": "v6", "ph": "e96ce9e2", "equity": 100281785, "ret": 0.28}, {"id": "v35", "ph": "6a183375", "equity": 100281785, "ret": 0.28}, {"id": "v47", "ph": "ed758fcf", "equity": 100281785, "ret": 0.28}, {"id": "v105", "ph": "88395429", "equity": 100281785, "ret": 0.28}, {"id": "v27", "ph": "33d43bc6", "equity": 100261357, "ret": 0.26}, {"id": "v31", "ph": "3dc99490", "equity": 100261357, "ret": 0.26}, {"id": "v89", "ph": "c49d5680", "equity": 100261357, "ret": 0.26}, {"id": "v97", "ph": "ebf31977", "equity": 100261357, "ret": 0.26}, {"id": "v1", "ph": "4874f4c9", "equity": 100000000, "ret": 0.0}, {"id": "v5", "ph": "ec2eb05a", "equity": 100000000, "ret": 0.0}, {"id": "v7", "ph": "de835eae", "equity": 100000000, "ret": 0.0}, {"id": "v8", "ph": "18c6740b", "equity": 100000000, "ret": 0.0}, {"id": "v9", "ph": "141268ab", "equity": 100000000, "ret": 0.0}, {"id": "v10", "ph": "e48c1012", "equity": 100000000, "ret": 0.0}, {"id": "v11", "ph": "e4bb2e3e", "equity": 100000000, "ret": 0.0}, {"id": "v12", "ph": "f166fb0e", "equity": 100000000, "ret": 0.0}, {"id": "v13", "ph": "8dd96f86", "equity": 100000000, "ret": 0.0}, {"id": "v14", "ph": "71a9d284", "equity": 100000000, "ret": 0.0}, {"id": "v15", "ph": "df7ce821", "equity": 100000000, "ret": 0.0}, {"id": "v16", "ph": "6294a5b8", "equity": 100000000, "ret": 0.0}, {"id": "v17", "ph": "dd1d2c77", "equity": 100000000, "ret": 0.0}, {"id": "v18", "ph": "7c8fe03d", "equity": 100000000, "ret": 0.0}, {"id": "v19", "ph": "e36cfa41", "equity": 100000000, "ret": 0.0}, {"id": "v20", "ph": "2bc2ecf2", "equity": 100000000, "ret": 0.0}, {"id": "v21", "ph": "bcc12830", "equity": 100000000, "ret": 0.0}, {"id": "v23", "ph": "aec632b1", "equity": 100000000, "ret": 0.0}, {"id": "v26", "ph": "2e5f3fac", "equity": 100000000, "ret": 0.0}, {"id": "v28", "ph": "28e87677", "equity": 100000000, "ret": 0.0}, {"id": "v29", "ph": "e46149f5", "equity": 100000000, "ret": 0.0}, {"id": "v30", "ph": "df71f475", "equity": 100000000, "ret": 0.0}, {"id": "v32", "ph": "153055e6", "equity": 100000000, "ret": 0.0}, {"id": "v33", "ph": "97ad2410", "equity": 100000000, "ret": 0.0}, {"id": "v34", "ph": "d77f522d", "equity": 100000000, "ret": 0.0}, {"id": "v36", "ph": "feebff1a", "equity": 100000000, "ret": 0.0}, {"id": "v37", "ph": "fb2247aa", "equity": 100000000, "ret": 0.0}, {"id": "v38", "ph": "9b9083ae", "equity": 100000000, "ret": 0.0}, {"id": "v45", "ph": "964276a8", "equity": 100000000, "ret": 0.0}, {"id": "v46", "ph": "7dc0e360", "equity": 100000000, "ret": 0.0}, {"id": "v49", "ph": "cdba73e0", "equity": 100000000, "ret": 0.0}, {"id": "v50", "ph": "690a50b5", "equity": 100000000, "ret": 0.0}, {"id": "v51", "ph": "21a98e46", "equity": 100000000, "ret": 0.0}, {"id": "v52", "ph": "c1939d0b", "equity": 100000000, "ret": 0.0}, {"id": "v53", "ph": "2391ee16", "equity": 100000000, "ret": 0.0}, {"id": "v54", "ph": "b975742e", "equity": 100000000, "ret": 0.0}, {"id": "v55", "ph": "2c44de9b", "equity": 100000000, "ret": 0.0}, {"id": "v56", "ph": "5d99704f", "equity": 100000000, "ret": 0.0}, {"id": "v57", "ph": "e7e98b6d", "equity": 100000000, "ret": 0.0}, {"id": "v58", "ph": "f1e52f55", "equity": 100000000, "ret": 0.0}, {"id": "v59", "ph": "1858e2ec", "equity": 100000000, "ret": 0.0}, {"id": "v60", "ph": "52560b06", "equity": 100000000, "ret": 0.0}, {"id": "v61", "ph": "6e870d25", "equity": 100000000, "ret": 0.0}, {"id": "v63", "ph": "9698b6a4", "equity": 100000000, "ret": 0.0}, {"id": "v65", "ph": "5b96fe5c", "equity": 100000000, "ret": 0.0}, {"id": "v67", "ph": "811c76b7", "equity": 100000000, "ret": 0.0}, {"id": "v69", "ph": "b896a0b0", "equity": 100000000, "ret": 0.0}, {"id": "v71", "ph": "900a188c", "equity": 100000000, "ret": 0.0}, {"id": "v73", "ph": "2d287be4", "equity": 100000000, "ret": 0.0}, {"id": "v75", "ph": "14f10e78", "equity": 100000000, "ret": 0.0}, {"id": "v77", "ph": "86dadea0", "equity": 100000000, "ret": 0.0}, {"id": "v81", "ph": "a6eac1e4", "equity": 100000000, "ret": 0.0}, {"id": "v82", "ph": "01847af6", "equity": 100000000, "ret": 0.0}, {"id": "v87", "ph": "c0be98c0", "equity": 100000000, "ret": 0.0}, {"id": "v88", "ph": "733579ce", "equity": 100000000, "ret": 0.0}, {"id": "v91", "ph": "5674a3d7", "equity": 100000000, "ret": 0.0}, {"id": "v92", "ph": "14a13097", "equity": 100000000, "ret": 0.0}, {"id": "v93", "ph": "f10d4e45", "equity": 100000000, "ret": 0.0}, {"id": "v94", "ph": "3e5d6b8a", "equity": 100000000, "ret": 0.0}, {"id": "v95", "ph": "7e28e756", "equity": 100000000, "ret": 0.0}, {"id": "v96", "ph": "095b119f", "equity": 100000000, "ret": 0.0}, {"id": "v99", "ph": "fb39409b", "equity": 100000000, "ret": 0.0}, {"id": "v100", "ph": "ffa9571a", "equity": 100000000, "ret": 0.0}, {"id": "v101", "ph": "c4354346", "equity": 100000000, "ret": 0.0}, {"id": "v102", "ph": "e1601afe", "equity": 100000000, "ret": 0.0}, {"id": "v103", "ph": "75b0a37c", "equity": 100000000, "ret": 0.0}, {"id": "v104", "ph": "013c3fde", "equity": 100000000, "ret": 0.0}, {"id": "v107", "ph": "be5cd36b", "equity": 100000000, "ret": 0.0}, {"id": "v108", "ph": "67a6679a", "equity": 100000000, "ret": 0.0}, {"id": "v109", "ph": "4c69fc95", "equity": 100000000, "ret": 0.0}, {"id": "v110", "ph": "8164d748", "equity": 100000000, "ret": 0.0}, {"id": "v111", "ph": "826e3d17", "equity": 100000000, "ret": 0.0}, {"id": "v112", "ph": "4cd47646", "equity": 100000000, "ret": 0.0}, {"id": "v113", "ph": "5b43d0bc", "equity": 100000000, "ret": 0.0}, {"id": "v114", "ph": "8686c36c", "equity": 100000000, "ret": 0.0}, {"id": "v115", "ph": "e1790a5a", "equity": 100000000, "ret": 0.0}, {"id": "v116", "ph": "e73fef98", "equity": 100000000, "ret": 0.0}, {"id": "v117", "ph": "c4ae8a11", "equity": 100000000, "ret": 0.0}, {"id": "v118", "ph": "538b63b9", "equity": 100000000, "ret": 0.0}, {"id": "v119", "ph": "ed2208f1", "equity": 100000000, "ret": 0.0}, {"id": "v120", "ph": "d25ca8b0", "equity": 100000000, "ret": 0.0}, {"id": "v121", "ph": "ae8797c1", "equity": 100000000, "ret": 0.0}, {"id": "v122", "ph": "b12ecb8e", "equity": 100000000, "ret": 0.0}, {"id": "v123", "ph": "6ee459af", "equity": 100000000, "ret": 0.0}, {"id": "v124", "ph": "47d22489", "equity": 100000000, "ret": 0.0}, {"id": "v125", "ph": "d2cf659a", "equity": 100000000, "ret": 0.0}, {"id": "v126", "ph": "d9a13cde", "equity": 100000000, "ret": 0.0}, {"id": "v127", "ph": "eff26306", "equity": 100000000, "ret": 0.0}, {"id": "v128", "ph": "e9482821", "equity": 100000000, "ret": 0.0}, {"id": "v129", "ph": "58ddcc3c", "equity": 100000000, "ret": 0.0}, {"id": "v130", "ph": "e91870c6", "equity": 100000000, "ret": 0.0}, {"id": "v131", "ph": "5f8c7082", "equity": 100000000, "ret": 0.0}, {"id": "v132", "ph": "0945c49a", "equity": 100000000, "ret": 0.0}, {"id": "v133", "ph": "78be8034", "equity": 100000000, "ret": 0.0}, {"id": "v134", "ph": "afbb4ab8", "equity": 100000000, "ret": 0.0}, {"id": "v135", "ph": "53f4c78c", "equity": 100000000, "ret": 0.0}, {"id": "v136", "ph": "ceb32a66", "equity": 100000000, "ret": 0.0}, {"id": "v137", "ph": "60ec806f", "equity": 100000000, "ret": 0.0}, {"id": "v138", "ph": "e3acb223", "equity": 100000000, "ret": 0.0}, {"id": "v139", "ph": "cfbc79a5", "equity": 100000000, "ret": 0.0}, {"id": "v140", "ph": "52175b2b", "equity": 100000000, "ret": 0.0}, {"id": "v141", "ph": "47f30434", "equity": 100000000, "ret": 0.0}, {"id": "v142", "ph": "44fae695", "equity": 100000000, "ret": 0.0}, {"id": "v143", "ph": "5cf8f13a", "equity": 100000000, "ret": 0.0}, {"id": "v144", "ph": "6ffe4183", "equity": 100000000, "ret": 0.0}, {"id": "v145", "ph": "a89d85fc", "equity": 100000000, "ret": 0.0}, {"id": "v146", "ph": "071b9cb1", "equity": 100000000, "ret": 0.0}, {"id": "v147", "ph": "2fbeeedb", "equity": 100000000, "ret": 0.0}, {"id": "v148", "ph": "ada71802", "equity": 100000000, "ret": 0.0}, {"id": "v149", "ph": "c5329f8d", "equity": 100000000, "ret": 0.0}, {"id": "v150", "ph": "be41b974", "equity": 100000000, "ret": 0.0}, {"id": "v151", "ph": "2eb1dd06", "equity": 100000000, "ret": 0.0}, {"id": "v152", "ph": "5d2df346", "equity": 100000000, "ret": 0.0}, {"id": "v153", "ph": "49fd09d9", "equity": 100000000, "ret": 0.0}, {"id": "v154", "ph": "7a3a7788", "equity": 100000000, "ret": 0.0}, {"id": "v155", "ph": "31c0d84e", "equity": 100000000, "ret": 0.0}, {"id": "v156", "ph": "3f7bcd1b", "equity": 100000000, "ret": 0.0}, {"id": "v157", "ph": "80f3e23b", "equity": 100000000, "ret": 0.0}, {"id": "v158", "ph": "7e56eae3", "equity": 100000000, "ret": 0.0}, {"id": "v159", "ph": "af80c67a", "equity": 100000000, "ret": 0.0}, {"id": "v160", "ph": "b03f5295", "equity": 100000000, "ret": 0.0}, {"id": "v161", "ph": "ed5677e6", "equity": 100000000, "ret": 0.0}, {"id": "v162", "ph": "b8f71c74", "equity": 100000000, "ret": 0.0}, {"id": "v163", "ph": "452ab819", "equity": 100000000, "ret": 0.0}, {"id": "v164", "ph": "331cec1f", "equity": 100000000, "ret": 0.0}, {"id": "v165", "ph": "8f862b27", "equity": 100000000, "ret": 0.0}, {"id": "v166", "ph": "f684401e", "equity": 100000000, "ret": 0.0}, {"id": "v167", "ph": "b6d6aed8", "equity": 100000000, "ret": 0.0}, {"id": "v168", "ph": "81099b26", "equity": 100000000, "ret": 0.0}, {"id": "v169", "ph": "d595e4fb", "equity": 100000000, "ret": 0.0}, {"id": "v170", "ph": "afd652fd", "equity": 100000000, "ret": 0.0}, {"id": "v171", "ph": "faa4e138", "equity": 100000000, "ret": 0.0}, {"id": "v172", "ph": "98d8acda", "equity": 100000000, "ret": 0.0}, {"id": "v173", "ph": "2ea88e58", "equity": 100000000, "ret": 0.0}, {"id": "v174", "ph": "d8b7e234", "equity": 100000000, "ret": 0.0}, {"id": "v175", "ph": "9b6b3d9c", "equity": 100000000, "ret": 0.0}, {"id": "v176", "ph": "b710fab4", "equity": 100000000, "ret": 0.0}, {"id": "v177", "ph": "87955d67", "equity": 100000000, "ret": 0.0}, {"id": "v178", "ph": "b7ad4c2d", "equity": 100000000, "ret": 0.0}, {"id": "v179", "ph": "bedf0e90", "equity": 100000000, "ret": 0.0}, {"id": "v180", "ph": "4e41501e", "equity": 100000000, "ret": 0.0}, {"id": "v181", "ph": "4614bd55", "equity": 100000000, "ret": 0.0}, {"id": "v182", "ph": "9a4e525e", "equity": 100000000, "ret": 0.0}, {"id": "v183", "ph": "84faca4b", "equity": 100000000, "ret": 0.0}, {"id": "v184", "ph": "3b78ae9c", "equity": 100000000, "ret": 0.0}, {"id": "v185", "ph": "6b7399b9", "equity": 100000000, "ret": 0.0}, {"id": "v186", "ph": "898d23ea", "equity": 100000000, "ret": 0.0}, {"id": "v187", "ph": "7a03131d", "equity": 100000000, "ret": 0.0}, {"id": "v188", "ph": "29798ffd", "equity": 100000000, "ret": 0.0}, {"id": "v189", "ph": "dfdbd0c8", "equity": 100000000, "ret": 0.0}, {"id": "v190", "ph": "e14af339", "equity": 100000000, "ret": 0.0}, {"id": "v191", "ph": "9bb12946", "equity": 100000000, "ret": 0.0}, {"id": "v192", "ph": "96fbbd1c", "equity": 100000000, "ret": 0.0}, {"id": "v193", "ph": "5dd1f4df", "equity": 100000000, "ret": 0.0}, {"id": "v194", "ph": "31aada19", "equity": 100000000, "ret": 0.0}, {"id": "v195", "ph": "dd89cf59", "equity": 100000000, "ret": 0.0}, {"id": "v196", "ph": "a44aeef1", "equity": 100000000, "ret": 0.0}, {"id": "v197", "ph": "5c290a32", "equity": 100000000, "ret": 0.0}, {"id": "v198", "ph": "ffd1ee88", "equity": 100000000, "ret": 0.0}, {"id": "v199", "ph": "390bfab3", "equity": 100000000, "ret": 0.0}, {"id": "v200", "ph": "8bbb6ec7", "equity": 100000000, "ret": 0.0}, {"id": "v201", "ph": "cb8a413e", "equity": 100000000, "ret": 0.0}, {"id": "v202", "ph": "a528b806", "equity": 100000000, "ret": 0.0}, {"id": "v203", "ph": "2071defa", "equity": 100000000, "ret": 0.0}, {"id": "v204", "ph": "434e2f7a", "equity": 100000000, "ret": 0.0}, {"id": "v205", "ph": "02e5a3f5", "equity": 100000000, "ret": 0.0}, {"id": "v206", "ph": "16f62ab7", "equity": 100000000, "ret": 0.0}, {"id": "v207", "ph": "0f6601a0", "equity": 100000000, "ret": 0.0}, {"id": "v208", "ph": "445623de", "equity": 100000000, "ret": 0.0}, {"id": "v209", "ph": "8730802d", "equity": 100000000, "ret": 0.0}, {"id": "v210", "ph": "6f533a9b", "equity": 100000000, "ret": 0.0}, {"id": "v211", "ph": "9227673c", "equity": 100000000, "ret": 0.0}, {"id": "v212", "ph": "b9e1e8d1", "equity": 100000000, "ret": 0.0}, {"id": "v213", "ph": "0e1d8e45", "equity": 100000000, "ret": 0.0}, {"id": "v214", "ph": "0fb624bf", "equity": 100000000, "ret": 0.0}, {"id": "v215", "ph": "a904a49d", "equity": 100000000, "ret": 0.0}, {"id": "v216", "ph": "ee298bd3", "equity": 100000000, "ret": 0.0}, {"id": "v217", "ph": "4c547a61", "equity": 100000000, "ret": 0.0}, {"id": "v218", "ph": "7304d2d4", "equity": 100000000, "ret": 0.0}, {"id": "v219", "ph": "426d3834", "equity": 100000000, "ret": 0.0}, {"id": "v220", "ph": "565c27a7", "equity": 100000000, "ret": 0.0}, {"id": "v221", "ph": "cd2eef94", "equity": 100000000, "ret": 0.0}, {"id": "v222", "ph": "55de9eca", "equity": 100000000, "ret": 0.0}, {"id": "v223", "ph": "b57356b8", "equity": 100000000, "ret": 0.0}, {"id": "v224", "ph": "888ab069", "equity": 100000000, "ret": 0.0}, {"id": "v225", "ph": "e9f40f62", "equity": 100000000, "ret": 0.0}, {"id": "v226", "ph": "98fd37a4", "equity": 100000000, "ret": 0.0}, {"id": "v227", "ph": "9454b07a", "equity": 100000000, "ret": 0.0}, {"id": "v228", "ph": "caa54387", "equity": 100000000, "ret": 0.0}, {"id": "v229", "ph": "d9261dfb", "equity": 100000000, "ret": 0.0}, {"id": "v230", "ph": "141579fe", "equity": 100000000, "ret": 0.0}, {"id": "v231", "ph": "cd9469fa", "equity": 100000000, "ret": 0.0}, {"id": "v232", "ph": "6de1fffa", "equity": 100000000, "ret": 0.0}, {"id": "v233", "ph": "941006e0", "equity": 100000000, "ret": 0.0}, {"id": "v234", "ph": "9a289d18", "equity": 100000000, "ret": 0.0}, {"id": "v235", "ph": "3e6c1666", "equity": 100000000, "ret": 0.0}, {"id": "v236", "ph": "f9c75560", "equity": 100000000, "ret": 0.0}, {"id": "v237", "ph": "a10d68cf", "equity": 100000000, "ret": 0.0}, {"id": "v238", "ph": "f1a74611", "equity": 100000000, "ret": 0.0}, {"id": "v239", "ph": "96e693c4", "equity": 100000000, "ret": 0.0}, {"id": "v240", "ph": "db1869eb", "equity": 100000000, "ret": 0.0}, {"id": "v241", "ph": "52162002", "equity": 100000000, "ret": 0.0}, {"id": "v242", "ph": "e6c70cac", "equity": 100000000, "ret": 0.0}, {"id": "v243", "ph": "fa7a545a", "equity": 100000000, "ret": 0.0}, {"id": "v244", "ph": "520c5a65", "equity": 100000000, "ret": 0.0}, {"id": "v245", "ph": "ac84324f", "equity": 100000000, "ret": 0.0}, {"id": "v246", "ph": "618ddf71", "equity": 100000000, "ret": 0.0}, {"id": "v247", "ph": "ba973fa6", "equity": 100000000, "ret": 0.0}, {"id": "v248", "ph": "9ca5e3dc", "equity": 100000000, "ret": 0.0}, {"id": "v249", "ph": "36a32ca0", "equity": 100000000, "ret": 0.0}, {"id": "v250", "ph": "b37976b8", "equity": 100000000, "ret": 0.0}, {"id": "v251", "ph": "8c5a06da", "equity": 100000000, "ret": 0.0}, {"id": "v252", "ph": "381a65d1", "equity": 100000000, "ret": 0.0}, {"id": "v253", "ph": "87bd57d6", "equity": 100000000, "ret": 0.0}, {"id": "v254", "ph": "75e53118", "equity": 100000000, "ret": 0.0}, {"id": "v255", "ph": "92e3c5e0", "equity": 100000000, "ret": 0.0}, {"id": "v256", "ph": "e583f1dd", "equity": 100000000, "ret": 0.0}, {"id": "v257", "ph": "7fa33f5b", "equity": 100000000, "ret": 0.0}, {"id": "v258", "ph": "0b19bb06", "equity": 100000000, "ret": 0.0}, {"id": "v259", "ph": "178a1fe3", "equity": 100000000, "ret": 0.0}, {"id": "v260", "ph": "bab317db", "equity": 100000000, "ret": 0.0}, {"id": "v261", "ph": "965786e6", "equity": 100000000, "ret": 0.0}, {"id": "v262", "ph": "e07faa54", "equity": 100000000, "ret": 0.0}, {"id": "v263", "ph": "ca392811", "equity": 100000000, "ret": 0.0}, {"id": "v264", "ph": "8c65e60d", "equity": 100000000, "ret": 0.0}, {"id": "v265", "ph": "7faed59d", "equity": 100000000, "ret": 0.0}, {"id": "v266", "ph": "c133b585", "equity": 100000000, "ret": 0.0}, {"id": "v267", "ph": "766c47d7", "equity": 100000000, "ret": 0.0}, {"id": "v268", "ph": "9736502d", "equity": 100000000, "ret": 0.0}, {"id": "v269", "ph": "c0c861c4", "equity": 100000000, "ret": 0.0}, {"id": "v270", "ph": "1ce9fd2b", "equity": 100000000, "ret": 0.0}, {"id": "v271", "ph": "2b9ccdcd", "equity": 100000000, "ret": 0.0}, {"id": "v272", "ph": "2ed2027f", "equity": 100000000, "ret": 0.0}, {"id": "v273", "ph": "c726e8d5", "equity": 100000000, "ret": 0.0}, {"id": "v274", "ph": "62b011c8", "equity": 100000000, "ret": 0.0}, {"id": "v275", "ph": "3ebf0d91", "equity": 100000000, "ret": 0.0}, {"id": "v276", "ph": "51425eab", "equity": 100000000, "ret": 0.0}, {"id": "v277", "ph": "488b612a", "equity": 100000000, "ret": 0.0}, {"id": "v278", "ph": "861fb42b", "equity": 100000000, "ret": 0.0}, {"id": "v279", "ph": "37e203bb", "equity": 100000000, "ret": 0.0}, {"id": "v280", "ph": "60411037", "equity": 100000000, "ret": 0.0}, {"id": "v281", "ph": "7d9e5a9d", "equity": 100000000, "ret": 0.0}, {"id": "v282", "ph": "9ddd111d", "equity": 100000000, "ret": 0.0}, {"id": "v283", "ph": "479e4b25", "equity": 100000000, "ret": 0.0}, {"id": "v284", "ph": "261c5d58", "equity": 100000000, "ret": 0.0}, {"id": "v285", "ph": "962e35cd", "equity": 100000000, "ret": 0.0}, {"id": "v286", "ph": "4f6101e9", "equity": 100000000, "ret": 0.0}, {"id": "v287", "ph": "3bf14815", "equity": 100000000, "ret": 0.0}, {"id": "v288", "ph": "1c732194", "equity": 100000000, "ret": 0.0}], "20260616": [{"id": "v40", "ph": "70731d89", "equity": 100839155, "ret": 0.84}, {"id": "v42", "ph": "f36fddc6", "equity": 100839155, "ret": 0.84}, {"id": "v44", "ph": "364ea434", "equity": 100839155, "ret": 0.84}, {"id": "v2", "ph": "bab0fc2c", "equity": 100488676, "ret": 0.49}, {"id": "v3", "ph": "81d17cca", "equity": 100488676, "ret": 0.49}, {"id": "v4", "ph": "b6219595", "equity": 100488676, "ret": 0.49}, {"id": "v39", "ph": "11c27236", "equity": 100488676, "ret": 0.49}, {"id": "v41", "ph": "e9d84e84", "equity": 100488676, "ret": 0.49}, {"id": "v43", "ph": "94ea3b53", "equity": 100488676, "ret": 0.49}, {"id": "v48", "ph": "18854c6a", "equity": 100493421, "ret": 0.49}, {"id": "v90", "ph": "86e09c47", "equity": 100493421, "ret": 0.49}, {"id": "v98", "ph": "266fc53f", "equity": 100493421, "ret": 0.49}, {"id": "v106", "ph": "d0f5fbc1", "equity": 100493421, "ret": 0.49}, {"id": "v6", "ph": "e96ce9e2", "equity": 100261535, "ret": 0.26}, {"id": "v35", "ph": "6a183375", "equity": 100261535, "ret": 0.26}, {"id": "v47", "ph": "ed758fcf", "equity": 100261535, "ret": 0.26}, {"id": "v105", "ph": "88395429", "equity": 100261535, "ret": 0.26}, {"id": "v27", "ph": "33d43bc6", "equity": 100242607, "ret": 0.24}, {"id": "v31", "ph": "3dc99490", "equity": 100242607, "ret": 0.24}, {"id": "v89", "ph": "c49d5680", "equity": 100242607, "ret": 0.24}, {"id": "v97", "ph": "ebf31977", "equity": 100242607, "ret": 0.24}, {"id": "v1", "ph": "4874f4c9", "equity": 100000000, "ret": 0.0}, {"id": "v5", "ph": "ec2eb05a", "equity": 100000000, "ret": 0.0}, {"id": "v7", "ph": "de835eae", "equity": 100000000, "ret": 0.0}, {"id": "v8", "ph": "18c6740b", "equity": 100000000, "ret": 0.0}, {"id": "v9", "ph": "141268ab", "equity": 100000000, "ret": 0.0}, {"id": "v10", "ph": "e48c1012", "equity": 100000000, "ret": 0.0}, {"id": "v11", "ph": "e4bb2e3e", "equity": 100000000, "ret": 0.0}, {"id": "v12", "ph": "f166fb0e", "equity": 100000000, "ret": 0.0}, {"id": "v23", "ph": "aec632b1", "equity": 100000000, "ret": 0.0}, {"id": "v26", "ph": "2e5f3fac", "equity": 100000000, "ret": 0.0}, {"id": "v28", "ph": "28e87677", "equity": 100000000, "ret": 0.0}, {"id": "v29", "ph": "e46149f5", "equity": 100000000, "ret": 0.0}, {"id": "v30", "ph": "df71f475", "equity": 100000000, "ret": 0.0}, {"id": "v32", "ph": "153055e6", "equity": 100000000, "ret": 0.0}, {"id": "v33", "ph": "97ad2410", "equity": 100000000, "ret": 0.0}, {"id": "v34", "ph": "d77f522d", "equity": 100000000, "ret": 0.0}, {"id": "v36", "ph": "feebff1a", "equity": 100000000, "ret": 0.0}, {"id": "v37", "ph": "fb2247aa", "equity": 100000000, "ret": 0.0}, {"id": "v38", "ph": "9b9083ae", "equity": 100000000, "ret": 0.0}, {"id": "v45", "ph": "964276a8", "equity": 100000000, "ret": 0.0}, {"id": "v46", "ph": "7dc0e360", "equity": 100000000, "ret": 0.0}, {"id": "v49", "ph": "cdba73e0", "equity": 100000000, "ret": 0.0}, {"id": "v50", "ph": "690a50b5", "equity": 100000000, "ret": 0.0}, {"id": "v51", "ph": "21a98e46", "equity": 100000000, "ret": 0.0}, {"id": "v52", "ph": "c1939d0b", "equity": 100000000, "ret": 0.0}, {"id": "v53", "ph": "2391ee16", "equity": 100000000, "ret": 0.0}, {"id": "v54", "ph": "b975742e", "equity": 100000000, "ret": 0.0}, {"id": "v55", "ph": "2c44de9b", "equity": 100000000, "ret": 0.0}, {"id": "v56", "ph": "5d99704f", "equity": 100000000, "ret": 0.0}, {"id": "v57", "ph": "e7e98b6d", "equity": 100000000, "ret": 0.0}, {"id": "v58", "ph": "f1e52f55", "equity": 100000000, "ret": 0.0}, {"id": "v59", "ph": "1858e2ec", "equity": 100000000, "ret": 0.0}, {"id": "v60", "ph": "52560b06", "equity": 100000000, "ret": 0.0}, {"id": "v81", "ph": "a6eac1e4", "equity": 100000000, "ret": 0.0}, {"id": "v82", "ph": "01847af6", "equity": 100000000, "ret": 0.0}, {"id": "v87", "ph": "c0be98c0", "equity": 100000000, "ret": 0.0}, {"id": "v88", "ph": "733579ce", "equity": 100000000, "ret": 0.0}, {"id": "v91", "ph": "5674a3d7", "equity": 100000000, "ret": 0.0}, {"id": "v92", "ph": "14a13097", "equity": 100000000, "ret": 0.0}, {"id": "v93", "ph": "f10d4e45", "equity": 100000000, "ret": 0.0}, {"id": "v94", "ph": "3e5d6b8a", "equity": 100000000, "ret": 0.0}, {"id": "v95", "ph": "7e28e756", "equity": 100000000, "ret": 0.0}, {"id": "v96", "ph": "095b119f", "equity": 100000000, "ret": 0.0}, {"id": "v99", "ph": "fb39409b", "equity": 100000000, "ret": 0.0}, {"id": "v100", "ph": "ffa9571a", "equity": 100000000, "ret": 0.0}, {"id": "v101", "ph": "c4354346", "equity": 100000000, "ret": 0.0}, {"id": "v102", "ph": "e1601afe", "equity": 100000000, "ret": 0.0}, {"id": "v103", "ph": "75b0a37c", "equity": 100000000, "ret": 0.0}, {"id": "v104", "ph": "013c3fde", "equity": 100000000, "ret": 0.0}, {"id": "v107", "ph": "be5cd36b", "equity": 100000000, "ret": 0.0}, {"id": "v108", "ph": "67a6679a", "equity": 100000000, "ret": 0.0}, {"id": "v109", "ph": "4c69fc95", "equity": 100000000, "ret": 0.0}, {"id": "v110", "ph": "8164d748", "equity": 100000000, "ret": 0.0}, {"id": "v111", "ph": "826e3d17", "equity": 100000000, "ret": 0.0}, {"id": "v112", "ph": "4cd47646", "equity": 100000000, "ret": 0.0}, {"id": "v113", "ph": "5b43d0bc", "equity": 100000000, "ret": 0.0}, {"id": "v114", "ph": "8686c36c", "equity": 100000000, "ret": 0.0}, {"id": "v115", "ph": "e1790a5a", "equity": 100000000, "ret": 0.0}, {"id": "v116", "ph": "e73fef98", "equity": 100000000, "ret": 0.0}, {"id": "v117", "ph": "c4ae8a11", "equity": 100000000, "ret": 0.0}, {"id": "v118", "ph": "538b63b9", "equity": 100000000, "ret": 0.0}, {"id": "v119", "ph": "ed2208f1", "equity": 100000000, "ret": 0.0}, {"id": "v120", "ph": "d25ca8b0", "equity": 100000000, "ret": 0.0}, {"id": "v131", "ph": "5f8c7082", "equity": 100000000, "ret": 0.0}, {"id": "v134", "ph": "afbb4ab8", "equity": 100000000, "ret": 0.0}, {"id": "v135", "ph": "53f4c78c", "equity": 100000000, "ret": 0.0}, {"id": "v136", "ph": "ceb32a66", "equity": 100000000, "ret": 0.0}, {"id": "v137", "ph": "60ec806f", "equity": 100000000, "ret": 0.0}, {"id": "v138", "ph": "e3acb223", "equity": 100000000, "ret": 0.0}, {"id": "v139", "ph": "cfbc79a5", "equity": 100000000, "ret": 0.0}, {"id": "v140", "ph": "52175b2b", "equity": 100000000, "ret": 0.0}, {"id": "v141", "ph": "47f30434", "equity": 100000000, "ret": 0.0}, {"id": "v142", "ph": "44fae695", "equity": 100000000, "ret": 0.0}, {"id": "v143", "ph": "5cf8f13a", "equity": 100000000, "ret": 0.0}, {"id": "v144", "ph": "6ffe4183", "equity": 100000000, "ret": 0.0}, {"id": "v145", "ph": "a89d85fc", "equity": 100000000, "ret": 0.0}, {"id": "v146", "ph": "071b9cb1", "equity": 100000000, "ret": 0.0}, {"id": "v147", "ph": "2fbeeedb", "equity": 100000000, "ret": 0.0}, {"id": "v148", "ph": "ada71802", "equity": 100000000, "ret": 0.0}, {"id": "v149", "ph": "c5329f8d", "equity": 100000000, "ret": 0.0}, {"id": "v150", "ph": "be41b974", "equity": 100000000, "ret": 0.0}, {"id": "v151", "ph": "2eb1dd06", "equity": 100000000, "ret": 0.0}, {"id": "v152", "ph": "5d2df346", "equity": 100000000, "ret": 0.0}, {"id": "v153", "ph": "49fd09d9", "equity": 100000000, "ret": 0.0}, {"id": "v154", "ph": "7a3a7788", "equity": 100000000, "ret": 0.0}, {"id": "v155", "ph": "31c0d84e", "equity": 100000000, "ret": 0.0}, {"id": "v156", "ph": "3f7bcd1b", "equity": 100000000, "ret": 0.0}, {"id": "v157", "ph": "80f3e23b", "equity": 100000000, "ret": 0.0}, {"id": "v158", "ph": "7e56eae3", "equity": 100000000, "ret": 0.0}, {"id": "v159", "ph": "af80c67a", "equity": 100000000, "ret": 0.0}, {"id": "v160", "ph": "b03f5295", "equity": 100000000, "ret": 0.0}, {"id": "v161", "ph": "ed5677e6", "equity": 100000000, "ret": 0.0}, {"id": "v162", "ph": "b8f71c74", "equity": 100000000, "ret": 0.0}, {"id": "v163", "ph": "452ab819", "equity": 100000000, "ret": 0.0}, {"id": "v164", "ph": "331cec1f", "equity": 100000000, "ret": 0.0}, {"id": "v165", "ph": "8f862b27", "equity": 100000000, "ret": 0.0}, {"id": "v166", "ph": "f684401e", "equity": 100000000, "ret": 0.0}, {"id": "v167", "ph": "b6d6aed8", "equity": 100000000, "ret": 0.0}, {"id": "v168", "ph": "81099b26", "equity": 100000000, "ret": 0.0}, {"id": "v189", "ph": "dfdbd0c8", "equity": 100000000, "ret": 0.0}, {"id": "v190", "ph": "e14af339", "equity": 100000000, "ret": 0.0}, {"id": "v195", "ph": "dd89cf59", "equity": 100000000, "ret": 0.0}, {"id": "v196", "ph": "a44aeef1", "equity": 100000000, "ret": 0.0}, {"id": "v197", "ph": "5c290a32", "equity": 100000000, "ret": 0.0}, {"id": "v198", "ph": "ffd1ee88", "equity": 100000000, "ret": 0.0}, {"id": "v199", "ph": "390bfab3", "equity": 100000000, "ret": 0.0}, {"id": "v200", "ph": "8bbb6ec7", "equity": 100000000, "ret": 0.0}, {"id": "v201", "ph": "cb8a413e", "equity": 100000000, "ret": 0.0}, {"id": "v202", "ph": "a528b806", "equity": 100000000, "ret": 0.0}, {"id": "v203", "ph": "2071defa", "equity": 100000000, "ret": 0.0}, {"id": "v204", "ph": "434e2f7a", "equity": 100000000, "ret": 0.0}, {"id": "v205", "ph": "02e5a3f5", "equity": 100000000, "ret": 0.0}, {"id": "v206", "ph": "16f62ab7", "equity": 100000000, "ret": 0.0}, {"id": "v207", "ph": "0f6601a0", "equity": 100000000, "ret": 0.0}, {"id": "v208", "ph": "445623de", "equity": 100000000, "ret": 0.0}, {"id": "v209", "ph": "8730802d", "equity": 100000000, "ret": 0.0}, {"id": "v210", "ph": "6f533a9b", "equity": 100000000, "ret": 0.0}, {"id": "v211", "ph": "9227673c", "equity": 100000000, "ret": 0.0}, {"id": "v212", "ph": "b9e1e8d1", "equity": 100000000, "ret": 0.0}, {"id": "v213", "ph": "0e1d8e45", "equity": 100000000, "ret": 0.0}, {"id": "v214", "ph": "0fb624bf", "equity": 100000000, "ret": 0.0}, {"id": "v215", "ph": "a904a49d", "equity": 100000000, "ret": 0.0}, {"id": "v216", "ph": "ee298bd3", "equity": 100000000, "ret": 0.0}, {"id": "v217", "ph": "4c547a61", "equity": 100000000, "ret": 0.0}, {"id": "v218", "ph": "7304d2d4", "equity": 100000000, "ret": 0.0}, {"id": "v219", "ph": "426d3834", "equity": 100000000, "ret": 0.0}, {"id": "v220", "ph": "565c27a7", "equity": 100000000, "ret": 0.0}, {"id": "v221", "ph": "cd2eef94", "equity": 100000000, "ret": 0.0}, {"id": "v222", "ph": "55de9eca", "equity": 100000000, "ret": 0.0}, {"id": "v223", "ph": "b57356b8", "equity": 100000000, "ret": 0.0}, {"id": "v224", "ph": "888ab069", "equity": 100000000, "ret": 0.0}, {"id": "v225", "ph": "e9f40f62", "equity": 100000000, "ret": 0.0}, {"id": "v226", "ph": "98fd37a4", "equity": 100000000, "ret": 0.0}, {"id": "v227", "ph": "9454b07a", "equity": 100000000, "ret": 0.0}, {"id": "v228", "ph": "caa54387", "equity": 100000000, "ret": 0.0}, {"id": "v229", "ph": "d9261dfb", "equity": 100000000, "ret": 0.0}, {"id": "v230", "ph": "141579fe", "equity": 100000000, "ret": 0.0}, {"id": "v231", "ph": "cd9469fa", "equity": 100000000, "ret": 0.0}, {"id": "v232", "ph": "6de1fffa", "equity": 100000000, "ret": 0.0}, {"id": "v233", "ph": "941006e0", "equity": 100000000, "ret": 0.0}, {"id": "v234", "ph": "9a289d18", "equity": 100000000, "ret": 0.0}, {"id": "v235", "ph": "3e6c1666", "equity": 100000000, "ret": 0.0}, {"id": "v236", "ph": "f9c75560", "equity": 100000000, "ret": 0.0}, {"id": "v237", "ph": "a10d68cf", "equity": 100000000, "ret": 0.0}, {"id": "v238", "ph": "f1a74611", "equity": 100000000, "ret": 0.0}, {"id": "v239", "ph": "96e693c4", "equity": 100000000, "ret": 0.0}, {"id": "v240", "ph": "db1869eb", "equity": 100000000, "ret": 0.0}, {"id": "v241", "ph": "52162002", "equity": 100000000, "ret": 0.0}, {"id": "v242", "ph": "e6c70cac", "equity": 100000000, "ret": 0.0}, {"id": "v243", "ph": "fa7a545a", "equity": 100000000, "ret": 0.0}, {"id": "v244", "ph": "520c5a65", "equity": 100000000, "ret": 0.0}, {"id": "v245", "ph": "ac84324f", "equity": 100000000, "ret": 0.0}, {"id": "v246", "ph": "618ddf71", "equity": 100000000, "ret": 0.0}, {"id": "v247", "ph": "ba973fa6", "equity": 100000000, "ret": 0.0}, {"id": "v248", "ph": "9ca5e3dc", "equity": 100000000, "ret": 0.0}, {"id": "v249", "ph": "36a32ca0", "equity": 100000000, "ret": 0.0}, {"id": "v250", "ph": "b37976b8", "equity": 100000000, "ret": 0.0}, {"id": "v251", "ph": "8c5a06da", "equity": 100000000, "ret": 0.0}, {"id": "v252", "ph": "381a65d1", "equity": 100000000, "ret": 0.0}, {"id": "v253", "ph": "87bd57d6", "equity": 100000000, "ret": 0.0}, {"id": "v254", "ph": "75e53118", "equity": 100000000, "ret": 0.0}, {"id": "v255", "ph": "92e3c5e0", "equity": 100000000, "ret": 0.0}, {"id": "v256", "ph": "e583f1dd", "equity": 100000000, "ret": 0.0}, {"id": "v257", "ph": "7fa33f5b", "equity": 100000000, "ret": 0.0}, {"id": "v258", "ph": "0b19bb06", "equity": 100000000, "ret": 0.0}, {"id": "v259", "ph": "178a1fe3", "equity": 100000000, "ret": 0.0}, {"id": "v260", "ph": "bab317db", "equity": 100000000, "ret": 0.0}, {"id": "v261", "ph": "965786e6", "equity": 100000000, "ret": 0.0}, {"id": "v262", "ph": "e07faa54", "equity": 100000000, "ret": 0.0}, {"id": "v263", "ph": "ca392811", "equity": 100000000, "ret": 0.0}, {"id": "v264", "ph": "8c65e60d", "equity": 100000000, "ret": 0.0}, {"id": "v265", "ph": "7faed59d", "equity": 100000000, "ret": 0.0}, {"id": "v266", "ph": "c133b585", "equity": 100000000, "ret": 0.0}, {"id": "v267", "ph": "766c47d7", "equity": 100000000, "ret": 0.0}, {"id": "v268", "ph": "9736502d", "equity": 100000000, "ret": 0.0}, {"id": "v269", "ph": "c0c861c4", "equity": 100000000, "ret": 0.0}, {"id": "v270", "ph": "1ce9fd2b", "equity": 100000000, "ret": 0.0}, {"id": "v271", "ph": "2b9ccdcd", "equity": 100000000, "ret": 0.0}, {"id": "v272", "ph": "2ed2027f", "equity": 100000000, "ret": 0.0}, {"id": "v273", "ph": "c726e8d5", "equity": 100000000, "ret": 0.0}, {"id": "v274", "ph": "62b011c8", "equity": 100000000, "ret": 0.0}, {"id": "v275", "ph": "3ebf0d91", "equity": 100000000, "ret": 0.0}, {"id": "v276", "ph": "51425eab", "equity": 100000000, "ret": 0.0}, {"id": "v277", "ph": "488b612a", "equity": 100000000, "ret": 0.0}, {"id": "v278", "ph": "861fb42b", "equity": 100000000, "ret": 0.0}, {"id": "v279", "ph": "37e203bb", "equity": 100000000, "ret": 0.0}, {"id": "v280", "ph": "60411037", "equity": 100000000, "ret": 0.0}, {"id": "v281", "ph": "7d9e5a9d", "equity": 100000000, "ret": 0.0}, {"id": "v282", "ph": "9ddd111d", "equity": 100000000, "ret": 0.0}, {"id": "v283", "ph": "479e4b25", "equity": 100000000, "ret": 0.0}, {"id": "v284", "ph": "261c5d58", "equity": 100000000, "ret": 0.0}, {"id": "v285", "ph": "962e35cd", "equity": 100000000, "ret": 0.0}, {"id": "v286", "ph": "4f6101e9", "equity": 100000000, "ret": 0.0}, {"id": "v287", "ph": "3bf14815", "equity": 100000000, "ret": 0.0}, {"id": "v288", "ph": "1c732194", "equity": 100000000, "ret": 0.0}, {"id": "v300", "ph": "c6ddc17b", "equity": 100000000, "ret": 0.0}, {"id": "v301", "ph": "30da2021", "equity": 100000000, "ret": 0.0}, {"id": "v302", "ph": "3f30502d", "equity": 100000000, "ret": 0.0}, {"id": "v303", "ph": "1a084164", "equity": 100000000, "ret": 0.0}, {"id": "v296", "ph": "4c554378", "equity": 99588927, "ret": -0.41}, {"id": "v298", "ph": "5d4bbec0", "equity": 99481601, "ret": -0.52}, {"id": "v299", "ph": "25046b1a", "equity": 98593265, "ret": -1.41}], "20260617": [{"id": "v40", "ph": "70731d89", "equity": 100652033, "ret": 0.65}, {"id": "v42", "ph": "f36fddc6", "equity": 100652033, "ret": 0.65}, {"id": "v44", "ph": "364ea434", "equity": 100652033, "ret": 0.65}, {"id": "v48", "ph": "18854c6a", "equity": 100383529, "ret": 0.38}, {"id": "v90", "ph": "86e09c47", "equity": 100383642, "ret": 0.38}, {"id": "v98", "ph": "266fc53f", "equity": 100383642, "ret": 0.38}, {"id": "v106", "ph": "d0f5fbc1", "equity": 100383529, "ret": 0.38}, {"id": "v2", "ph": "bab0fc2c", "equity": 100309506, "ret": 0.31}, {"id": "v3", "ph": "81d17cca", "equity": 100309506, "ret": 0.31}, {"id": "v4", "ph": "b6219595", "equity": 100309506, "ret": 0.31}, {"id": "v39", "ph": "11c27236", "equity": 100309506, "ret": 0.31}, {"id": "v41", "ph": "e9d84e84", "equity": 100309506, "ret": 0.31}, {"id": "v43", "ph": "94ea3b53", "equity": 100309506, "ret": 0.31}, {"id": "v6", "ph": "e96ce9e2", "equity": 100166592, "ret": 0.17}, {"id": "v35", "ph": "6a183375", "equity": 100166592, "ret": 0.17}, {"id": "v47", "ph": "ed758fcf", "equity": 100166592, "ret": 0.17}, {"id": "v105", "ph": "88395429", "equity": 100166592, "ret": 0.17}, {"id": "v27", "ph": "33d43bc6", "equity": 100154776, "ret": 0.15}, {"id": "v31", "ph": "3dc99490", "equity": 100154776, "ret": 0.15}, {"id": "v89", "ph": "c49d5680", "equity": 100154776, "ret": 0.15}, {"id": "v97", "ph": "ebf31977", "equity": 100154776, "ret": 0.15}, {"id": "v7", "ph": "de835eae", "equity": 100000000, "ret": 0.0}, {"id": "v8", "ph": "18c6740b", "equity": 100000000, "ret": 0.0}, {"id": "v23", "ph": "aec632b1", "equity": 100000000, "ret": 0.0}, {"id": "v28", "ph": "28e87677", "equity": 100000000, "ret": 0.0}, {"id": "v30", "ph": "df71f475", "equity": 100000000, "ret": 0.0}, {"id": "v49", "ph": "cdba73e0", "equity": 100000000, "ret": 0.0}, {"id": "v50", "ph": "690a50b5", "equity": 100000000, "ret": 0.0}, {"id": "v51", "ph": "21a98e46", "equity": 100000000, "ret": 0.0}, {"id": "v52", "ph": "c1939d0b", "equity": 100000000, "ret": 0.0}, {"id": "v81", "ph": "a6eac1e4", "equity": 100000000, "ret": 0.0}, {"id": "v82", "ph": "01847af6", "equity": 100000000, "ret": 0.0}, {"id": "v91", "ph": "5674a3d7", "equity": 100000000, "ret": 0.0}, {"id": "v92", "ph": "14a13097", "equity": 100000000, "ret": 0.0}, {"id": "v95", "ph": "7e28e756", "equity": 100000000, "ret": 0.0}, {"id": "v96", "ph": "095b119f", "equity": 100000000, "ret": 0.0}, {"id": "v300", "ph": "c6ddc17b", "equity": 99999065, "ret": -0.0}, {"id": "v302", "ph": "3f30502d", "equity": 100000000, "ret": 0.0}, {"id": "v9", "ph": "141268ab", "equity": 99870054, "ret": -0.13}, {"id": "v11", "ph": "e4bb2e3e", "equity": 99870054, "ret": -0.13}, {"id": "v12", "ph": "f166fb0e", "equity": 99870054, "ret": -0.13}, {"id": "v26", "ph": "2e5f3fac", "equity": 99869724, "ret": -0.13}, {"id": "v29", "ph": "e46149f5", "equity": 99869724, "ret": -0.13}, {"id": "v32", "ph": "153055e6", "equity": 99870054, "ret": -0.13}, {"id": "v33", "ph": "97ad2410", "equity": 99870054, "ret": -0.13}, {"id": "v34", "ph": "d77f522d", "equity": 99869724, "ret": -0.13}, {"id": "v53", "ph": "2391ee16", "equity": 99870054, "ret": -0.13}, {"id": "v54", "ph": "b975742e", "equity": 99870054, "ret": -0.13}, {"id": "v57", "ph": "e7e98b6d", "equity": 99870054, "ret": -0.13}, {"id": "v58", "ph": "f1e52f55", "equity": 99870054, "ret": -0.13}, {"id": "v59", "ph": "1858e2ec", "equity": 99870054, "ret": -0.13}, {"id": "v60", "ph": "52560b06", "equity": 99870054, "ret": -0.13}, {"id": "v87", "ph": "c0be98c0", "equity": 99869724, "ret": -0.13}, {"id": "v88", "ph": "733579ce", "equity": 99868788, "ret": -0.13}, {"id": "v93", "ph": "f10d4e45", "equity": 99869724, "ret": -0.13}, {"id": "v94", "ph": "3e5d6b8a", "equity": 99868788, "ret": -0.13}, {"id": "v99", "ph": "fb39409b", "equity": 99870054, "ret": -0.13}, {"id": "v100", "ph": "ffa9571a", "equity": 99870054, "ret": -0.13}, {"id": "v101", "ph": "c4354346", "equity": 99870054, "ret": -0.13}, {"id": "v102", "ph": "e1601afe", "equity": 99870054, "ret": -0.13}, {"id": "v103", "ph": "75b0a37c", "equity": 99869724, "ret": -0.13}, {"id": "v104", "ph": "013c3fde", "equity": 99868788, "ret": -0.13}, {"id": "v117", "ph": "c4ae8a11", "equity": 99869288, "ret": -0.13}, {"id": "v119", "ph": "ed2208f1", "equity": 99869288, "ret": -0.13}, {"id": "v120", "ph": "d25ca8b0", "equity": 99869288, "ret": -0.13}, {"id": "v134", "ph": "afbb4ab8", "equity": 99868958, "ret": -0.13}, {"id": "v135", "ph": "53f4c78c", "equity": 99868958, "ret": -0.13}, {"id": "v136", "ph": "ceb32a66", "equity": 99869288, "ret": -0.13}, {"id": "v137", "ph": "60ec806f", "equity": 99868958, "ret": -0.13}, {"id": "v139", "ph": "cfbc79a5", "equity": 99868958, "ret": -0.13}, {"id": "v140", "ph": "52175b2b", "equity": 99869288, "ret": -0.13}, {"id": "v141", "ph": "47f30434", "equity": 99869288, "ret": -0.13}, {"id": "v142", "ph": "44fae695", "equity": 99868958, "ret": -0.13}, {"id": "v161", "ph": "ed5677e6", "equity": 99870054, "ret": -0.13}, {"id": "v162", "ph": "b8f71c74", "equity": 99869288, "ret": -0.13}, {"id": "v165", "ph": "8f862b27", "equity": 99870054, "ret": -0.13}, {"id": "v166", "ph": "f684401e", "equity": 99869288, "ret": -0.13}, {"id": "v167", "ph": "b6d6aed8", "equity": 99870054, "ret": -0.13}, {"id": "v168", "ph": "81099b26", "equity": 99869288, "ret": -0.13}, {"id": "v195", "ph": "dd89cf59", "equity": 99869724, "ret": -0.13}, {"id": "v196", "ph": "a44aeef1", "equity": 99868022, "ret": -0.13}, {"id": "v197", "ph": "5c290a32", "equity": 99869724, "ret": -0.13}, {"id": "v198", "ph": "ffd1ee88", "equity": 99868022, "ret": -0.13}, {"id": "v199", "ph": "390bfab3", "equity": 99870054, "ret": -0.13}, {"id": "v200", "ph": "8bbb6ec7", "equity": 99869288, "ret": -0.13}, {"id": "v201", "ph": "cb8a413e", "equity": 99869724, "ret": -0.13}, {"id": "v202", "ph": "a528b806", "equity": 99868022, "ret": -0.13}, {"id": "v205", "ph": "02e5a3f5", "equity": 99869724, "ret": -0.13}, {"id": "v206", "ph": "16f62ab7", "equity": 99868022, "ret": -0.13}, {"id": "v207", "ph": "0f6601a0", "equity": 99870054, "ret": -0.13}, {"id": "v208", "ph": "445623de", "equity": 99869288, "ret": -0.13}, {"id": "v209", "ph": "8730802d", "equity": 99870054, "ret": -0.13}, {"id": "v210", "ph": "6f533a9b", "equity": 99869288, "ret": -0.13}, {"id": "v211", "ph": "9227673c", "equity": 99869724, "ret": -0.13}, {"id": "v212", "ph": "b9e1e8d1", "equity": 99868022, "ret": -0.13}, {"id": "v217", "ph": "4c547a61", "equity": 99870054, "ret": -0.13}, {"id": "v218", "ph": "7304d2d4", "equity": 99870054, "ret": -0.13}, {"id": "v219", "ph": "426d3834", "equity": 99869288, "ret": -0.13}, {"id": "v220", "ph": "565c27a7", "equity": 99869288, "ret": -0.13}, {"id": "v221", "ph": "cd2eef94", "equity": 99869288, "ret": -0.13}, {"id": "v222", "ph": "55de9eca", "equity": 99869288, "ret": -0.13}, {"id": "v223", "ph": "b57356b8", "equity": 99870054, "ret": -0.13}, {"id": "v224", "ph": "888ab069", "equity": 99870054, "ret": -0.13}, {"id": "v225", "ph": "e9f40f62", "equity": 99869288, "ret": -0.13}, {"id": "v226", "ph": "98fd37a4", "equity": 99869288, "ret": -0.13}, {"id": "v227", "ph": "9454b07a", "equity": 99869288, "ret": -0.13}, {"id": "v228", "ph": "caa54387", "equity": 99869288, "ret": -0.13}, {"id": "v229", "ph": "d9261dfb", "equity": 99870054, "ret": -0.13}, {"id": "v230", "ph": "141579fe", "equity": 99870054, "ret": -0.13}, {"id": "v231", "ph": "cd9469fa", "equity": 99869288, "ret": -0.13}, {"id": "v232", "ph": "6de1fffa", "equity": 99869288, "ret": -0.13}, {"id": "v233", "ph": "941006e0", "equity": 99869288, "ret": -0.13}, {"id": "v234", "ph": "9a289d18", "equity": 99869288, "ret": -0.13}, {"id": "v235", "ph": "3e6c1666", "equity": 99870054, "ret": -0.13}, {"id": "v236", "ph": "f9c75560", "equity": 99870054, "ret": -0.13}, {"id": "v237", "ph": "a10d68cf", "equity": 99869288, "ret": -0.13}, {"id": "v238", "ph": "f1a74611", "equity": 99869288, "ret": -0.13}, {"id": "v239", "ph": "96e693c4", "equity": 99869288, "ret": -0.13}, {"id": "v240", "ph": "db1869eb", "equity": 99869288, "ret": -0.13}, {"id": "v265", "ph": "7faed59d", "equity": 99870054, "ret": -0.13}, {"id": "v266", "ph": "c133b585", "equity": 99870054, "ret": -0.13}, {"id": "v267", "ph": "766c47d7", "equity": 99869288, "ret": -0.13}, {"id": "v268", "ph": "9736502d", "equity": 99869288, "ret": -0.13}, {"id": "v269", "ph": "c0c861c4", "equity": 99869288, "ret": -0.13}, {"id": "v270", "ph": "1ce9fd2b", "equity": 99869288, "ret": -0.13}, {"id": "v271", "ph": "2b9ccdcd", "equity": 99870054, "ret": -0.13}, {"id": "v272", "ph": "2ed2027f", "equity": 99870054, "ret": -0.13}, {"id": "v273", "ph": "c726e8d5", "equity": 99869288, "ret": -0.13}, {"id": "v274", "ph": "62b011c8", "equity": 99869288, "ret": -0.13}, {"id": "v275", "ph": "3ebf0d91", "equity": 99869288, "ret": -0.13}, {"id": "v276", "ph": "51425eab", "equity": 99869288, "ret": -0.13}, {"id": "v277", "ph": "488b612a", "equity": 99870054, "ret": -0.13}, {"id": "v278", "ph": "861fb42b", "equity": 99870054, "ret": -0.13}, {"id": "v279", "ph": "37e203bb", "equity": 99869288, "ret": -0.13}, {"id": "v280", "ph": "60411037", "equity": 99869288, "ret": -0.13}, {"id": "v281", "ph": "7d9e5a9d", "equity": 99869288, "ret": -0.13}, {"id": "v282", "ph": "9ddd111d", "equity": 99869288, "ret": -0.13}, {"id": "v283", "ph": "479e4b25", "equity": 99870054, "ret": -0.13}, {"id": "v284", "ph": "261c5d58", "equity": 99870054, "ret": -0.13}, {"id": "v285", "ph": "962e35cd", "equity": 99869288, "ret": -0.13}, {"id": "v286", "ph": "4f6101e9", "equity": 99869288, "ret": -0.13}, {"id": "v287", "ph": "3bf14815", "equity": 99869288, "ret": -0.13}, {"id": "v288", "ph": "1c732194", "equity": 99869288, "ret": -0.13}, {"id": "v301", "ph": "30da2021", "equity": 99870054, "ret": -0.13}, {"id": "v303", "ph": "1a084164", "equity": 99869305, "ret": -0.13}, {"id": "v1", "ph": "4874f4c9", "equity": 99839277, "ret": -0.16}, {"id": "v5", "ph": "ec2eb05a", "equity": 99839277, "ret": -0.16}, {"id": "v10", "ph": "e48c1012", "equity": 99839277, "ret": -0.16}, {"id": "v36", "ph": "feebff1a", "equity": 99838834, "ret": -0.16}, {"id": "v37", "ph": "fb2247aa", "equity": 99839277, "ret": -0.16}, {"id": "v38", "ph": "9b9083ae", "equity": 99839277, "ret": -0.16}, {"id": "v45", "ph": "964276a8", "equity": 99839277, "ret": -0.16}, {"id": "v46", "ph": "7dc0e360", "equity": 99839277, "ret": -0.16}, {"id": "v55", "ph": "2c44de9b", "equity": 99839277, "ret": -0.16}, {"id": "v56", "ph": "5d99704f", "equity": 99839277, "ret": -0.16}, {"id": "v107", "ph": "be5cd36b", "equity": 99838834, "ret": -0.16}, {"id": "v108", "ph": "67a6679a", "equity": 99837901, "ret": -0.16}, {"id": "v109", "ph": "4c69fc95", "equity": 99838342, "ret": -0.16}, {"id": "v110", "ph": "8164d748", "equity": 99837673, "ret": -0.16}, {"id": "v111", "ph": "826e3d17", "equity": 99837673, "ret": -0.16}, {"id": "v112", "ph": "4cd47646", "equity": 99837673, "ret": -0.16}, {"id": "v113", "ph": "5b43d0bc", "equity": 99838342, "ret": -0.16}, {"id": "v114", "ph": "8686c36c", "equity": 99837899, "ret": -0.16}, {"id": "v115", "ph": "e1790a5a", "equity": 99838342, "ret": -0.16}, {"id": "v116", "ph": "e73fef98", "equity": 99838342, "ret": -0.16}, {"id": "v118", "ph": "538b63b9", "equity": 99838342, "ret": -0.16}, {"id": "v131", "ph": "5f8c7082", "equity": 99838342, "ret": -0.16}, {"id": "v138", "ph": "e3acb223", "equity": 99838342, "ret": -0.16}, {"id": "v143", "ph": "5cf8f13a", "equity": 99837899, "ret": -0.16}, {"id": "v144", "ph": "6ffe4183", "equity": 99837899, "ret": -0.16}, {"id": "v145", "ph": "a89d85fc", "equity": 99839277, "ret": -0.16}, {"id": "v146", "ph": "071b9cb1", "equity": 99838342, "ret": -0.16}, {"id": "v147", "ph": "2fbeeedb", "equity": 99838607, "ret": -0.16}, {"id": "v148", "ph": "ada71802", "equity": 99836740, "ret": -0.16}, {"id": "v149", "ph": "c5329f8d", "equity": 99838607, "ret": -0.16}, {"id": "v150", "ph": "be41b974", "equity": 99836740, "ret": -0.16}, {"id": "v151", "ph": "2eb1dd06", "equity": 99838607, "ret": -0.16}, {"id": "v152", "ph": "5d2df346", "equity": 99836740, "ret": -0.16}, {"id": "v153", "ph": "49fd09d9", "equity": 99839277, "ret": -0.16}, {"id": "v154", "ph": "7a3a7788", "equity": 99838342, "ret": -0.16}, {"id": "v155", "ph": "31c0d84e", "equity": 99838834, "ret": -0.16}, {"id": "v156", "ph": "3f7bcd1b", "equity": 99836966, "ret": -0.16}, {"id": "v157", "ph": "80f3e23b", "equity": 99839277, "ret": -0.16}, {"id": "v158", "ph": "7e56eae3", "equity": 99838342, "ret": -0.16}, {"id": "v159", "ph": "af80c67a", "equity": 99839277, "ret": -0.16}, {"id": "v160", "ph": "b03f5295", "equity": 99838342, "ret": -0.16}, {"id": "v163", "ph": "452ab819", "equity": 99839277, "ret": -0.16}, {"id": "v164", "ph": "331cec1f", "equity": 99838342, "ret": -0.16}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99839277, "ret": -0.16}, {"id": "v190", "ph": "e14af339", "equity": 99838342, "ret": -0.16}, {"id": "v203", "ph": "2071defa", "equity": 99839277, "ret": -0.16}, {"id": "v204", "ph": "434e2f7a", "equity": 99838342, "ret": -0.16}, {"id": "v213", "ph": "0e1d8e45", "equity": 99838834, "ret": -0.16}, {"id": "v214", "ph": "0fb624bf", "equity": 99836966, "ret": -0.16}, {"id": "v215", "ph": "a904a49d", "equity": 99838834, "ret": -0.16}, {"id": "v216", "ph": "ee298bd3", "equity": 99836966, "ret": -0.16}, {"id": "v241", "ph": "52162002", "equity": 99839277, "ret": -0.16}, {"id": "v242", "ph": "e6c70cac", "equity": 99839277, "ret": -0.16}, {"id": "v243", "ph": "fa7a545a", "equity": 99838342, "ret": -0.16}, {"id": "v244", "ph": "520c5a65", "equity": 99838342, "ret": -0.16}, {"id": "v245", "ph": "ac84324f", "equity": 99838342, "ret": -0.16}, {"id": "v246", "ph": "618ddf71", "equity": 99838342, "ret": -0.16}, {"id": "v247", "ph": "ba973fa6", "equity": 99839277, "ret": -0.16}, {"id": "v248", "ph": "9ca5e3dc", "equity": 99839277, "ret": -0.16}, {"id": "v249", "ph": "36a32ca0", "equity": 99838342, "ret": -0.16}, {"id": "v250", "ph": "b37976b8", "equity": 99838342, "ret": -0.16}, {"id": "v251", "ph": "8c5a06da", "equity": 99838342, "ret": -0.16}, {"id": "v252", "ph": "381a65d1", "equity": 99838342, "ret": -0.16}, {"id": "v253", "ph": "87bd57d6", "equity": 99839277, "ret": -0.16}, {"id": "v254", "ph": "75e53118", "equity": 99839277, "ret": -0.16}, {"id": "v255", "ph": "92e3c5e0", "equity": 99838342, "ret": -0.16}, {"id": "v256", "ph": "e583f1dd", "equity": 99838342, "ret": -0.16}, {"id": "v257", "ph": "7fa33f5b", "equity": 99838342, "ret": -0.16}, {"id": "v258", "ph": "0b19bb06", "equity": 99838342, "ret": -0.16}, {"id": "v259", "ph": "178a1fe3", "equity": 99839277, "ret": -0.16}, {"id": "v260", "ph": "bab317db", "equity": 99839277, "ret": -0.16}, {"id": "v261", "ph": "965786e6", "equity": 99838342, "ret": -0.16}, {"id": "v262", "ph": "e07faa54", "equity": 99838342, "ret": -0.16}, {"id": "v263", "ph": "ca392811", "equity": 99838342, "ret": -0.16}, {"id": "v264", "ph": "8c65e60d", "equity": 99838342, "ret": -0.16}, {"id": "v298", "ph": "5d4bbec0", "equity": 99278910, "ret": -0.72}, {"id": "v299", "ph": "25046b1a", "equity": 99269453, "ret": -0.73}, {"id": "v296", "ph": "4c554378", "equity": 98793078, "ret": -1.21}], "20260618": [{"id": "v299", "ph": "25046b1a", "equity": 100522238, "ret": 0.52}, {"id": "v40", "ph": "70731d89", "equity": 100349540, "ret": 0.35}, {"id": "v42", "ph": "f36fddc6", "equity": 100349540, "ret": 0.35}, {"id": "v44", "ph": "364ea434", "equity": 100349540, "ret": 0.35}, {"id": "v48", "ph": "18854c6a", "equity": 100115675, "ret": 0.12}, {"id": "v106", "ph": "d0f5fbc1", "equity": 100115675, "ret": 0.12}, {"id": "v148", "ph": "ada71802", "equity": 100083234, "ret": 0.08}, {"id": "v150", "ph": "be41b974", "equity": 100083234, "ret": 0.08}, {"id": "v152", "ph": "5d2df346", "equity": 100083234, "ret": 0.08}, {"id": "v90", "ph": "86e09c47", "equity": 100043354, "ret": 0.04}, {"id": "v98", "ph": "266fc53f", "equity": 100043354, "ret": 0.04}, {"id": "v49", "ph": "cdba73e0", "equity": 100000000, "ret": 0.0}, {"id": "v51", "ph": "21a98e46", "equity": 100000000, "ret": 0.0}, {"id": "v81", "ph": "a6eac1e4", "equity": 100000000, "ret": 0.0}, {"id": "v91", "ph": "5674a3d7", "equity": 100000000, "ret": 0.0}, {"id": "v95", "ph": "7e28e756", "equity": 100000000, "ret": 0.0}, {"id": "v302", "ph": "3f30502d", "equity": 99947951, "ret": -0.05}, {"id": "v28", "ph": "28e87677", "equity": 99943690, "ret": -0.06}, {"id": "v7", "ph": "de835eae", "equity": 99934863, "ret": -0.07}, {"id": "v8", "ph": "18c6740b", "equity": 99934863, "ret": -0.07}, {"id": "v23", "ph": "aec632b1", "equity": 99934863, "ret": -0.07}, {"id": "v30", "ph": "df71f475", "equity": 99934863, "ret": -0.07}, {"id": "v156", "ph": "3f7bcd1b", "equity": 99921725, "ret": -0.08}, {"id": "v214", "ph": "0fb624bf", "equity": 99921725, "ret": -0.08}, {"id": "v108", "ph": "67a6679a", "equity": 99911859, "ret": -0.09}, {"id": "v9", "ph": "141268ab", "equity": 99866254, "ret": -0.13}, {"id": "v11", "ph": "e4bb2e3e", "equity": 99866254, "ret": -0.13}, {"id": "v12", "ph": "f166fb0e", "equity": 99866254, "ret": -0.13}, {"id": "v32", "ph": "153055e6", "equity": 99866254, "ret": -0.13}, {"id": "v33", "ph": "97ad2410", "equity": 99866254, "ret": -0.13}, {"id": "v53", "ph": "2391ee16", "equity": 99866254, "ret": -0.13}, {"id": "v57", "ph": "e7e98b6d", "equity": 99866254, "ret": -0.13}, {"id": "v59", "ph": "1858e2ec", "equity": 99866254, "ret": -0.13}, {"id": "v99", "ph": "fb39409b", "equity": 99866254, "ret": -0.13}, {"id": "v101", "ph": "c4354346", "equity": 99866254, "ret": -0.13}, {"id": "v136", "ph": "ceb32a66", "equity": 99874338, "ret": -0.13}, {"id": "v161", "ph": "ed5677e6", "equity": 99866254, "ret": -0.13}, {"id": "v165", "ph": "8f862b27", "equity": 99866254, "ret": -0.13}, {"id": "v167", "ph": "b6d6aed8", "equity": 99866254, "ret": -0.13}, {"id": "v198", "ph": "ffd1ee88", "equity": 99869669, "ret": -0.13}, {"id": "v199", "ph": "390bfab3", "equity": 99866254, "ret": -0.13}, {"id": "v206", "ph": "16f62ab7", "equity": 99869669, "ret": -0.13}, {"id": "v207", "ph": "0f6601a0", "equity": 99866254, "ret": -0.13}, {"id": "v209", "ph": "8730802d", "equity": 99866254, "ret": -0.13}, {"id": "v217", "ph": "4c547a61", "equity": 99866254, "ret": -0.13}, {"id": "v218", "ph": "7304d2d4", "equity": 99866254, "ret": -0.13}, {"id": "v223", "ph": "b57356b8", "equity": 99866254, "ret": -0.13}, {"id": "v224", "ph": "888ab069", "equity": 99866254, "ret": -0.13}, {"id": "v229", "ph": "d9261dfb", "equity": 99866254, "ret": -0.13}, {"id": "v230", "ph": "141579fe", "equity": 99866254, "ret": -0.13}, {"id": "v235", "ph": "3e6c1666", "equity": 99866254, "ret": -0.13}, {"id": "v236", "ph": "f9c75560", "equity": 99866254, "ret": -0.13}, {"id": "v265", "ph": "7faed59d", "equity": 99866254, "ret": -0.13}, {"id": "v266", "ph": "c133b585", "equity": 99866254, "ret": -0.13}, {"id": "v271", "ph": "2b9ccdcd", "equity": 99866254, "ret": -0.13}, {"id": "v272", "ph": "2ed2027f", "equity": 99866254, "ret": -0.13}, {"id": "v277", "ph": "488b612a", "equity": 99866254, "ret": -0.13}, {"id": "v278", "ph": "861fb42b", "equity": 99866254, "ret": -0.13}, {"id": "v283", "ph": "479e4b25", "equity": 99866254, "ret": -0.13}, {"id": "v284", "ph": "261c5d58", "equity": 99866254, "ret": -0.13}, {"id": "v301", "ph": "30da2021", "equity": 99866254, "ret": -0.13}, {"id": "v88", "ph": "733579ce", "equity": 99861585, "ret": -0.14}, {"id": "v94", "ph": "3e5d6b8a", "equity": 99861585, "ret": -0.14}, {"id": "v104", "ph": "013c3fde", "equity": 99861585, "ret": -0.14}, {"id": "v115", "ph": "e1790a5a", "equity": 99844442, "ret": -0.16}, {"id": "v116", "ph": "e73fef98", "equity": 99844442, "ret": -0.16}, {"id": "v131", "ph": "5f8c7082", "equity": 99844442, "ret": -0.16}, {"id": "v138", "ph": "e3acb223", "equity": 99844442, "ret": -0.16}, {"id": "v1", "ph": "4874f4c9", "equity": 99834577, "ret": -0.17}, {"id": "v5", "ph": "ec2eb05a", "equity": 99834577, "ret": -0.17}, {"id": "v10", "ph": "e48c1012", "equity": 99834577, "ret": -0.17}, {"id": "v37", "ph": "fb2247aa", "equity": 99834577, "ret": -0.17}, {"id": "v45", "ph": "964276a8", "equity": 99834577, "ret": -0.17}, {"id": "v55", "ph": "2c44de9b", "equity": 99834577, "ret": -0.17}, {"id": "v145", "ph": "a89d85fc", "equity": 99834577, "ret": -0.17}, {"id": "v153", "ph": "49fd09d9", "equity": 99834577, "ret": -0.17}, {"id": "v157", "ph": "80f3e23b", "equity": 99834577, "ret": -0.17}, {"id": "v159", "ph": "af80c67a", "equity": 99834577, "ret": -0.17}, {"id": "v163", "ph": "452ab819", "equity": 99834577, "ret": -0.17}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99834577, "ret": -0.17}, {"id": "v203", "ph": "2071defa", "equity": 99834577, "ret": -0.17}, {"id": "v241", "ph": "52162002", "equity": 99834577, "ret": -0.17}, {"id": "v242", "ph": "e6c70cac", "equity": 99834577, "ret": -0.17}, {"id": "v247", "ph": "ba973fa6", "equity": 99834577, "ret": -0.17}, {"id": "v248", "ph": "9ca5e3dc", "equity": 99834577, "ret": -0.17}, {"id": "v253", "ph": "87bd57d6", "equity": 99834577, "ret": -0.17}, {"id": "v254", "ph": "75e53118", "equity": 99834577, "ret": -0.17}, {"id": "v259", "ph": "178a1fe3", "equity": 99834577, "ret": -0.17}, {"id": "v260", "ph": "bab317db", "equity": 99834577, "ret": -0.17}, {"id": "v89", "ph": "c49d5680", "equity": 99817776, "ret": -0.18}, {"id": "v97", "ph": "ebf31977", "equity": 99817776, "ret": -0.18}, {"id": "v47", "ph": "ed758fcf", "equity": 99773192, "ret": -0.23}, {"id": "v105", "ph": "88395429", "equity": 99773192, "ret": -0.23}, {"id": "v27", "ph": "33d43bc6", "equity": 99761770, "ret": -0.24}, {"id": "v31", "ph": "3dc99490", "equity": 99761770, "ret": -0.24}, {"id": "v135", "ph": "53f4c78c", "equity": 99762008, "ret": -0.24}, {"id": "v139", "ph": "cfbc79a5", "equity": 99762008, "ret": -0.24}, {"id": "v26", "ph": "2e5f3fac", "equity": 99753924, "ret": -0.25}, {"id": "v29", "ph": "e46149f5", "equity": 99753924, "ret": -0.25}, {"id": "v34", "ph": "d77f522d", "equity": 99753924, "ret": -0.25}, {"id": "v87", "ph": "c0be98c0", "equity": 99753924, "ret": -0.25}, {"id": "v93", "ph": "f10d4e45", "equity": 99753924, "ret": -0.25}, {"id": "v103", "ph": "75b0a37c", "equity": 99753924, "ret": -0.25}, {"id": "v195", "ph": "dd89cf59", "equity": 99753924, "ret": -0.25}, {"id": "v197", "ph": "5c290a32", "equity": 99753924, "ret": -0.25}, {"id": "v201", "ph": "cb8a413e", "equity": 99753924, "ret": -0.25}, {"id": "v205", "ph": "02e5a3f5", "equity": 99753924, "ret": -0.25}, {"id": "v211", "ph": "9227673c", "equity": 99753924, "ret": -0.25}, {"id": "v6", "ph": "e96ce9e2", "equity": 99708359, "ret": -0.29}, {"id": "v35", "ph": "6a183375", "equity": 99708359, "ret": -0.29}, {"id": "v114", "ph": "8686c36c", "equity": 99693599, "ret": -0.31}, {"id": "v143", "ph": "5cf8f13a", "equity": 99693599, "ret": -0.31}, {"id": "v36", "ph": "feebff1a", "equity": 99683734, "ret": -0.32}, {"id": "v107", "ph": "be5cd36b", "equity": 99683734, "ret": -0.32}, {"id": "v155", "ph": "31c0d84e", "equity": 99683734, "ret": -0.32}, {"id": "v213", "ph": "0e1d8e45", "equity": 99683734, "ret": -0.32}, {"id": "v215", "ph": "a904a49d", "equity": 99683734, "ret": -0.32}, {"id": "v39", "ph": "11c27236", "equity": 99623306, "ret": -0.38}, {"id": "v41", "ph": "e9d84e84", "equity": 99623306, "ret": -0.38}, {"id": "v43", "ph": "94ea3b53", "equity": 99623306, "ret": -0.38}, {"id": "v110", "ph": "8164d748", "equity": 99616573, "ret": -0.38}, {"id": "v111", "ph": "826e3d17", "equity": 99616573, "ret": -0.38}, {"id": "v112", "ph": "4cd47646", "equity": 99616573, "ret": -0.38}, {"id": "v147", "ph": "2fbeeedb", "equity": 99606707, "ret": -0.39}, {"id": "v149", "ph": "c5329f8d", "equity": 99606707, "ret": -0.39}, {"id": "v151", "ph": "2eb1dd06", "equity": 99606707, "ret": -0.39}, {"id": "v2", "ph": "bab0fc2c", "equity": 99558474, "ret": -0.44}, {"id": "v3", "ph": "81d17cca", "equity": 99558474, "ret": -0.44}, {"id": "v4", "ph": "b6219595", "equity": 99558474, "ret": -0.44}, {"id": "v92", "ph": "14a13097", "equity": 99557044, "ret": -0.44}, {"id": "v200", "ph": "8bbb6ec7", "equity": 99487901, "ret": -0.51}, {"id": "v54", "ph": "b975742e", "equity": 99479817, "ret": -0.52}, {"id": "v58", "ph": "f1e52f55", "equity": 99479817, "ret": -0.52}, {"id": "v60", "ph": "52560b06", "equity": 99479817, "ret": -0.52}, {"id": "v100", "ph": "ffa9571a", "equity": 99479817, "ret": -0.52}, {"id": "v102", "ph": "e1601afe", "equity": 99479817, "ret": -0.52}, {"id": "v50", "ph": "690a50b5", "equity": 99473000, "ret": -0.53}, {"id": "v52", "ph": "c1939d0b", "equity": 99473000, "ret": -0.53}, {"id": "v82", "ph": "01847af6", "equity": 99473000, "ret": -0.53}, {"id": "v96", "ph": "095b119f", "equity": 99473000, "ret": -0.53}, {"id": "v117", "ph": "c4ae8a11", "equity": 99411094, "ret": -0.59}, {"id": "v119", "ph": "ed2208f1", "equity": 99411094, "ret": -0.59}, {"id": "v120", "ph": "d25ca8b0", "equity": 99411094, "ret": -0.59}, {"id": "v140", "ph": "52175b2b", "equity": 99411094, "ret": -0.59}, {"id": "v141", "ph": "47f30434", "equity": 99411094, "ret": -0.59}, {"id": "v196", "ph": "a44aeef1", "equity": 99406425, "ret": -0.59}, {"id": "v202", "ph": "a528b806", "equity": 99406425, "ret": -0.59}, {"id": "v212", "ph": "b9e1e8d1", "equity": 99406425, "ret": -0.59}, {"id": "v219", "ph": "426d3834", "equity": 99411094, "ret": -0.59}, {"id": "v220", "ph": "565c27a7", "equity": 99411094, "ret": -0.59}, {"id": "v225", "ph": "e9f40f62", "equity": 99411094, "ret": -0.59}, {"id": "v226", "ph": "98fd37a4", "equity": 99411094, "ret": -0.59}, {"id": "v231", "ph": "cd9469fa", "equity": 99411094, "ret": -0.59}, {"id": "v232", "ph": "6de1fffa", "equity": 99411094, "ret": -0.59}, {"id": "v237", "ph": "a10d68cf", "equity": 99411094, "ret": -0.59}, {"id": "v238", "ph": "f1a74611", "equity": 99411094, "ret": -0.59}, {"id": "v267", "ph": "766c47d7", "equity": 99411094, "ret": -0.59}, {"id": "v268", "ph": "9736502d", "equity": 99411094, "ret": -0.59}, {"id": "v273", "ph": "c726e8d5", "equity": 99411094, "ret": -0.59}, {"id": "v274", "ph": "62b011c8", "equity": 99411094, "ret": -0.59}, {"id": "v279", "ph": "37e203bb", "equity": 99411094, "ret": -0.59}, {"id": "v280", "ph": "60411037", "equity": 99411094, "ret": -0.59}, {"id": "v285", "ph": "962e35cd", "equity": 99411094, "ret": -0.59}, {"id": "v286", "ph": "4f6101e9", "equity": 99411094, "ret": -0.59}, {"id": "v303", "ph": "1a084164", "equity": 99410912, "ret": -0.59}, {"id": "v158", "ph": "7e56eae3", "equity": 99382788, "ret": -0.62}, {"id": "v160", "ph": "b03f5295", "equity": 99382788, "ret": -0.62}, {"id": "v190", "ph": "e14af339", "equity": 99382788, "ret": -0.62}, {"id": "v204", "ph": "434e2f7a", "equity": 99382788, "ret": -0.62}, {"id": "v134", "ph": "afbb4ab8", "equity": 99298764, "ret": -0.7}, {"id": "v137", "ph": "60ec806f", "equity": 99298764, "ret": -0.7}, {"id": "v142", "ph": "44fae695", "equity": 99298764, "ret": -0.7}, {"id": "v216", "ph": "ee298bd3", "equity": 99295527, "ret": -0.7}, {"id": "v38", "ph": "9b9083ae", "equity": 99223798, "ret": -0.78}, {"id": "v46", "ph": "7dc0e360", "equity": 99223798, "ret": -0.78}, {"id": "v56", "ph": "5d99704f", "equity": 99223798, "ret": -0.78}, {"id": "v221", "ph": "cd2eef94", "equity": 99186752, "ret": -0.81}, {"id": "v227", "ph": "9454b07a", "equity": 99186752, "ret": -0.81}, {"id": "v233", "ph": "941006e0", "equity": 99186752, "ret": -0.81}, {"id": "v239", "ph": "96e693c4", "equity": 99186752, "ret": -0.81}, {"id": "v269", "ph": "c0c861c4", "equity": 99186752, "ret": -0.81}, {"id": "v275", "ph": "3ebf0d91", "equity": 99186752, "ret": -0.81}, {"id": "v281", "ph": "7d9e5a9d", "equity": 99186752, "ret": -0.81}, {"id": "v287", "ph": "3bf14815", "equity": 99186752, "ret": -0.81}, {"id": "v144", "ph": "6ffe4183", "equity": 99068189, "ret": -0.93}, {"id": "v109", "ph": "4c69fc95", "equity": 99020588, "ret": -0.98}, {"id": "v113", "ph": "5b43d0bc", "equity": 99020588, "ret": -0.98}, {"id": "v118", "ph": "538b63b9", "equity": 99020588, "ret": -0.98}, {"id": "v162", "ph": "b8f71c74", "equity": 99024658, "ret": -0.98}, {"id": "v166", "ph": "f684401e", "equity": 99024658, "ret": -0.98}, {"id": "v168", "ph": "81099b26", "equity": 99024658, "ret": -0.98}, {"id": "v208", "ph": "445623de", "equity": 99024658, "ret": -0.98}, {"id": "v210", "ph": "6f533a9b", "equity": 99024658, "ret": -0.98}, {"id": "v222", "ph": "55de9eca", "equity": 99024658, "ret": -0.98}, {"id": "v228", "ph": "caa54387", "equity": 99024658, "ret": -0.98}, {"id": "v234", "ph": "9a289d18", "equity": 99024658, "ret": -0.98}, {"id": "v240", "ph": "db1869eb", "equity": 99024658, "ret": -0.98}, {"id": "v243", "ph": "fa7a545a", "equity": 99020588, "ret": -0.98}, {"id": "v244", "ph": "520c5a65", "equity": 99020588, "ret": -0.98}, {"id": "v249", "ph": "36a32ca0", "equity": 99020588, "ret": -0.98}, {"id": "v250", "ph": "b37976b8", "equity": 99020588, "ret": -0.98}, {"id": "v255", "ph": "92e3c5e0", "equity": 99020588, "ret": -0.98}, {"id": "v256", "ph": "e583f1dd", "equity": 99020588, "ret": -0.98}, {"id": "v261", "ph": "965786e6", "equity": 99020588, "ret": -0.98}, {"id": "v262", "ph": "e07faa54", "equity": 99020588, "ret": -0.98}, {"id": "v270", "ph": "1ce9fd2b", "equity": 99024658, "ret": -0.98}, {"id": "v276", "ph": "51425eab", "equity": 99024658, "ret": -0.98}, {"id": "v282", "ph": "9ddd111d", "equity": 99024658, "ret": -0.98}, {"id": "v288", "ph": "1c732194", "equity": 99024658, "ret": -0.98}, {"id": "v245", "ph": "ac84324f", "equity": 98570594, "ret": -1.43}, {"id": "v251", "ph": "8c5a06da", "equity": 98570594, "ret": -1.43}, {"id": "v257", "ph": "7fa33f5b", "equity": 98570594, "ret": -1.43}, {"id": "v263", "ph": "ca392811", "equity": 98570594, "ret": -1.43}, {"id": "v146", "ph": "071b9cb1", "equity": 98408500, "ret": -1.59}, {"id": "v154", "ph": "7a3a7788", "equity": 98408500, "ret": -1.59}, {"id": "v164", "ph": "331cec1f", "equity": 98408500, "ret": -1.59}, {"id": "v246", "ph": "618ddf71", "equity": 98408500, "ret": -1.59}, {"id": "v252", "ph": "381a65d1", "equity": 98408500, "ret": -1.59}, {"id": "v258", "ph": "0b19bb06", "equity": 98408500, "ret": -1.59}, {"id": "v264", "ph": "8c65e60d", "equity": 98408500, "ret": -1.59}, {"id": "v300", "ph": "c6ddc17b", "equity": 98414155, "ret": -1.59}, {"id": "v296", "ph": "4c554378", "equity": 98369185, "ret": -1.63}, {"id": "v298", "ph": "5d4bbec0", "equity": 97903330, "ret": -2.1}], "20260619": [{"id": "v81", "ph": "a6eac1e4", "equity": 100012103, "ret": 0.01}, {"id": "v91", "ph": "5674a3d7", "equity": 100012103, "ret": 0.01}, {"id": "v95", "ph": "7e28e756", "equity": 100012103, "ret": 0.01}, {"id": "v49", "ph": "cdba73e0", "equity": 99771263, "ret": -0.23}, {"id": "v51", "ph": "21a98e46", "equity": 99771263, "ret": -0.23}, {"id": "v99", "ph": "fb39409b", "equity": 99699720, "ret": -0.3}, {"id": "v101", "ph": "c4354346", "equity": 99699720, "ret": -0.3}, {"id": "v199", "ph": "390bfab3", "equity": 99699720, "ret": -0.3}, {"id": "v207", "ph": "0f6601a0", "equity": 99699720, "ret": -0.3}, {"id": "v209", "ph": "8730802d", "equity": 99699720, "ret": -0.3}, {"id": "v28", "ph": "28e87677", "equity": 99582892, "ret": -0.42}, {"id": "v32", "ph": "153055e6", "equity": 99539606, "ret": -0.46}, {"id": "v33", "ph": "97ad2410", "equity": 99539606, "ret": -0.46}, {"id": "v89", "ph": "c49d5680", "equity": 99535129, "ret": -0.46}, {"id": "v97", "ph": "ebf31977", "equity": 99535129, "ret": -0.46}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99539444, "ret": -0.46}, {"id": "v203", "ph": "2071defa", "equity": 99539444, "ret": -0.46}, {"id": "v302", "ph": "3f30502d", "equity": 99534056, "ret": -0.47}, {"id": "v9", "ph": "141268ab", "equity": 99523104, "ret": -0.48}, {"id": "v11", "ph": "e4bb2e3e", "equity": 99523104, "ret": -0.48}, {"id": "v12", "ph": "f166fb0e", "equity": 99523104, "ret": -0.48}, {"id": "v53", "ph": "2391ee16", "equity": 99523104, "ret": -0.48}, {"id": "v57", "ph": "e7e98b6d", "equity": 99523104, "ret": -0.48}, {"id": "v59", "ph": "1858e2ec", "equity": 99523104, "ret": -0.48}, {"id": "v161", "ph": "ed5677e6", "equity": 99523104, "ret": -0.48}, {"id": "v165", "ph": "8f862b27", "equity": 99523104, "ret": -0.48}, {"id": "v167", "ph": "b6d6aed8", "equity": 99523104, "ret": -0.48}, {"id": "v217", "ph": "4c547a61", "equity": 99511038, "ret": -0.49}, {"id": "v218", "ph": "7304d2d4", "equity": 99511038, "ret": -0.49}, {"id": "v23", "ph": "aec632b1", "equity": 99482492, "ret": -0.52}, {"id": "v30", "ph": "df71f475", "equity": 99482492, "ret": -0.52}, {"id": "v301", "ph": "30da2021", "equity": 99470408, "ret": -0.53}, {"id": "v7", "ph": "de835eae", "equity": 99459988, "ret": -0.54}, {"id": "v8", "ph": "18c6740b", "equity": 99459988, "ret": -0.54}, {"id": "v87", "ph": "c0be98c0", "equity": 99461390, "ret": -0.54}, {"id": "v93", "ph": "f10d4e45", "equity": 99461390, "ret": -0.54}, {"id": "v103", "ph": "75b0a37c", "equity": 99461390, "ret": -0.54}, {"id": "v195", "ph": "dd89cf59", "equity": 99461390, "ret": -0.54}, {"id": "v197", "ph": "5c290a32", "equity": 99461390, "ret": -0.54}, {"id": "v201", "ph": "cb8a413e", "equity": 99461390, "ret": -0.54}, {"id": "v205", "ph": "02e5a3f5", "equity": 99461390, "ret": -0.54}, {"id": "v211", "ph": "9227673c", "equity": 99461390, "ret": -0.54}, {"id": "v223", "ph": "b57356b8", "equity": 99438670, "ret": -0.56}, {"id": "v224", "ph": "888ab069", "equity": 99438670, "ret": -0.56}, {"id": "v229", "ph": "d9261dfb", "equity": 99438670, "ret": -0.56}, {"id": "v230", "ph": "141579fe", "equity": 99438670, "ret": -0.56}, {"id": "v235", "ph": "3e6c1666", "equity": 99438670, "ret": -0.56}, {"id": "v236", "ph": "f9c75560", "equity": 99438670, "ret": -0.56}, {"id": "v265", "ph": "7faed59d", "equity": 99438670, "ret": -0.56}, {"id": "v266", "ph": "c133b585", "equity": 99438670, "ret": -0.56}, {"id": "v271", "ph": "2b9ccdcd", "equity": 99438670, "ret": -0.56}, {"id": "v272", "ph": "2ed2027f", "equity": 99438670, "ret": -0.56}, {"id": "v277", "ph": "488b612a", "equity": 99438670, "ret": -0.56}, {"id": "v278", "ph": "861fb42b", "equity": 99438670, "ret": -0.56}, {"id": "v283", "ph": "479e4b25", "equity": 99438670, "ret": -0.56}, {"id": "v284", "ph": "261c5d58", "equity": 99438670, "ret": -0.56}, {"id": "v105", "ph": "88395429", "equity": 99433845, "ret": -0.57}, {"id": "v1", "ph": "4874f4c9", "equity": 99368847, "ret": -0.63}, {"id": "v5", "ph": "ec2eb05a", "equity": 99368847, "ret": -0.63}, {"id": "v10", "ph": "e48c1012", "equity": 99368847, "ret": -0.63}, {"id": "v37", "ph": "fb2247aa", "equity": 99368847, "ret": -0.63}, {"id": "v45", "ph": "964276a8", "equity": 99368847, "ret": -0.63}, {"id": "v55", "ph": "2c44de9b", "equity": 99368847, "ret": -0.63}, {"id": "v145", "ph": "a89d85fc", "equity": 99368847, "ret": -0.63}, {"id": "v153", "ph": "49fd09d9", "equity": 99368847, "ret": -0.63}, {"id": "v163", "ph": "452ab819", "equity": 99368847, "ret": -0.63}, {"id": "v136", "ph": "ceb32a66", "equity": 99344140, "ret": -0.66}, {"id": "v26", "ph": "2e5f3fac", "equity": 99301276, "ret": -0.7}, {"id": "v29", "ph": "e46149f5", "equity": 99301276, "ret": -0.7}, {"id": "v34", "ph": "d77f522d", "equity": 99301276, "ret": -0.7}, {"id": "v157", "ph": "80f3e23b", "equity": 99298604, "ret": -0.7}, {"id": "v159", "ph": "af80c67a", "equity": 99298604, "ret": -0.7}, {"id": "v241", "ph": "52162002", "equity": 99284413, "ret": -0.72}, {"id": "v242", "ph": "e6c70cac", "equity": 99284413, "ret": -0.72}, {"id": "v247", "ph": "ba973fa6", "equity": 99284413, "ret": -0.72}, {"id": "v248", "ph": "9ca5e3dc", "equity": 99284413, "ret": -0.72}, {"id": "v253", "ph": "87bd57d6", "equity": 99284413, "ret": -0.72}, {"id": "v254", "ph": "75e53118", "equity": 99284413, "ret": -0.72}, {"id": "v259", "ph": "178a1fe3", "equity": 99284413, "ret": -0.72}, {"id": "v260", "ph": "bab317db", "equity": 99284413, "ret": -0.72}, {"id": "v107", "ph": "be5cd36b", "equity": 99219401, "ret": -0.78}, {"id": "v213", "ph": "0e1d8e45", "equity": 99219401, "ret": -0.78}, {"id": "v215", "ph": "a904a49d", "equity": 99219401, "ret": -0.78}, {"id": "v47", "ph": "ed758fcf", "equity": 99193004, "ret": -0.81}, {"id": "v299", "ph": "25046b1a", "equity": 99138724, "ret": -0.86}, {"id": "v27", "ph": "33d43bc6", "equity": 99107373, "ret": -0.89}, {"id": "v31", "ph": "3dc99490", "equity": 99107373, "ret": -0.89}, {"id": "v135", "ph": "53f4c78c", "equity": 99105810, "ret": -0.89}, {"id": "v139", "ph": "cfbc79a5", "equity": 99105810, "ret": -0.89}, {"id": "v131", "ph": "5f8c7082", "equity": 99082573, "ret": -0.92}, {"id": "v138", "ph": "e3acb223", "equity": 99082573, "ret": -0.92}, {"id": "v115", "ph": "e1790a5a", "equity": 99060069, "ret": -0.94}, {"id": "v116", "ph": "e73fef98", "equity": 99060069, "ret": -0.94}, {"id": "v36", "ph": "feebff1a", "equity": 99001064, "ret": -1.0}, {"id": "v155", "ph": "31c0d84e", "equity": 98978560, "ret": -1.02}, {"id": "v92", "ph": "14a13097", "equity": 98940531, "ret": -1.06}, {"id": "v35", "ph": "6a183375", "equity": 98905688, "ret": -1.09}, {"id": "v88", "ph": "733579ce", "equity": 98898771, "ret": -1.1}, {"id": "v94", "ph": "3e5d6b8a", "equity": 98898771, "ret": -1.1}, {"id": "v100", "ph": "ffa9571a", "equity": 98896303, "ret": -1.1}, {"id": "v102", "ph": "e1601afe", "equity": 98896303, "ret": -1.1}, {"id": "v104", "ph": "013c3fde", "equity": 98898771, "ret": -1.1}, {"id": "v147", "ph": "2fbeeedb", "equity": 98885377, "ret": -1.11}, {"id": "v149", "ph": "c5329f8d", "equity": 98885377, "ret": -1.11}, {"id": "v151", "ph": "2eb1dd06", "equity": 98885377, "ret": -1.11}, {"id": "v6", "ph": "e96ce9e2", "equity": 98883184, "ret": -1.12}, {"id": "v54", "ph": "b975742e", "equity": 98879801, "ret": -1.12}, {"id": "v58", "ph": "f1e52f55", "equity": 98879801, "ret": -1.12}, {"id": "v60", "ph": "52560b06", "equity": 98879801, "ret": -1.12}, {"id": "v90", "ph": "86e09c47", "equity": 98830140, "ret": -1.17}, {"id": "v98", "ph": "266fc53f", "equity": 98830140, "ret": -1.17}, {"id": "v39", "ph": "11c27236", "equity": 98778663, "ret": -1.22}, {"id": "v41", "ph": "e9d84e84", "equity": 98778663, "ret": -1.22}, {"id": "v43", "ph": "94ea3b53", "equity": 98778663, "ret": -1.22}, {"id": "v143", "ph": "5cf8f13a", "equity": 98762492, "ret": -1.24}, {"id": "v114", "ph": "8686c36c", "equity": 98739989, "ret": -1.26}, {"id": "v198", "ph": "ffd1ee88", "equity": 98703305, "ret": -1.3}, {"id": "v200", "ph": "8bbb6ec7", "equity": 98700837, "ret": -1.3}, {"id": "v206", "ph": "16f62ab7", "equity": 98703305, "ret": -1.3}, {"id": "v82", "ph": "01847af6", "equity": 98682113, "ret": -1.32}, {"id": "v96", "ph": "095b119f", "equity": 98682113, "ret": -1.32}, {"id": "v50", "ph": "690a50b5", "equity": 98659610, "ret": -1.34}, {"id": "v52", "ph": "c1939d0b", "equity": 98659610, "ret": -1.34}, {"id": "v110", "ph": "8164d748", "equity": 98646805, "ret": -1.35}, {"id": "v111", "ph": "826e3d17", "equity": 98646805, "ret": -1.35}, {"id": "v112", "ph": "4cd47646", "equity": 98646805, "ret": -1.35}, {"id": "v106", "ph": "d0f5fbc1", "equity": 98511272, "ret": -1.49}, {"id": "v48", "ph": "18854c6a", "equity": 98488769, "ret": -1.51}, {"id": "v2", "ph": "bab0fc2c", "equity": 98468880, "ret": -1.53}, {"id": "v3", "ph": "81d17cca", "equity": 98468880, "ret": -1.53}, {"id": "v4", "ph": "b6219595", "equity": 98468880, "ret": -1.53}, {"id": "v108", "ph": "67a6679a", "equity": 98463181, "ret": -1.54}, {"id": "v140", "ph": "52175b2b", "equity": 98333401, "ret": -1.67}, {"id": "v141", "ph": "47f30434", "equity": 98333401, "ret": -1.67}, {"id": "v117", "ph": "c4ae8a11", "equity": 98316898, "ret": -1.68}, {"id": "v119", "ph": "ed2208f1", "equity": 98316898, "ret": -1.68}, {"id": "v120", "ph": "d25ca8b0", "equity": 98316898, "ret": -1.68}, {"id": "v190", "ph": "e14af339", "equity": 98281253, "ret": -1.72}, {"id": "v204", "ph": "434e2f7a", "equity": 98281253, "ret": -1.72}, {"id": "v38", "ph": "9b9083ae", "equity": 98256402, "ret": -1.74}, {"id": "v46", "ph": "7dc0e360", "equity": 98256402, "ret": -1.74}, {"id": "v56", "ph": "5d99704f", "equity": 98256402, "ret": -1.74}, {"id": "v158", "ph": "7e56eae3", "equity": 98258749, "ret": -1.74}, {"id": "v160", "ph": "b03f5295", "equity": 98258749, "ret": -1.74}, {"id": "v303", "ph": "1a084164", "equity": 98252307, "ret": -1.75}, {"id": "v40", "ph": "70731d89", "equity": 98226593, "ret": -1.77}, {"id": "v42", "ph": "f36fddc6", "equity": 98226593, "ret": -1.77}, {"id": "v44", "ph": "364ea434", "equity": 98226593, "ret": -1.77}, {"id": "v219", "ph": "426d3834", "equity": 98233635, "ret": -1.77}, {"id": "v220", "ph": "565c27a7", "equity": 98233635, "ret": -1.77}, {"id": "v225", "ph": "e9f40f62", "equity": 98233635, "ret": -1.77}, {"id": "v226", "ph": "98fd37a4", "equity": 98233635, "ret": -1.77}, {"id": "v231", "ph": "cd9469fa", "equity": 98233635, "ret": -1.77}, {"id": "v232", "ph": "6de1fffa", "equity": 98233635, "ret": -1.77}, {"id": "v237", "ph": "a10d68cf", "equity": 98233635, "ret": -1.77}, {"id": "v238", "ph": "f1a74611", "equity": 98233635, "ret": -1.77}, {"id": "v267", "ph": "766c47d7", "equity": 98233635, "ret": -1.77}, {"id": "v268", "ph": "9736502d", "equity": 98233635, "ret": -1.77}, {"id": "v273", "ph": "c726e8d5", "equity": 98233635, "ret": -1.77}, {"id": "v274", "ph": "62b011c8", "equity": 98233635, "ret": -1.77}, {"id": "v279", "ph": "37e203bb", "equity": 98233635, "ret": -1.77}, {"id": "v280", "ph": "60411037", "equity": 98233635, "ret": -1.77}, {"id": "v285", "ph": "962e35cd", "equity": 98233635, "ret": -1.77}, {"id": "v286", "ph": "4f6101e9", "equity": 98233635, "ret": -1.77}, {"id": "v214", "ph": "0fb624bf", "equity": 98224647, "ret": -1.78}, {"id": "v156", "ph": "3f7bcd1b", "equity": 98202143, "ret": -1.8}, {"id": "v148", "ph": "ada71802", "equity": 98105237, "ret": -1.89}, {"id": "v150", "ph": "be41b974", "equity": 98105237, "ret": -1.89}, {"id": "v152", "ph": "5d2df346", "equity": 98105237, "ret": -1.89}, {"id": "v134", "ph": "afbb4ab8", "equity": 98095071, "ret": -1.9}, {"id": "v137", "ph": "60ec806f", "equity": 98095071, "ret": -1.9}, {"id": "v142", "ph": "44fae695", "equity": 98095071, "ret": -1.9}, {"id": "v221", "ph": "cd2eef94", "equity": 97811265, "ret": -2.19}, {"id": "v227", "ph": "9454b07a", "equity": 97811265, "ret": -2.19}, {"id": "v233", "ph": "941006e0", "equity": 97811265, "ret": -2.19}, {"id": "v239", "ph": "96e693c4", "equity": 97811265, "ret": -2.19}, {"id": "v269", "ph": "c0c861c4", "equity": 97811265, "ret": -2.19}, {"id": "v275", "ph": "3ebf0d91", "equity": 97811265, "ret": -2.19}, {"id": "v281", "ph": "7d9e5a9d", "equity": 97811265, "ret": -2.19}, {"id": "v287", "ph": "3bf14815", "equity": 97811265, "ret": -2.19}, {"id": "v144", "ph": "6ffe4183", "equity": 97714288, "ret": -2.29}, {"id": "v196", "ph": "a44aeef1", "equity": 97692640, "ret": -2.31}, {"id": "v202", "ph": "a528b806", "equity": 97692640, "ret": -2.31}, {"id": "v208", "ph": "445623de", "equity": 97690172, "ret": -2.31}, {"id": "v210", "ph": "6f533a9b", "equity": 97690172, "ret": -2.31}, {"id": "v212", "ph": "b9e1e8d1", "equity": 97692640, "ret": -2.31}, {"id": "v162", "ph": "b8f71c74", "equity": 97673670, "ret": -2.33}, {"id": "v166", "ph": "f684401e", "equity": 97673670, "ret": -2.33}, {"id": "v168", "ph": "81099b26", "equity": 97673670, "ret": -2.33}, {"id": "v222", "ph": "55de9eca", "equity": 97649183, "ret": -2.35}, {"id": "v228", "ph": "caa54387", "equity": 97649183, "ret": -2.35}, {"id": "v234", "ph": "9a289d18", "equity": 97649183, "ret": -2.35}, {"id": "v240", "ph": "db1869eb", "equity": 97649183, "ret": -2.35}, {"id": "v270", "ph": "1ce9fd2b", "equity": 97649183, "ret": -2.35}, {"id": "v276", "ph": "51425eab", "equity": 97649183, "ret": -2.35}, {"id": "v282", "ph": "9ddd111d", "equity": 97649183, "ret": -2.35}, {"id": "v288", "ph": "1c732194", "equity": 97649183, "ret": -2.35}, {"id": "v109", "ph": "4c69fc95", "equity": 97333763, "ret": -2.67}, {"id": "v113", "ph": "5b43d0bc", "equity": 97333763, "ret": -2.67}, {"id": "v118", "ph": "538b63b9", "equity": 97333763, "ret": -2.67}, {"id": "v296", "ph": "4c554378", "equity": 97307249, "ret": -2.69}, {"id": "v243", "ph": "fa7a545a", "equity": 97250574, "ret": -2.75}, {"id": "v244", "ph": "520c5a65", "equity": 97250574, "ret": -2.75}, {"id": "v249", "ph": "36a32ca0", "equity": 97250574, "ret": -2.75}, {"id": "v250", "ph": "b37976b8", "equity": 97250574, "ret": -2.75}, {"id": "v255", "ph": "92e3c5e0", "equity": 97250574, "ret": -2.75}, {"id": "v256", "ph": "e583f1dd", "equity": 97250574, "ret": -2.75}, {"id": "v261", "ph": "965786e6", "equity": 97250574, "ret": -2.75}, {"id": "v262", "ph": "e07faa54", "equity": 97250574, "ret": -2.75}, {"id": "v216", "ph": "ee298bd3", "equity": 97177429, "ret": -2.82}, {"id": "v300", "ph": "c6ddc17b", "equity": 96771577, "ret": -3.23}, {"id": "v245", "ph": "ac84324f", "equity": 96386213, "ret": -3.61}, {"id": "v251", "ph": "8c5a06da", "equity": 96386213, "ret": -3.61}, {"id": "v257", "ph": "7fa33f5b", "equity": 96386213, "ret": -3.61}, {"id": "v263", "ph": "ca392811", "equity": 96386213, "ret": -3.61}, {"id": "v146", "ph": "071b9cb1", "equity": 96216557, "ret": -3.78}, {"id": "v154", "ph": "7a3a7788", "equity": 96216557, "ret": -3.78}, {"id": "v164", "ph": "331cec1f", "equity": 96216557, "ret": -3.78}, {"id": "v246", "ph": "618ddf71", "equity": 96224131, "ret": -3.78}, {"id": "v252", "ph": "381a65d1", "equity": 96224131, "ret": -3.78}, {"id": "v258", "ph": "0b19bb06", "equity": 96224131, "ret": -3.78}, {"id": "v264", "ph": "8c65e60d", "equity": 96224131, "ret": -3.78}, {"id": "v298", "ph": "5d4bbec0", "equity": 95473086, "ret": -4.53}], "20260622": [{"id": "v308", "ph": "cb12dd0b", "equity": 100110463, "ret": 0.11}, {"id": "v304", "ph": "96c7e8e1", "equity": 99999382, "ret": -0.0}, {"id": "v305", "ph": "8cc4eea6", "equity": 99999253, "ret": -0.0}, {"id": "v306", "ph": "6966b8f6", "equity": 100000000, "ret": 0.0}, {"id": "v307", "ph": "6abce93d", "equity": 100000000, "ret": 0.0}, {"id": "v313", "ph": "b9f4ee72", "equity": 100000000, "ret": 0.0}, {"id": "v314", "ph": "7511570e", "equity": 100000000, "ret": 0.0}, {"id": "v315", "ph": "e6d5b283", "equity": 100000000, "ret": 0.0}, {"id": "v316", "ph": "8dc1d197", "equity": 99999482, "ret": -0.0}, {"id": "v317", "ph": "51f8ee6d", "equity": 100000000, "ret": 0.0}, {"id": "v319", "ph": "ca25f043", "equity": 99999612, "ret": -0.0}, {"id": "v320", "ph": "48d6a9ef", "equity": 99999353, "ret": -0.0}, {"id": "v321", "ph": "e82de49b", "equity": 100000000, "ret": 0.0}, {"id": "v311", "ph": "8409c6e5", "equity": 99975492, "ret": -0.02}, {"id": "v81", "ph": "a6eac1e4", "equity": 99862143, "ret": -0.14}, {"id": "v91", "ph": "5674a3d7", "equity": 99862143, "ret": -0.14}, {"id": "v95", "ph": "7e28e756", "equity": 99862143, "ret": -0.14}, {"id": "v312", "ph": "4c23846f", "equity": 99850935, "ret": -0.15}, {"id": "v309", "ph": "07610040", "equity": 99839047, "ret": -0.16}, {"id": "v310", "ph": "ec9dd55c", "equity": 99823142, "ret": -0.18}, {"id": "v318", "ph": "c99872ef", "equity": 99752651, "ret": -0.25}, {"id": "v299", "ph": "25046b1a", "equity": 99624684, "ret": -0.38}, {"id": "v49", "ph": "cdba73e0", "equity": 99546303, "ret": -0.45}, {"id": "v51", "ph": "21a98e46", "equity": 99546303, "ret": -0.45}, {"id": "v40", "ph": "70731d89", "equity": 99480770, "ret": -0.52}, {"id": "v99", "ph": "fb39409b", "equity": 99432420, "ret": -0.57}, {"id": "v101", "ph": "c4354346", "equity": 99432420, "ret": -0.57}, {"id": "v199", "ph": "390bfab3", "equity": 99432420, "ret": -0.57}, {"id": "v207", "ph": "0f6601a0", "equity": 99432420, "ret": -0.57}, {"id": "v209", "ph": "8730802d", "equity": 99432420, "ret": -0.57}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99389944, "ret": -0.61}, {"id": "v203", "ph": "2071defa", "equity": 99389944, "ret": -0.61}, {"id": "v89", "ph": "c49d5680", "equity": 99365419, "ret": -0.63}, {"id": "v97", "ph": "ebf31977", "equity": 99365419, "ret": -0.63}, {"id": "v217", "ph": "4c547a61", "equity": 99338238, "ret": -0.66}, {"id": "v218", "ph": "7304d2d4", "equity": 99338238, "ret": -0.66}, {"id": "v87", "ph": "c0be98c0", "equity": 99330590, "ret": -0.67}, {"id": "v93", "ph": "f10d4e45", "equity": 99330590, "ret": -0.67}, {"id": "v103", "ph": "75b0a37c", "equity": 99330590, "ret": -0.67}, {"id": "v195", "ph": "dd89cf59", "equity": 99330590, "ret": -0.67}, {"id": "v197", "ph": "5c290a32", "equity": 99330590, "ret": -0.67}, {"id": "v201", "ph": "cb8a413e", "equity": 99330590, "ret": -0.67}, {"id": "v205", "ph": "02e5a3f5", "equity": 99330590, "ret": -0.67}, {"id": "v211", "ph": "9227673c", "equity": 99330590, "ret": -0.67}, {"id": "v105", "ph": "88395429", "equity": 99298435, "ret": -0.7}, {"id": "v223", "ph": "b57356b8", "equity": 99265870, "ret": -0.73}, {"id": "v224", "ph": "888ab069", "equity": 99265870, "ret": -0.73}, {"id": "v229", "ph": "d9261dfb", "equity": 99265870, "ret": -0.73}, {"id": "v230", "ph": "141579fe", "equity": 99265870, "ret": -0.73}, {"id": "v235", "ph": "3e6c1666", "equity": 99265870, "ret": -0.73}, {"id": "v236", "ph": "f9c75560", "equity": 99265870, "ret": -0.73}, {"id": "v265", "ph": "7faed59d", "equity": 99265870, "ret": -0.73}, {"id": "v266", "ph": "c133b585", "equity": 99265870, "ret": -0.73}, {"id": "v271", "ph": "2b9ccdcd", "equity": 99265870, "ret": -0.73}, {"id": "v272", "ph": "2ed2027f", "equity": 99265870, "ret": -0.73}, {"id": "v277", "ph": "488b612a", "equity": 99265870, "ret": -0.73}, {"id": "v278", "ph": "861fb42b", "equity": 99265870, "ret": -0.73}, {"id": "v283", "ph": "479e4b25", "equity": 99265870, "ret": -0.73}, {"id": "v284", "ph": "261c5d58", "equity": 99265870, "ret": -0.73}, {"id": "v107", "ph": "be5cd36b", "equity": 99253201, "ret": -0.75}, {"id": "v213", "ph": "0e1d8e45", "equity": 99253201, "ret": -0.75}, {"id": "v215", "ph": "a904a49d", "equity": 99253201, "ret": -0.75}, {"id": "v302", "ph": "3f30502d", "equity": 99230216, "ret": -0.77}, {"id": "v57", "ph": "e7e98b6d", "equity": 99200804, "ret": -0.8}, {"id": "v59", "ph": "1858e2ec", "equity": 99200804, "ret": -0.8}, {"id": "v161", "ph": "ed5677e6", "equity": 99200804, "ret": -0.8}, {"id": "v165", "ph": "8f862b27", "equity": 99200804, "ret": -0.8}, {"id": "v167", "ph": "b6d6aed8", "equity": 99200804, "ret": -0.8}, {"id": "v301", "ph": "30da2021", "equity": 99168468, "ret": -0.83}, {"id": "v157", "ph": "80f3e23b", "equity": 99074104, "ret": -0.93}, {"id": "v159", "ph": "af80c67a", "equity": 99074104, "ret": -0.93}, {"id": "v1", "ph": "4874f4c9", "equity": 98993647, "ret": -1.01}, {"id": "v47", "ph": "ed758fcf", "equity": 98982594, "ret": -1.02}, {"id": "v155", "ph": "31c0d84e", "equity": 98937360, "ret": -1.06}, {"id": "v147", "ph": "2fbeeedb", "equity": 98787077, "ret": -1.21}, {"id": "v149", "ph": "c5329f8d", "equity": 98787077, "ret": -1.21}, {"id": "v151", "ph": "2eb1dd06", "equity": 98787077, "ret": -1.21}, {"id": "v41", "ph": "e9d84e84", "equity": 98506853, "ret": -1.49}, {"id": "v4", "ph": "b6219595", "equity": 98047970, "ret": -1.95}, {"id": "v303", "ph": "1a084164", "equity": 97958407, "ret": -2.04}, {"id": "v300", "ph": "c6ddc17b", "equity": 97936863, "ret": -2.06}, {"id": "v296", "ph": "4c554378", "equity": 96948991, "ret": -3.05}, {"id": "v298", "ph": "5d4bbec0", "equity": 95566672, "ret": -4.43}], "20260623": [{"id": "v306", "ph": "6966b8f6", "equity": 100000000, "ret": 0.0}, {"id": "v307", "ph": "6abce93d", "equity": 100000000, "ret": 0.0}, {"id": "v313", "ph": "b9f4ee72", "equity": 100000000, "ret": 0.0}, {"id": "v314", "ph": "7511570e", "equity": 100000000, "ret": 0.0}, {"id": "v315", "ph": "e6d5b283", "equity": 100000000, "ret": 0.0}, {"id": "v317", "ph": "51f8ee6d", "equity": 100000000, "ret": 0.0}, {"id": "v321", "ph": "e82de49b", "equity": 100000000, "ret": 0.0}, {"id": "v81", "ph": "a6eac1e4", "equity": 99876259, "ret": -0.12}, {"id": "v91", "ph": "5674a3d7", "equity": 99876259, "ret": -0.12}, {"id": "v95", "ph": "7e28e756", "equity": 99876259, "ret": -0.12}, {"id": "v319", "ph": "ca25f043", "equity": 99660626, "ret": -0.34}, {"id": "v316", "ph": "8dc1d197", "equity": 99602340, "ret": -0.4}, {"id": "v304", "ph": "96c7e8e1", "equity": 99583541, "ret": -0.42}, {"id": "v320", "ph": "48d6a9ef", "equity": 99522538, "ret": -0.48}, {"id": "v308", "ph": "cb12dd0b", "equity": 99484063, "ret": -0.52}, {"id": "v305", "ph": "8cc4eea6", "equity": 99455619, "ret": -0.54}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99404017, "ret": -0.6}, {"id": "v203", "ph": "2071defa", "equity": 99404017, "ret": -0.6}, {"id": "v99", "ph": "fb39409b", "equity": 99365571, "ret": -0.63}, {"id": "v101", "ph": "c4354346", "equity": 99365571, "ret": -0.63}, {"id": "v199", "ph": "390bfab3", "equity": 99365571, "ret": -0.63}, {"id": "v207", "ph": "0f6601a0", "equity": 99365571, "ret": -0.63}, {"id": "v209", "ph": "8730802d", "equity": 99365571, "ret": -0.63}, {"id": "v49", "ph": "cdba73e0", "equity": 99355488, "ret": -0.64}, {"id": "v51", "ph": "21a98e46", "equity": 99355488, "ret": -0.64}, {"id": "v87", "ph": "c0be98c0", "equity": 99018741, "ret": -0.98}, {"id": "v93", "ph": "f10d4e45", "equity": 99018741, "ret": -0.98}, {"id": "v103", "ph": "75b0a37c", "equity": 99018741, "ret": -0.98}, {"id": "v195", "ph": "dd89cf59", "equity": 99018741, "ret": -0.98}, {"id": "v197", "ph": "5c290a32", "equity": 99018741, "ret": -0.98}, {"id": "v201", "ph": "cb8a413e", "equity": 99018741, "ret": -0.98}, {"id": "v205", "ph": "02e5a3f5", "equity": 99018741, "ret": -0.98}, {"id": "v211", "ph": "9227673c", "equity": 99018741, "ret": -0.98}, {"id": "v217", "ph": "4c547a61", "equity": 99002738, "ret": -1.0}, {"id": "v218", "ph": "7304d2d4", "equity": 99002738, "ret": -1.0}, {"id": "v223", "ph": "b57356b8", "equity": 98930370, "ret": -1.07}, {"id": "v224", "ph": "888ab069", "equity": 98930370, "ret": -1.07}, {"id": "v229", "ph": "d9261dfb", "equity": 98930370, "ret": -1.07}, {"id": "v230", "ph": "141579fe", "equity": 98930370, "ret": -1.07}, {"id": "v235", "ph": "3e6c1666", "equity": 98930370, "ret": -1.07}, {"id": "v236", "ph": "f9c75560", "equity": 98930370, "ret": -1.07}, {"id": "v265", "ph": "7faed59d", "equity": 98930370, "ret": -1.07}, {"id": "v266", "ph": "c133b585", "equity": 98930370, "ret": -1.07}, {"id": "v271", "ph": "2b9ccdcd", "equity": 98930370, "ret": -1.07}, {"id": "v272", "ph": "2ed2027f", "equity": 98930370, "ret": -1.07}, {"id": "v277", "ph": "488b612a", "equity": 98930370, "ret": -1.07}, {"id": "v278", "ph": "861fb42b", "equity": 98930370, "ret": -1.07}, {"id": "v283", "ph": "479e4b25", "equity": 98930370, "ret": -1.07}, {"id": "v284", "ph": "261c5d58", "equity": 98930370, "ret": -1.07}, {"id": "v57", "ph": "e7e98b6d", "equity": 98879376, "ret": -1.12}, {"id": "v59", "ph": "1858e2ec", "equity": 98879376, "ret": -1.12}, {"id": "v157", "ph": "80f3e23b", "equity": 98883246, "ret": -1.12}, {"id": "v159", "ph": "af80c67a", "equity": 98883246, "ret": -1.12}, {"id": "v161", "ph": "ed5677e6", "equity": 98879376, "ret": -1.12}, {"id": "v165", "ph": "8f862b27", "equity": 98879376, "ret": -1.12}, {"id": "v167", "ph": "b6d6aed8", "equity": 98879376, "ret": -1.12}, {"id": "v302", "ph": "3f30502d", "equity": 98829145, "ret": -1.17}, {"id": "v107", "ph": "be5cd36b", "equity": 98682584, "ret": -1.32}, {"id": "v213", "ph": "0e1d8e45", "equity": 98682584, "ret": -1.32}, {"id": "v215", "ph": "a904a49d", "equity": 98682584, "ret": -1.32}, {"id": "v89", "ph": "c49d5680", "equity": 98634536, "ret": -1.37}, {"id": "v97", "ph": "ebf31977", "equity": 98634536, "ret": -1.37}, {"id": "v318", "ph": "c99872ef", "equity": 98484983, "ret": -1.52}, {"id": "v105", "ph": "88395429", "equity": 98446363, "ret": -1.55}, {"id": "v310", "ph": "ec9dd55c", "equity": 98385145, "ret": -1.61}, {"id": "v301", "ph": "30da2021", "equity": 98256277, "ret": -1.74}, {"id": "v155", "ph": "31c0d84e", "equity": 98161814, "ret": -1.84}, {"id": "v1", "ph": "4874f4c9", "equity": 97995717, "ret": -2.0}, {"id": "v47", "ph": "ed758fcf", "equity": 97925592, "ret": -2.07}, {"id": "v311", "ph": "8409c6e5", "equity": 97922048, "ret": -2.08}, {"id": "v147", "ph": "2fbeeedb", "equity": 97833766, "ret": -2.17}, {"id": "v149", "ph": "c5329f8d", "equity": 97833766, "ret": -2.17}, {"id": "v151", "ph": "2eb1dd06", "equity": 97833766, "ret": -2.17}, {"id": "v303", "ph": "1a084164", "equity": 97432486, "ret": -2.57}, {"id": "v312", "ph": "4c23846f", "equity": 96768473, "ret": -3.23}, {"id": "v41", "ph": "e9d84e84", "equity": 96633673, "ret": -3.37}, {"id": "v309", "ph": "07610040", "equity": 96389485, "ret": -3.61}, {"id": "v4", "ph": "b6219595", "equity": 96036004, "ret": -3.96}, {"id": "v40", "ph": "70731d89", "equity": 95687271, "ret": -4.31}, {"id": "v296", "ph": "4c554378", "equity": 95071919, "ret": -4.93}, {"id": "v300", "ph": "c6ddc17b", "equity": 93918078, "ret": -6.08}, {"id": "v299", "ph": "25046b1a", "equity": 93683292, "ret": -6.32}, {"id": "v298", "ph": "5d4bbec0", "equity": 92518385, "ret": -7.48}], "20260624": [{"id": "v321", "ph": "e82de49b", "equity": 100085854, "ret": 0.09}, {"id": "v317", "ph": "51f8ee6d", "equity": 100060486, "ret": 0.06}, {"id": "v306", "ph": "6966b8f6", "equity": 100000522, "ret": 0.0}, {"id": "v315", "ph": "e6d5b283", "equity": 99883355, "ret": -0.12}, {"id": "v313", "ph": "b9f4ee72", "equity": 99826917, "ret": -0.17}, {"id": "v307", "ph": "6abce93d", "equity": 99802993, "ret": -0.2}, {"id": "v314", "ph": "7511570e", "equity": 99792429, "ret": -0.21}, {"id": "v91", "ph": "5674a3d7", "equity": 99663265, "ret": -0.34}, {"id": "v81", "ph": "a6eac1e4", "equity": 99636149, "ret": -0.36}, {"id": "v95", "ph": "7e28e756", "equity": 99636149, "ret": -0.36}, {"id": "v308", "ph": "cb12dd0b", "equity": 99546904, "ret": -0.45}, {"id": "v304", "ph": "96c7e8e1", "equity": 99355993, "ret": -0.64}, {"id": "v319", "ph": "ca25f043", "equity": 99288100, "ret": -0.71}, {"id": "v316", "ph": "8dc1d197", "equity": 99193213, "ret": -0.81}, {"id": "v305", "ph": "8cc4eea6", "equity": 99183211, "ret": -0.82}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99163907, "ret": -0.84}, {"id": "v203", "ph": "2071defa", "equity": 99163907, "ret": -0.84}, {"id": "v99", "ph": "fb39409b", "equity": 99152577, "ret": -0.85}, {"id": "v101", "ph": "c4354346", "equity": 99152577, "ret": -0.85}, {"id": "v199", "ph": "390bfab3", "equity": 99152577, "ret": -0.85}, {"id": "v207", "ph": "0f6601a0", "equity": 99152577, "ret": -0.85}, {"id": "v209", "ph": "8730802d", "equity": 99152577, "ret": -0.85}, {"id": "v49", "ph": "cdba73e0", "equity": 99115378, "ret": -0.88}, {"id": "v51", "ph": "21a98e46", "equity": 99115378, "ret": -0.88}, {"id": "v320", "ph": "48d6a9ef", "equity": 99096561, "ret": -0.9}, {"id": "v87", "ph": "c0be98c0", "equity": 99066109, "ret": -0.93}, {"id": "v93", "ph": "f10d4e45", "equity": 99066109, "ret": -0.93}, {"id": "v103", "ph": "75b0a37c", "equity": 99066109, "ret": -0.93}, {"id": "v197", "ph": "5c290a32", "equity": 99066109, "ret": -0.93}, {"id": "v205", "ph": "02e5a3f5", "equity": 99066109, "ret": -0.93}, {"id": "v195", "ph": "dd89cf59", "equity": 98899102, "ret": -1.1}, {"id": "v201", "ph": "cb8a413e", "equity": 98899102, "ret": -1.1}, {"id": "v211", "ph": "9227673c", "equity": 98899102, "ret": -1.1}, {"id": "v107", "ph": "be5cd36b", "equity": 98777904, "ret": -1.22}, {"id": "v213", "ph": "0e1d8e45", "equity": 98777904, "ret": -1.22}, {"id": "v57", "ph": "e7e98b6d", "equity": 98666382, "ret": -1.33}, {"id": "v59", "ph": "1858e2ec", "equity": 98666382, "ret": -1.33}, {"id": "v161", "ph": "ed5677e6", "equity": 98666382, "ret": -1.33}, {"id": "v165", "ph": "8f862b27", "equity": 98666382, "ret": -1.33}, {"id": "v167", "ph": "b6d6aed8", "equity": 98666382, "ret": -1.33}, {"id": "v217", "ph": "4c547a61", "equity": 98672158, "ret": -1.33}, {"id": "v218", "ph": "7304d2d4", "equity": 98672158, "ret": -1.33}, {"id": "v157", "ph": "80f3e23b", "equity": 98643136, "ret": -1.36}, {"id": "v159", "ph": "af80c67a", "equity": 98643136, "ret": -1.36}, {"id": "v89", "ph": "c49d5680", "equity": 98615759, "ret": -1.38}, {"id": "v97", "ph": "ebf31977", "equity": 98615759, "ret": -1.38}, {"id": "v105", "ph": "88395429", "equity": 98597406, "ret": -1.4}, {"id": "v223", "ph": "b57356b8", "equity": 98599790, "ret": -1.4}, {"id": "v224", "ph": "888ab069", "equity": 98599790, "ret": -1.4}, {"id": "v229", "ph": "d9261dfb", "equity": 98599790, "ret": -1.4}, {"id": "v230", "ph": "141579fe", "equity": 98599790, "ret": -1.4}, {"id": "v235", "ph": "3e6c1666", "equity": 98599790, "ret": -1.4}, {"id": "v236", "ph": "f9c75560", "equity": 98599790, "ret": -1.4}, {"id": "v265", "ph": "7faed59d", "equity": 98599790, "ret": -1.4}, {"id": "v266", "ph": "c133b585", "equity": 98599790, "ret": -1.4}, {"id": "v271", "ph": "2b9ccdcd", "equity": 98599790, "ret": -1.4}, {"id": "v272", "ph": "2ed2027f", "equity": 98599790, "ret": -1.4}, {"id": "v277", "ph": "488b612a", "equity": 98599790, "ret": -1.4}, {"id": "v278", "ph": "861fb42b", "equity": 98599790, "ret": -1.4}, {"id": "v283", "ph": "479e4b25", "equity": 98599790, "ret": -1.4}, {"id": "v284", "ph": "261c5d58", "equity": 98599790, "ret": -1.4}, {"id": "v215", "ph": "a904a49d", "equity": 98584893, "ret": -1.42}, {"id": "v302", "ph": "3f30502d", "equity": 98415182, "ret": -1.58}, {"id": "v155", "ph": "31c0d84e", "equity": 98262712, "ret": -1.74}, {"id": "v47", "ph": "ed758fcf", "equity": 98075491, "ret": -1.92}, {"id": "v318", "ph": "c99872ef", "equity": 98060011, "ret": -1.94}, {"id": "v147", "ph": "2fbeeedb", "equity": 97921225, "ret": -2.08}, {"id": "v149", "ph": "c5329f8d", "equity": 97921225, "ret": -2.08}, {"id": "v151", "ph": "2eb1dd06", "equity": 97921225, "ret": -2.08}, {"id": "v311", "ph": "8409c6e5", "equity": 97891655, "ret": -2.11}, {"id": "v301", "ph": "30da2021", "equity": 97750914, "ret": -2.25}, {"id": "v310", "ph": "ec9dd55c", "equity": 97639577, "ret": -2.36}, {"id": "v1", "ph": "4874f4c9", "equity": 97475814, "ret": -2.52}, {"id": "v303", "ph": "1a084164", "equity": 97118111, "ret": -2.88}, {"id": "v41", "ph": "e9d84e84", "equity": 96580621, "ret": -3.42}, {"id": "v4", "ph": "b6219595", "equity": 95980663, "ret": -4.02}, {"id": "v312", "ph": "4c23846f", "equity": 95969821, "ret": -4.03}, {"id": "v309", "ph": "07610040", "equity": 95955384, "ret": -4.04}, {"id": "v40", "ph": "70731d89", "equity": 95748230, "ret": -4.25}, {"id": "v296", "ph": "4c554378", "equity": 94163911, "ret": -5.84}, {"id": "v300", "ph": "c6ddc17b", "equity": 93696621, "ret": -6.3}, {"id": "v299", "ph": "25046b1a", "equity": 93194033, "ret": -6.81}, {"id": "v298", "ph": "5d4bbec0", "equity": 92404552, "ret": -7.6}], "20260625": [{"id": "v317", "ph": "51f8ee6d", "equity": 99993632, "ret": -0.01}, {"id": "v321", "ph": "e82de49b", "equity": 99982218, "ret": -0.02}, {"id": "v315", "ph": "e6d5b283", "equity": 99958954, "ret": -0.04}, {"id": "v306", "ph": "6966b8f6", "equity": 99920351, "ret": -0.08}, {"id": "v314", "ph": "7511570e", "equity": 99898729, "ret": -0.1}, {"id": "v313", "ph": "b9f4ee72", "equity": 99812686, "ret": -0.19}, {"id": "v81", "ph": "a6eac1e4", "equity": 99778449, "ret": -0.22}, {"id": "v91", "ph": "5674a3d7", "equity": 99775565, "ret": -0.22}, {"id": "v95", "ph": "7e28e756", "equity": 99778449, "ret": -0.22}, {"id": "v307", "ph": "6abce93d", "equity": 99783177, "ret": -0.22}, {"id": "v308", "ph": "cb12dd0b", "equity": 99549413, "ret": -0.45}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99326774, "ret": -0.67}, {"id": "v203", "ph": "2071defa", "equity": 99326774, "ret": -0.67}, {"id": "v199", "ph": "390bfab3", "equity": 99282766, "ret": -0.72}, {"id": "v207", "ph": "0f6601a0", "equity": 99282766, "ret": -0.72}, {"id": "v209", "ph": "8730802d", "equity": 99282766, "ret": -0.72}, {"id": "v49", "ph": "cdba73e0", "equity": 99257678, "ret": -0.74}, {"id": "v51", "ph": "21a98e46", "equity": 99257678, "ret": -0.74}, {"id": "v99", "ph": "fb39409b", "equity": 99264877, "ret": -0.74}, {"id": "v101", "ph": "c4354346", "equity": 99264877, "ret": -0.74}, {"id": "v319", "ph": "ca25f043", "equity": 99151697, "ret": -0.85}, {"id": "v304", "ph": "96c7e8e1", "equity": 99087927, "ret": -0.91}, {"id": "v316", "ph": "8dc1d197", "equity": 99064791, "ret": -0.94}, {"id": "v197", "ph": "5c290a32", "equity": 99022763, "ret": -0.98}, {"id": "v205", "ph": "02e5a3f5", "equity": 99022763, "ret": -0.98}, {"id": "v87", "ph": "c0be98c0", "equity": 99004874, "ret": -1.0}, {"id": "v93", "ph": "f10d4e45", "equity": 99004874, "ret": -1.0}, {"id": "v103", "ph": "75b0a37c", "equity": 99004874, "ret": -1.0}, {"id": "v320", "ph": "48d6a9ef", "equity": 98966439, "ret": -1.03}, {"id": "v305", "ph": "8cc4eea6", "equity": 98834032, "ret": -1.17}, {"id": "v157", "ph": "80f3e23b", "equity": 98805812, "ret": -1.19}, {"id": "v159", "ph": "af80c67a", "equity": 98805812, "ret": -1.19}, {"id": "v161", "ph": "ed5677e6", "equity": 98796476, "ret": -1.2}, {"id": "v165", "ph": "8f862b27", "equity": 98796476, "ret": -1.2}, {"id": "v167", "ph": "b6d6aed8", "equity": 98796476, "ret": -1.2}, {"id": "v195", "ph": "dd89cf59", "equity": 98801518, "ret": -1.2}, {"id": "v201", "ph": "cb8a413e", "equity": 98801518, "ret": -1.2}, {"id": "v211", "ph": "9227673c", "equity": 98801518, "ret": -1.2}, {"id": "v57", "ph": "e7e98b6d", "equity": 98778682, "ret": -1.22}, {"id": "v59", "ph": "1858e2ec", "equity": 98778682, "ret": -1.22}, {"id": "v89", "ph": "c49d5680", "equity": 98647719, "ret": -1.35}, {"id": "v97", "ph": "ebf31977", "equity": 98647719, "ret": -1.35}, {"id": "v302", "ph": "3f30502d", "equity": 98641582, "ret": -1.36}, {"id": "v217", "ph": "4c547a61", "equity": 98614246, "ret": -1.39}, {"id": "v218", "ph": "7304d2d4", "equity": 98614246, "ret": -1.39}, {"id": "v213", "ph": "0e1d8e45", "equity": 98585038, "ret": -1.41}, {"id": "v107", "ph": "be5cd36b", "equity": 98564470, "ret": -1.44}, {"id": "v223", "ph": "b57356b8", "equity": 98541878, "ret": -1.46}, {"id": "v224", "ph": "888ab069", "equity": 98541878, "ret": -1.46}, {"id": "v229", "ph": "d9261dfb", "equity": 98541878, "ret": -1.46}, {"id": "v230", "ph": "141579fe", "equity": 98541878, "ret": -1.46}, {"id": "v235", "ph": "3e6c1666", "equity": 98541878, "ret": -1.46}, {"id": "v236", "ph": "f9c75560", "equity": 98541878, "ret": -1.46}, {"id": "v265", "ph": "7faed59d", "equity": 98541878, "ret": -1.46}, {"id": "v266", "ph": "c133b585", "equity": 98541878, "ret": -1.46}, {"id": "v271", "ph": "2b9ccdcd", "equity": 98541878, "ret": -1.46}, {"id": "v272", "ph": "2ed2027f", "equity": 98541878, "ret": -1.46}, {"id": "v277", "ph": "488b612a", "equity": 98541878, "ret": -1.46}, {"id": "v278", "ph": "861fb42b", "equity": 98541878, "ret": -1.46}, {"id": "v283", "ph": "479e4b25", "equity": 98541878, "ret": -1.46}, {"id": "v284", "ph": "261c5d58", "equity": 98541878, "ret": -1.46}, {"id": "v318", "ph": "c99872ef", "equity": 98448234, "ret": -1.55}, {"id": "v105", "ph": "88395429", "equity": 98368172, "ret": -1.63}, {"id": "v215", "ph": "a904a49d", "equity": 98337789, "ret": -1.66}, {"id": "v155", "ph": "31c0d84e", "equity": 98064390, "ret": -1.94}, {"id": "v301", "ph": "30da2021", "equity": 97971314, "ret": -2.03}, {"id": "v310", "ph": "ec9dd55c", "equity": 97969177, "ret": -2.03}, {"id": "v47", "ph": "ed758fcf", "equity": 97846897, "ret": -2.15}, {"id": "v147", "ph": "2fbeeedb", "equity": 97810659, "ret": -2.19}, {"id": "v149", "ph": "c5329f8d", "equity": 97810659, "ret": -2.19}, {"id": "v151", "ph": "2eb1dd06", "equity": 97810659, "ret": -2.19}, {"id": "v1", "ph": "4874f4c9", "equity": 97699714, "ret": -2.3}, {"id": "v311", "ph": "8409c6e5", "equity": 97612070, "ret": -2.39}, {"id": "v40", "ph": "70731d89", "equity": 97128790, "ret": -2.87}, {"id": "v312", "ph": "4c23846f", "equity": 97086568, "ret": -2.91}, {"id": "v303", "ph": "1a084164", "equity": 97078943, "ret": -2.92}, {"id": "v41", "ph": "e9d84e84", "equity": 96647542, "ret": -3.35}, {"id": "v309", "ph": "07610040", "equity": 96637545, "ret": -3.36}, {"id": "v4", "ph": "b6219595", "equity": 96048864, "ret": -3.95}, {"id": "v296", "ph": "4c554378", "equity": 95720669, "ret": -4.28}, {"id": "v299", "ph": "25046b1a", "equity": 95394672, "ret": -4.61}, {"id": "v300", "ph": "c6ddc17b", "equity": 94713522, "ret": -5.29}, {"id": "v298", "ph": "5d4bbec0", "equity": 94020155, "ret": -5.98}], "20260626": [{"id": "v314", "ph": "7511570e", "equity": 99900880, "ret": -0.1}, {"id": "v315", "ph": "e6d5b283", "equity": 99816609, "ret": -0.18}, {"id": "v81", "ph": "a6eac1e4", "equity": 99807451, "ret": -0.19}, {"id": "v95", "ph": "7e28e756", "equity": 99807451, "ret": -0.19}, {"id": "v321", "ph": "e82de49b", "equity": 99813711, "ret": -0.19}, {"id": "v91", "ph": "5674a3d7", "equity": 99782191, "ret": -0.22}, {"id": "v313", "ph": "b9f4ee72", "equity": 99685397, "ret": -0.31}, {"id": "v307", "ph": "6abce93d", "equity": 99640613, "ret": -0.36}, {"id": "v306", "ph": "6966b8f6", "equity": 99583813, "ret": -0.42}, {"id": "v317", "ph": "51f8ee6d", "equity": 99551515, "ret": -0.45}, {"id": "v49", "ph": "cdba73e0", "equity": 99286680, "ret": -0.71}, {"id": "v51", "ph": "21a98e46", "equity": 99286680, "ret": -0.71}, {"id": "v308", "ph": "cb12dd0b", "equity": 99293485, "ret": -0.71}, {"id": "v99", "ph": "fb39409b", "equity": 99271503, "ret": -0.73}, {"id": "v101", "ph": "c4354346", "equity": 99271503, "ret": -0.73}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99108526, "ret": -0.89}, {"id": "v203", "ph": "2071defa", "equity": 99108526, "ret": -0.89}, {"id": "v199", "ph": "390bfab3", "equity": 99074342, "ret": -0.93}, {"id": "v207", "ph": "0f6601a0", "equity": 99074342, "ret": -0.93}, {"id": "v209", "ph": "8730802d", "equity": 99074342, "ret": -0.93}, {"id": "v87", "ph": "c0be98c0", "equity": 98896181, "ret": -1.1}, {"id": "v93", "ph": "f10d4e45", "equity": 98896181, "ret": -1.1}, {"id": "v103", "ph": "75b0a37c", "equity": 98896181, "ret": -1.1}, {"id": "v319", "ph": "ca25f043", "equity": 98901880, "ret": -1.1}, {"id": "v304", "ph": "96c7e8e1", "equity": 98807436, "ret": -1.19}, {"id": "v57", "ph": "e7e98b6d", "equity": 98785308, "ret": -1.21}, {"id": "v59", "ph": "1858e2ec", "equity": 98785308, "ret": -1.21}, {"id": "v316", "ph": "8dc1d197", "equity": 98720505, "ret": -1.28}, {"id": "v197", "ph": "5c290a32", "equity": 98699020, "ret": -1.3}, {"id": "v205", "ph": "02e5a3f5", "equity": 98699020, "ret": -1.3}, {"id": "v302", "ph": "3f30502d", "equity": 98665893, "ret": -1.33}, {"id": "v157", "ph": "80f3e23b", "equity": 98589864, "ret": -1.41}, {"id": "v159", "ph": "af80c67a", "equity": 98589864, "ret": -1.41}, {"id": "v161", "ph": "ed5677e6", "equity": 98589202, "ret": -1.41}, {"id": "v165", "ph": "8f862b27", "equity": 98589202, "ret": -1.41}, {"id": "v167", "ph": "b6d6aed8", "equity": 98589202, "ret": -1.41}, {"id": "v320", "ph": "48d6a9ef", "equity": 98583273, "ret": -1.42}, {"id": "v89", "ph": "c49d5680", "equity": 98542206, "ret": -1.46}, {"id": "v97", "ph": "ebf31977", "equity": 98542206, "ret": -1.46}, {"id": "v195", "ph": "dd89cf59", "equity": 98454369, "ret": -1.55}, {"id": "v201", "ph": "cb8a413e", "equity": 98454369, "ret": -1.55}, {"id": "v211", "ph": "9227673c", "equity": 98454369, "ret": -1.55}, {"id": "v305", "ph": "8cc4eea6", "equity": 98401081, "ret": -1.6}, {"id": "v217", "ph": "4c547a61", "equity": 98351778, "ret": -1.65}, {"id": "v218", "ph": "7304d2d4", "equity": 98351778, "ret": -1.65}, {"id": "v223", "ph": "b57356b8", "equity": 98279410, "ret": -1.72}, {"id": "v224", "ph": "888ab069", "equity": 98279410, "ret": -1.72}, {"id": "v229", "ph": "d9261dfb", "equity": 98279410, "ret": -1.72}, {"id": "v230", "ph": "141579fe", "equity": 98279410, "ret": -1.72}, {"id": "v235", "ph": "3e6c1666", "equity": 98279410, "ret": -1.72}, {"id": "v236", "ph": "f9c75560", "equity": 98279410, "ret": -1.72}, {"id": "v265", "ph": "7faed59d", "equity": 98279410, "ret": -1.72}, {"id": "v266", "ph": "c133b585", "equity": 98279410, "ret": -1.72}, {"id": "v271", "ph": "2b9ccdcd", "equity": 98279410, "ret": -1.72}, {"id": "v272", "ph": "2ed2027f", "equity": 98279410, "ret": -1.72}, {"id": "v277", "ph": "488b612a", "equity": 98279410, "ret": -1.72}, {"id": "v278", "ph": "861fb42b", "equity": 98279410, "ret": -1.72}, {"id": "v283", "ph": "479e4b25", "equity": 98279410, "ret": -1.72}, {"id": "v284", "ph": "261c5d58", "equity": 98279410, "ret": -1.72}, {"id": "v105", "ph": "88395429", "equity": 98222164, "ret": -1.78}, {"id": "v107", "ph": "be5cd36b", "equity": 98198994, "ret": -1.8}, {"id": "v301", "ph": "30da2021", "equity": 97988925, "ret": -2.01}, {"id": "v213", "ph": "0e1d8e45", "equity": 97972312, "ret": -2.03}, {"id": "v1", "ph": "4874f4c9", "equity": 97711838, "ret": -2.29}, {"id": "v47", "ph": "ed758fcf", "equity": 97704069, "ret": -2.3}, {"id": "v215", "ph": "a904a49d", "equity": 97701657, "ret": -2.3}, {"id": "v155", "ph": "31c0d84e", "equity": 97449295, "ret": -2.55}, {"id": "v318", "ph": "c99872ef", "equity": 97391096, "ret": -2.61}, {"id": "v147", "ph": "2fbeeedb", "equity": 97369471, "ret": -2.63}, {"id": "v149", "ph": "c5329f8d", "equity": 97369471, "ret": -2.63}, {"id": "v151", "ph": "2eb1dd06", "equity": 97369471, "ret": -2.63}, {"id": "v311", "ph": "8409c6e5", "equity": 96938905, "ret": -3.06}, {"id": "v303", "ph": "1a084164", "equity": 96838921, "ret": -3.16}, {"id": "v310", "ph": "ec9dd55c", "equity": 96814041, "ret": -3.19}, {"id": "v41", "ph": "e9d84e84", "equity": 96436419, "ret": -3.56}, {"id": "v40", "ph": "70731d89", "equity": 96034565, "ret": -3.97}, {"id": "v309", "ph": "07610040", "equity": 95970701, "ret": -4.03}, {"id": "v4", "ph": "b6219595", "equity": 95844101, "ret": -4.16}, {"id": "v312", "ph": "4c23846f", "equity": 94932436, "ret": -5.07}, {"id": "v296", "ph": "4c554378", "equity": 93944044, "ret": -6.06}, {"id": "v300", "ph": "c6ddc17b", "equity": 93694239, "ret": -6.31}, {"id": "v298", "ph": "5d4bbec0", "equity": 92024557, "ret": -7.98}, {"id": "v299", "ph": "25046b1a", "equity": 91806294, "ret": -8.19}], "20260629": [{"id": "v306", "ph": "6966b8f6", "equity": 100300459, "ret": 0.3}, {"id": "v321", "ph": "e82de49b", "equity": 100189547, "ret": 0.19}, {"id": "v308", "ph": "cb12dd0b", "equity": 99999961, "ret": -0.0}, {"id": "v314", "ph": "7511570e", "equity": 99813480, "ret": -0.19}, {"id": "v313", "ph": "b9f4ee72", "equity": 99730074, "ret": -0.27}, {"id": "v307", "ph": "6abce93d", "equity": 99697202, "ret": -0.3}, {"id": "v317", "ph": "51f8ee6d", "equity": 99696555, "ret": -0.3}, {"id": "v91", "ph": "5674a3d7", "equity": 99687191, "ret": -0.31}, {"id": "v81", "ph": "a6eac1e4", "equity": 99674451, "ret": -0.33}, {"id": "v95", "ph": "7e28e756", "equity": 99674451, "ret": -0.33}, {"id": "v315", "ph": "e6d5b283", "equity": 99654810, "ret": -0.35}, {"id": "v87", "ph": "c0be98c0", "equity": 99491935, "ret": -0.51}, {"id": "v93", "ph": "f10d4e45", "equity": 99491935, "ret": -0.51}, {"id": "v103", "ph": "75b0a37c", "equity": 99491935, "ret": -0.51}, {"id": "v197", "ph": "5c290a32", "equity": 99388275, "ret": -0.61}, {"id": "v205", "ph": "02e5a3f5", "equity": 99388275, "ret": -0.61}, {"id": "v99", "ph": "fb39409b", "equity": 99176503, "ret": -0.82}, {"id": "v101", "ph": "c4354346", "equity": 99176503, "ret": -0.82}, {"id": "v49", "ph": "cdba73e0", "equity": 99153680, "ret": -0.85}, {"id": "v51", "ph": "21a98e46", "equity": 99153680, "ret": -0.85}, {"id": "v195", "ph": "dd89cf59", "equity": 99143624, "ret": -0.86}, {"id": "v201", "ph": "cb8a413e", "equity": 99143624, "ret": -0.86}, {"id": "v211", "ph": "9227673c", "equity": 99143624, "ret": -0.86}, {"id": "v89", "ph": "c49d5680", "equity": 99133820, "ret": -0.87}, {"id": "v97", "ph": "ebf31977", "equity": 99133820, "ret": -0.87}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99083026, "ret": -0.92}, {"id": "v203", "ph": "2071defa", "equity": 99083026, "ret": -0.92}, {"id": "v199", "ph": "390bfab3", "equity": 99072842, "ret": -0.93}, {"id": "v207", "ph": "0f6601a0", "equity": 99072842, "ret": -0.93}, {"id": "v209", "ph": "8730802d", "equity": 99072842, "ret": -0.93}, {"id": "v319", "ph": "ca25f043", "equity": 99052498, "ret": -0.95}, {"id": "v105", "ph": "88395429", "equity": 99012940, "ret": -0.99}, {"id": "v107", "ph": "be5cd36b", "equity": 98985970, "ret": -1.01}, {"id": "v316", "ph": "8dc1d197", "equity": 98925942, "ret": -1.07}, {"id": "v304", "ph": "96c7e8e1", "equity": 98923153, "ret": -1.08}, {"id": "v213", "ph": "0e1d8e45", "equity": 98866788, "ret": -1.13}, {"id": "v320", "ph": "48d6a9ef", "equity": 98801732, "ret": -1.2}, {"id": "v305", "ph": "8cc4eea6", "equity": 98794030, "ret": -1.21}, {"id": "v57", "ph": "e7e98b6d", "equity": 98690308, "ret": -1.31}, {"id": "v59", "ph": "1858e2ec", "equity": 98690308, "ret": -1.31}, {"id": "v147", "ph": "2fbeeedb", "equity": 98693892, "ret": -1.31}, {"id": "v149", "ph": "c5329f8d", "equity": 98693892, "ret": -1.31}, {"id": "v151", "ph": "2eb1dd06", "equity": 98693892, "ret": -1.31}, {"id": "v215", "ph": "a904a49d", "equity": 98596133, "ret": -1.4}, {"id": "v161", "ph": "ed5677e6", "equity": 98587202, "ret": -1.41}, {"id": "v165", "ph": "8f862b27", "equity": 98587202, "ret": -1.41}, {"id": "v167", "ph": "b6d6aed8", "equity": 98587202, "ret": -1.41}, {"id": "v157", "ph": "80f3e23b", "equity": 98563364, "ret": -1.44}, {"id": "v159", "ph": "af80c67a", "equity": 98563364, "ret": -1.44}, {"id": "v302", "ph": "3f30502d", "equity": 98543843, "ret": -1.46}, {"id": "v47", "ph": "ed758fcf", "equity": 98490705, "ret": -1.51}, {"id": "v217", "ph": "4c547a61", "equity": 98406867, "ret": -1.59}, {"id": "v218", "ph": "7304d2d4", "equity": 98406867, "ret": -1.59}, {"id": "v155", "ph": "31c0d84e", "equity": 98342931, "ret": -1.66}, {"id": "v223", "ph": "b57356b8", "equity": 98334499, "ret": -1.67}, {"id": "v224", "ph": "888ab069", "equity": 98334499, "ret": -1.67}, {"id": "v229", "ph": "d9261dfb", "equity": 98334499, "ret": -1.67}, {"id": "v230", "ph": "141579fe", "equity": 98334499, "ret": -1.67}, {"id": "v235", "ph": "3e6c1666", "equity": 98334499, "ret": -1.67}, {"id": "v236", "ph": "f9c75560", "equity": 98334499, "ret": -1.67}, {"id": "v265", "ph": "7faed59d", "equity": 98334499, "ret": -1.67}, {"id": "v266", "ph": "c133b585", "equity": 98334499, "ret": -1.67}, {"id": "v271", "ph": "2b9ccdcd", "equity": 98334499, "ret": -1.67}, {"id": "v272", "ph": "2ed2027f", "equity": 98334499, "ret": -1.67}, {"id": "v277", "ph": "488b612a", "equity": 98334499, "ret": -1.67}, {"id": "v278", "ph": "861fb42b", "equity": 98334499, "ret": -1.67}, {"id": "v283", "ph": "479e4b25", "equity": 98334499, "ret": -1.67}, {"id": "v284", "ph": "261c5d58", "equity": 98334499, "ret": -1.67}, {"id": "v301", "ph": "30da2021", "equity": 97870675, "ret": -2.13}, {"id": "v41", "ph": "e9d84e84", "equity": 97642337, "ret": -2.36}, {"id": "v1", "ph": "4874f4c9", "equity": 97618226, "ret": -2.38}, {"id": "v4", "ph": "b6219595", "equity": 97133478, "ret": -2.87}, {"id": "v40", "ph": "70731d89", "equity": 97128027, "ret": -2.87}, {"id": "v303", "ph": "1a084164", "equity": 96941008, "ret": -3.06}, {"id": "v310", "ph": "ec9dd55c", "equity": 96874396, "ret": -3.13}, {"id": "v318", "ph": "c99872ef", "equity": 96778920, "ret": -3.22}, {"id": "v311", "ph": "8409c6e5", "equity": 96345178, "ret": -3.65}, {"id": "v309", "ph": "07610040", "equity": 95447771, "ret": -4.55}, {"id": "v300", "ph": "c6ddc17b", "equity": 94255949, "ret": -5.74}, {"id": "v296", "ph": "4c554378", "equity": 93871964, "ret": -6.13}, {"id": "v312", "ph": "4c23846f", "equity": 93604983, "ret": -6.4}, {"id": "v298", "ph": "5d4bbec0", "equity": 91385783, "ret": -8.61}, {"id": "v299", "ph": "25046b1a", "equity": 91015801, "ret": -8.98}], "20260630": [{"id": "v308", "ph": "cb12dd0b", "equity": 102469206, "ret": 2.47}, {"id": "v147", "ph": "2fbeeedb", "equity": 102192163, "ret": 2.19}, {"id": "v149", "ph": "c5329f8d", "equity": 102192163, "ret": 2.19}, {"id": "v151", "ph": "2eb1dd06", "equity": 102192163, "ret": 2.19}, {"id": "v306", "ph": "6966b8f6", "equity": 102132719, "ret": 2.13}, {"id": "v40", "ph": "70731d89", "equity": 101679673, "ret": 1.68}, {"id": "v321", "ph": "e82de49b", "equity": 101535047, "ret": 1.54}, {"id": "v41", "ph": "e9d84e84", "equity": 101160969, "ret": 1.16}, {"id": "v105", "ph": "88395429", "equity": 101130434, "ret": 1.13}, {"id": "v107", "ph": "be5cd36b", "equity": 101112564, "ret": 1.11}, {"id": "v87", "ph": "c0be98c0", "equity": 101073595, "ret": 1.07}, {"id": "v93", "ph": "f10d4e45", "equity": 101073595, "ret": 1.07}, {"id": "v103", "ph": "75b0a37c", "equity": 101073595, "ret": 1.07}, {"id": "v47", "ph": "ed758fcf", "equity": 100911006, "ret": 0.91}, {"id": "v4", "ph": "b6219595", "equity": 100843214, "ret": 0.84}, {"id": "v197", "ph": "5c290a32", "equity": 100829685, "ret": 0.83}, {"id": "v205", "ph": "02e5a3f5", "equity": 100829685, "ret": 0.83}, {"id": "v213", "ph": "0e1d8e45", "equity": 100832132, "ret": 0.83}, {"id": "v89", "ph": "c49d5680", "equity": 100713689, "ret": 0.71}, {"id": "v97", "ph": "ebf31977", "equity": 100713689, "ret": 0.71}, {"id": "v155", "ph": "31c0d84e", "equity": 100602732, "ret": 0.6}, {"id": "v195", "ph": "dd89cf59", "equity": 100586342, "ret": 0.59}, {"id": "v201", "ph": "cb8a413e", "equity": 100586342, "ret": 0.59}, {"id": "v211", "ph": "9227673c", "equity": 100586342, "ret": 0.59}, {"id": "v215", "ph": "a904a49d", "equity": 100561477, "ret": 0.56}, {"id": "v317", "ph": "51f8ee6d", "equity": 100498339, "ret": 0.5}, {"id": "v315", "ph": "e6d5b283", "equity": 100458935, "ret": 0.46}, {"id": "v314", "ph": "7511570e", "equity": 100173078, "ret": 0.17}, {"id": "v81", "ph": "a6eac1e4", "equity": 99935386, "ret": -0.06}, {"id": "v95", "ph": "7e28e756", "equity": 99935386, "ret": -0.06}, {"id": "v91", "ph": "5674a3d7", "equity": 99861051, "ret": -0.14}, {"id": "v307", "ph": "6abce93d", "equity": 99777709, "ret": -0.22}, {"id": "v305", "ph": "8cc4eea6", "equity": 99743065, "ret": -0.26}, {"id": "v313", "ph": "b9f4ee72", "equity": 99742527, "ret": -0.26}, {"id": "v49", "ph": "cdba73e0", "equity": 99721831, "ret": -0.28}, {"id": "v51", "ph": "21a98e46", "equity": 99721831, "ret": -0.28}, {"id": "v316", "ph": "8dc1d197", "equity": 99373992, "ret": -0.63}, {"id": "v302", "ph": "3f30502d", "equity": 99359071, "ret": -0.64}, {"id": "v99", "ph": "fb39409b", "equity": 99351671, "ret": -0.65}, {"id": "v101", "ph": "c4354346", "equity": 99351671, "ret": -0.65}, {"id": "v304", "ph": "96c7e8e1", "equity": 99275158, "ret": -0.72}, {"id": "v320", "ph": "48d6a9ef", "equity": 99264932, "ret": -0.74}, {"id": "v319", "ph": "ca25f043", "equity": 99228748, "ret": -0.77}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99184020, "ret": -0.82}, {"id": "v203", "ph": "2071defa", "equity": 99184020, "ret": -0.82}, {"id": "v199", "ph": "390bfab3", "equity": 99107760, "ret": -0.89}, {"id": "v207", "ph": "0f6601a0", "equity": 99107760, "ret": -0.89}, {"id": "v209", "ph": "8730802d", "equity": 99107760, "ret": -0.89}, {"id": "v57", "ph": "e7e98b6d", "equity": 99089809, "ret": -0.91}, {"id": "v59", "ph": "1858e2ec", "equity": 99089809, "ret": -0.91}, {"id": "v157", "ph": "80f3e23b", "equity": 98971766, "ret": -1.03}, {"id": "v159", "ph": "af80c67a", "equity": 98971766, "ret": -1.03}, {"id": "v161", "ph": "ed5677e6", "equity": 98847202, "ret": -1.15}, {"id": "v165", "ph": "8f862b27", "equity": 98847202, "ret": -1.15}, {"id": "v167", "ph": "b6d6aed8", "equity": 98847202, "ret": -1.15}, {"id": "v311", "ph": "8409c6e5", "equity": 98788881, "ret": -1.21}, {"id": "v301", "ph": "30da2021", "equity": 98678112, "ret": -1.32}, {"id": "v1", "ph": "4874f4c9", "equity": 98537662, "ret": -1.46}, {"id": "v217", "ph": "4c547a61", "equity": 98541610, "ret": -1.46}, {"id": "v218", "ph": "7304d2d4", "equity": 98541610, "ret": -1.46}, {"id": "v309", "ph": "07610040", "equity": 98525429, "ret": -1.47}, {"id": "v310", "ph": "ec9dd55c", "equity": 98512835, "ret": -1.49}, {"id": "v223", "ph": "b57356b8", "equity": 98469242, "ret": -1.53}, {"id": "v224", "ph": "888ab069", "equity": 98469242, "ret": -1.53}, {"id": "v229", "ph": "d9261dfb", "equity": 98469242, "ret": -1.53}, {"id": "v230", "ph": "141579fe", "equity": 98469242, "ret": -1.53}, {"id": "v235", "ph": "3e6c1666", "equity": 98469242, "ret": -1.53}, {"id": "v236", "ph": "f9c75560", "equity": 98469242, "ret": -1.53}, {"id": "v265", "ph": "7faed59d", "equity": 98469242, "ret": -1.53}, {"id": "v266", "ph": "c133b585", "equity": 98469242, "ret": -1.53}, {"id": "v271", "ph": "2b9ccdcd", "equity": 98469242, "ret": -1.53}, {"id": "v272", "ph": "2ed2027f", "equity": 98469242, "ret": -1.53}, {"id": "v277", "ph": "488b612a", "equity": 98469242, "ret": -1.53}, {"id": "v278", "ph": "861fb42b", "equity": 98469242, "ret": -1.53}, {"id": "v283", "ph": "479e4b25", "equity": 98469242, "ret": -1.53}, {"id": "v284", "ph": "261c5d58", "equity": 98469242, "ret": -1.53}, {"id": "v318", "ph": "c99872ef", "equity": 97999020, "ret": -2.0}, {"id": "v303", "ph": "1a084164", "equity": 97258359, "ret": -2.74}, {"id": "v300", "ph": "c6ddc17b", "equity": 96532942, "ret": -3.47}, {"id": "v312", "ph": "4c23846f", "equity": 96196017, "ret": -3.8}, {"id": "v298", "ph": "5d4bbec0", "equity": 94827463, "ret": -5.17}, {"id": "v296", "ph": "4c554378", "equity": 94813548, "ret": -5.19}, {"id": "v299", "ph": "25046b1a", "equity": 93333201, "ret": -6.67}], "20260701": [{"id": "v308", "ph": "cb12dd0b", "equity": 101360932, "ret": 1.36}, {"id": "v306", "ph": "6966b8f6", "equity": 101023539, "ret": 1.02}, {"id": "v321", "ph": "e82de49b", "equity": 100836847, "ret": 0.84}, {"id": "v315", "ph": "e6d5b283", "equity": 100570300, "ret": 0.57}, {"id": "v314", "ph": "7511570e", "equity": 100059178, "ret": 0.06}, {"id": "v87", "ph": "c0be98c0", "equity": 99918552, "ret": -0.08}, {"id": "v93", "ph": "f10d4e45", "equity": 99918552, "ret": -0.08}, {"id": "v103", "ph": "75b0a37c", "equity": 99860630, "ret": -0.14}, {"id": "v317", "ph": "51f8ee6d", "equity": 99859195, "ret": -0.14}, {"id": "v81", "ph": "a6eac1e4", "equity": 99804200, "ret": -0.2}, {"id": "v95", "ph": "7e28e756", "equity": 99804200, "ret": -0.2}, {"id": "v91", "ph": "5674a3d7", "equity": 99732447, "ret": -0.27}, {"id": "v147", "ph": "2fbeeedb", "equity": 99693486, "ret": -0.31}, {"id": "v151", "ph": "2eb1dd06", "equity": 99693486, "ret": -0.31}, {"id": "v49", "ph": "cdba73e0", "equity": 99613131, "ret": -0.39}, {"id": "v51", "ph": "21a98e46", "equity": 99613131, "ret": -0.39}, {"id": "v197", "ph": "5c290a32", "equity": 99601051, "ret": -0.4}, {"id": "v149", "ph": "c5329f8d", "equity": 99575229, "ret": -0.42}, {"id": "v89", "ph": "c49d5680", "equity": 99567185, "ret": -0.43}, {"id": "v105", "ph": "88395429", "equity": 99565829, "ret": -0.43}, {"id": "v107", "ph": "be5cd36b", "equity": 99546459, "ret": -0.45}, {"id": "v205", "ph": "02e5a3f5", "equity": 99543130, "ret": -0.46}, {"id": "v97", "ph": "ebf31977", "equity": 99509263, "ret": -0.49}, {"id": "v195", "ph": "dd89cf59", "equity": 99462748, "ret": -0.54}, {"id": "v201", "ph": "cb8a413e", "equity": 99462748, "ret": -0.54}, {"id": "v211", "ph": "9227673c", "equity": 99404827, "ret": -0.6}, {"id": "v47", "ph": "ed758fcf", "equity": 99370627, "ret": -0.63}, {"id": "v99", "ph": "fb39409b", "equity": 99226467, "ret": -0.77}, {"id": "v101", "ph": "c4354346", "equity": 99226467, "ret": -0.77}, {"id": "v213", "ph": "0e1d8e45", "equity": 99196638, "ret": -0.8}, {"id": "v302", "ph": "3f30502d", "equity": 99089671, "ret": -0.91}, {"id": "v40", "ph": "70731d89", "equity": 99078373, "ret": -0.92}, {"id": "v313", "ph": "b9f4ee72", "equity": 99063825, "ret": -0.94}, {"id": "v215", "ph": "a904a49d", "equity": 99027622, "ret": -0.97}, {"id": "v207", "ph": "0f6601a0", "equity": 99015662, "ret": -0.98}, {"id": "v209", "ph": "8730802d", "equity": 99015662, "ret": -0.98}, {"id": "v155", "ph": "31c0d84e", "equity": 98992814, "ret": -1.01}, {"id": "v189", "ph": "dfdbd0c8", "equity": 98988762, "ret": -1.01}, {"id": "v203", "ph": "2071defa", "equity": 98988762, "ret": -1.01}, {"id": "v57", "ph": "e7e98b6d", "equity": 98982309, "ret": -1.02}, {"id": "v59", "ph": "1858e2ec", "equity": 98982309, "ret": -1.02}, {"id": "v199", "ph": "390bfab3", "equity": 98915940, "ret": -1.08}, {"id": "v307", "ph": "6abce93d", "equity": 98890484, "ret": -1.11}, {"id": "v319", "ph": "ca25f043", "equity": 98830572, "ret": -1.17}, {"id": "v157", "ph": "80f3e23b", "equity": 98795294, "ret": -1.2}, {"id": "v159", "ph": "af80c67a", "equity": 98795294, "ret": -1.2}, {"id": "v161", "ph": "ed5677e6", "equity": 98767602, "ret": -1.23}, {"id": "v165", "ph": "8f862b27", "equity": 98767602, "ret": -1.23}, {"id": "v167", "ph": "b6d6aed8", "equity": 98767602, "ret": -1.23}, {"id": "v316", "ph": "8dc1d197", "equity": 98752327, "ret": -1.25}, {"id": "v41", "ph": "e9d84e84", "equity": 98699639, "ret": -1.3}, {"id": "v305", "ph": "8cc4eea6", "equity": 98581531, "ret": -1.42}, {"id": "v304", "ph": "96c7e8e1", "equity": 98559814, "ret": -1.44}, {"id": "v320", "ph": "48d6a9ef", "equity": 98556948, "ret": -1.44}, {"id": "v4", "ph": "b6219595", "equity": 98505594, "ret": -1.49}, {"id": "v301", "ph": "30da2021", "equity": 98413612, "ret": -1.59}, {"id": "v1", "ph": "4874f4c9", "equity": 98294162, "ret": -1.71}, {"id": "v310", "ph": "ec9dd55c", "equity": 97841463, "ret": -2.16}, {"id": "v217", "ph": "4c547a61", "equity": 97681778, "ret": -2.32}, {"id": "v218", "ph": "7304d2d4", "equity": 97681778, "ret": -2.32}, {"id": "v223", "ph": "b57356b8", "equity": 97609410, "ret": -2.39}, {"id": "v224", "ph": "888ab069", "equity": 97609410, "ret": -2.39}, {"id": "v229", "ph": "d9261dfb", "equity": 97609410, "ret": -2.39}, {"id": "v230", "ph": "141579fe", "equity": 97609410, "ret": -2.39}, {"id": "v235", "ph": "3e6c1666", "equity": 97609410, "ret": -2.39}, {"id": "v236", "ph": "f9c75560", "equity": 97609410, "ret": -2.39}, {"id": "v265", "ph": "7faed59d", "equity": 97609410, "ret": -2.39}, {"id": "v266", "ph": "c133b585", "equity": 97609410, "ret": -2.39}, {"id": "v271", "ph": "2b9ccdcd", "equity": 97609410, "ret": -2.39}, {"id": "v272", "ph": "2ed2027f", "equity": 97609410, "ret": -2.39}, {"id": "v277", "ph": "488b612a", "equity": 97609410, "ret": -2.39}, {"id": "v278", "ph": "861fb42b", "equity": 97609410, "ret": -2.39}, {"id": "v283", "ph": "479e4b25", "equity": 97609410, "ret": -2.39}, {"id": "v284", "ph": "261c5d58", "equity": 97609410, "ret": -2.39}, {"id": "v309", "ph": "07610040", "equity": 97561429, "ret": -2.44}, {"id": "v311", "ph": "8409c6e5", "equity": 97339411, "ret": -2.66}, {"id": "v318", "ph": "c99872ef", "equity": 96866665, "ret": -3.13}, {"id": "v303", "ph": "1a084164", "equity": 96567001, "ret": -3.43}, {"id": "v312", "ph": "4c23846f", "equity": 94754537, "ret": -5.25}, {"id": "v300", "ph": "c6ddc17b", "equity": 93711266, "ret": -6.29}, {"id": "v296", "ph": "4c554378", "equity": 93238208, "ret": -6.76}, {"id": "v298", "ph": "5d4bbec0", "equity": 91885138, "ret": -8.11}, {"id": "v299", "ph": "25046b1a", "equity": 90740541, "ret": -9.26}], "20260702": [{"id": "v321", "ph": "e82de49b", "equity": 98791447, "ret": -1.21}, {"id": "v319", "ph": "ca25f043", "equity": 98585872, "ret": -1.41}, {"id": "v313", "ph": "b9f4ee72", "equity": 98254344, "ret": -1.75}, {"id": "v317", "ph": "51f8ee6d", "equity": 98083547, "ret": -1.92}, {"id": "v316", "ph": "8dc1d197", "equity": 97958697, "ret": -2.04}, {"id": "v306", "ph": "6966b8f6", "equity": 97799665, "ret": -2.2}, {"id": "v320", "ph": "48d6a9ef", "equity": 97726108, "ret": -2.27}, {"id": "v314", "ph": "7511570e", "equity": 97620794, "ret": -2.38}, {"id": "v307", "ph": "6abce93d", "equity": 97389674, "ret": -2.61}, {"id": "v205", "ph": "02e5a3f5", "equity": 97246999, "ret": -2.75}, {"id": "v91", "ph": "5674a3d7", "equity": 97234833, "ret": -2.77}, {"id": "v81", "ph": "a6eac1e4", "equity": 96929027, "ret": -3.07}, {"id": "v95", "ph": "7e28e756", "equity": 96929027, "ret": -3.07}, {"id": "v99", "ph": "fb39409b", "equity": 96779933, "ret": -3.22}, {"id": "v101", "ph": "c4354346", "equity": 96779933, "ret": -3.22}, {"id": "v49", "ph": "cdba73e0", "equity": 96739834, "ret": -3.26}, {"id": "v51", "ph": "21a98e46", "equity": 96739834, "ret": -3.26}, {"id": "v199", "ph": "390bfab3", "equity": 96631456, "ret": -3.37}, {"id": "v304", "ph": "96c7e8e1", "equity": 96611170, "ret": -3.39}, {"id": "v197", "ph": "5c290a32", "equity": 96566014, "ret": -3.43}, {"id": "v207", "ph": "0f6601a0", "equity": 96572081, "ret": -3.43}, {"id": "v209", "ph": "8730802d", "equity": 96572081, "ret": -3.43}, {"id": "v57", "ph": "e7e98b6d", "equity": 96539505, "ret": -3.46}, {"id": "v59", "ph": "1858e2ec", "equity": 96539505, "ret": -3.46}, {"id": "v103", "ph": "75b0a37c", "equity": 96385631, "ret": -3.61}, {"id": "v161", "ph": "ed5677e6", "equity": 96318491, "ret": -3.68}, {"id": "v165", "ph": "8f862b27", "equity": 96318491, "ret": -3.68}, {"id": "v167", "ph": "b6d6aed8", "equity": 96318491, "ret": -3.68}, {"id": "v315", "ph": "e6d5b283", "equity": 96255988, "ret": -3.74}, {"id": "v195", "ph": "dd89cf59", "equity": 96182658, "ret": -3.82}, {"id": "v201", "ph": "cb8a413e", "equity": 96182658, "ret": -3.82}, {"id": "v189", "ph": "dfdbd0c8", "equity": 96136966, "ret": -3.86}, {"id": "v203", "ph": "2071defa", "equity": 96136966, "ret": -3.86}, {"id": "v217", "ph": "4c547a61", "equity": 96094928, "ret": -3.91}, {"id": "v218", "ph": "7304d2d4", "equity": 96094928, "ret": -3.91}, {"id": "v305", "ph": "8cc4eea6", "equity": 96059397, "ret": -3.94}, {"id": "v308", "ph": "cb12dd0b", "equity": 96046199, "ret": -3.95}, {"id": "v223", "ph": "b57356b8", "equity": 96022560, "ret": -3.98}, {"id": "v224", "ph": "888ab069", "equity": 96022560, "ret": -3.98}, {"id": "v229", "ph": "d9261dfb", "equity": 96022560, "ret": -3.98}, {"id": "v230", "ph": "141579fe", "equity": 96022560, "ret": -3.98}, {"id": "v235", "ph": "3e6c1666", "equity": 96022560, "ret": -3.98}, {"id": "v236", "ph": "f9c75560", "equity": 96022560, "ret": -3.98}, {"id": "v265", "ph": "7faed59d", "equity": 96022560, "ret": -3.98}, {"id": "v266", "ph": "c133b585", "equity": 96022560, "ret": -3.98}, {"id": "v271", "ph": "2b9ccdcd", "equity": 96022560, "ret": -3.98}, {"id": "v272", "ph": "2ed2027f", "equity": 96022560, "ret": -3.98}, {"id": "v277", "ph": "488b612a", "equity": 96022560, "ret": -3.98}, {"id": "v278", "ph": "861fb42b", "equity": 96022560, "ret": -3.98}, {"id": "v283", "ph": "479e4b25", "equity": 96022560, "ret": -3.98}, {"id": "v284", "ph": "261c5d58", "equity": 96022560, "ret": -3.98}, {"id": "v97", "ph": "ebf31977", "equity": 95995095, "ret": -4.0}, {"id": "v157", "ph": "80f3e23b", "equity": 95937374, "ret": -4.06}, {"id": "v159", "ph": "af80c67a", "equity": 95937374, "ret": -4.06}, {"id": "v211", "ph": "9227673c", "equity": 95933695, "ret": -4.07}, {"id": "v87", "ph": "c0be98c0", "equity": 95582492, "ret": -4.42}, {"id": "v93", "ph": "f10d4e45", "equity": 95582492, "ret": -4.42}, {"id": "v302", "ph": "3f30502d", "equity": 95445187, "ret": -4.55}, {"id": "v105", "ph": "88395429", "equity": 95443794, "ret": -4.56}, {"id": "v107", "ph": "be5cd36b", "equity": 95420371, "ret": -4.58}, {"id": "v47", "ph": "ed758fcf", "equity": 95248102, "ret": -4.75}, {"id": "v89", "ph": "c49d5680", "equity": 95191756, "ret": -4.81}, {"id": "v213", "ph": "0e1d8e45", "equity": 95032623, "ret": -4.97}, {"id": "v303", "ph": "1a084164", "equity": 94973975, "ret": -5.03}, {"id": "v301", "ph": "30da2021", "equity": 94918817, "ret": -5.08}, {"id": "v155", "ph": "31c0d84e", "equity": 94884928, "ret": -5.12}, {"id": "v149", "ph": "c5329f8d", "equity": 94835485, "ret": -5.16}, {"id": "v215", "ph": "a904a49d", "equity": 94714687, "ret": -5.29}, {"id": "v310", "ph": "ec9dd55c", "equity": 94667951, "ret": -5.33}, {"id": "v1", "ph": "4874f4c9", "equity": 94529504, "ret": -5.47}, {"id": "v318", "ph": "c99872ef", "equity": 94498663, "ret": -5.5}, {"id": "v147", "ph": "2fbeeedb", "equity": 93309835, "ret": -6.69}, {"id": "v151", "ph": "2eb1dd06", "equity": 93309835, "ret": -6.69}, {"id": "v41", "ph": "e9d84e84", "equity": 92888798, "ret": -7.11}, {"id": "v309", "ph": "07610040", "equity": 92000675, "ret": -8.0}, {"id": "v311", "ph": "8409c6e5", "equity": 91855356, "ret": -8.14}, {"id": "v4", "ph": "b6219595", "equity": 91060410, "ret": -8.94}, {"id": "v40", "ph": "70731d89", "equity": 90588484, "ret": -9.41}, {"id": "v312", "ph": "4c23846f", "equity": 90083317, "ret": -9.92}, {"id": "v296", "ph": "4c554378", "equity": 89998698, "ret": -10.0}, {"id": "v300", "ph": "c6ddc17b", "equity": 85532266, "ret": -14.47}, {"id": "v299", "ph": "25046b1a", "equity": 84271313, "ret": -15.73}, {"id": "v298", "ph": "5d4bbec0", "equity": 84062899, "ret": -15.94}], "20260703": [{"id": "v319", "ph": "ca25f043", "equity": 98425166, "ret": -1.57}, {"id": "v321", "ph": "e82de49b", "equity": 98254043, "ret": -1.75}, {"id": "v313", "ph": "b9f4ee72", "equity": 98201465, "ret": -1.8}, {"id": "v316", "ph": "8dc1d197", "equity": 97685295, "ret": -2.31}, {"id": "v317", "ph": "51f8ee6d", "equity": 97525130, "ret": -2.47}, {"id": "v320", "ph": "48d6a9ef", "equity": 97485037, "ret": -2.51}, {"id": "v314", "ph": "7511570e", "equity": 97275856, "ret": -2.72}, {"id": "v307", "ph": "6abce93d", "equity": 97013909, "ret": -2.99}, {"id": "v205", "ph": "02e5a3f5", "equity": 96883635, "ret": -3.12}, {"id": "v91", "ph": "5674a3d7", "equity": 96607445, "ret": -3.39}, {"id": "v306", "ph": "6966b8f6", "equity": 96557673, "ret": -3.44}, {"id": "v199", "ph": "390bfab3", "equity": 96554368, "ret": -3.45}, {"id": "v304", "ph": "96c7e8e1", "equity": 96441037, "ret": -3.56}, {"id": "v197", "ph": "5c290a32", "equity": 96399937, "ret": -3.6}, {"id": "v99", "ph": "fb39409b", "equity": 96145358, "ret": -3.85}, {"id": "v101", "ph": "c4354346", "equity": 96145358, "ret": -3.85}, {"id": "v207", "ph": "0f6601a0", "equity": 96048256, "ret": -3.95}, {"id": "v209", "ph": "8730802d", "equity": 96048256, "ret": -3.95}, {"id": "v57", "ph": "e7e98b6d", "equity": 95904930, "ret": -4.1}, {"id": "v59", "ph": "1858e2ec", "equity": 95904930, "ret": -4.1}, {"id": "v315", "ph": "e6d5b283", "equity": 95877764, "ret": -4.12}, {"id": "v103", "ph": "75b0a37c", "equity": 95790009, "ret": -4.21}, {"id": "v161", "ph": "ed5677e6", "equity": 95776078, "ret": -4.22}, {"id": "v165", "ph": "8f862b27", "equity": 95776078, "ret": -4.22}, {"id": "v167", "ph": "b6d6aed8", "equity": 95776078, "ret": -4.22}, {"id": "v49", "ph": "cdba73e0", "equity": 95750950, "ret": -4.25}, {"id": "v51", "ph": "21a98e46", "equity": 95750950, "ret": -4.25}, {"id": "v195", "ph": "dd89cf59", "equity": 95673198, "ret": -4.33}, {"id": "v201", "ph": "cb8a413e", "equity": 95673198, "ret": -4.33}, {"id": "v217", "ph": "4c547a61", "equity": 95667983, "ret": -4.33}, {"id": "v218", "ph": "7304d2d4", "equity": 95667983, "ret": -4.33}, {"id": "v81", "ph": "a6eac1e4", "equity": 95606729, "ret": -4.39}, {"id": "v95", "ph": "7e28e756", "equity": 95606729, "ret": -4.39}, {"id": "v223", "ph": "b57356b8", "equity": 95595615, "ret": -4.4}, {"id": "v224", "ph": "888ab069", "equity": 95595615, "ret": -4.4}, {"id": "v229", "ph": "d9261dfb", "equity": 95595615, "ret": -4.4}, {"id": "v230", "ph": "141579fe", "equity": 95595615, "ret": -4.4}, {"id": "v235", "ph": "3e6c1666", "equity": 95595615, "ret": -4.4}, {"id": "v236", "ph": "f9c75560", "equity": 95595615, "ret": -4.4}, {"id": "v265", "ph": "7faed59d", "equity": 95595615, "ret": -4.4}, {"id": "v266", "ph": "c133b585", "equity": 95595615, "ret": -4.4}, {"id": "v271", "ph": "2b9ccdcd", "equity": 95595615, "ret": -4.4}, {"id": "v272", "ph": "2ed2027f", "equity": 95595615, "ret": -4.4}, {"id": "v277", "ph": "488b612a", "equity": 95595615, "ret": -4.4}, {"id": "v278", "ph": "861fb42b", "equity": 95595615, "ret": -4.4}, {"id": "v283", "ph": "479e4b25", "equity": 95595615, "ret": -4.4}, {"id": "v284", "ph": "261c5d58", "equity": 95595615, "ret": -4.4}, {"id": "v305", "ph": "8cc4eea6", "equity": 95541925, "ret": -4.46}, {"id": "v211", "ph": "9227673c", "equity": 95426636, "ret": -4.57}, {"id": "v157", "ph": "80f3e23b", "equity": 95415410, "ret": -4.58}, {"id": "v159", "ph": "af80c67a", "equity": 95415410, "ret": -4.58}, {"id": "v189", "ph": "dfdbd0c8", "equity": 95279466, "ret": -4.72}, {"id": "v203", "ph": "2071defa", "equity": 95279466, "ret": -4.72}, {"id": "v97", "ph": "ebf31977", "equity": 95090844, "ret": -4.91}, {"id": "v87", "ph": "c0be98c0", "equity": 94984959, "ret": -5.02}, {"id": "v93", "ph": "f10d4e45", "equity": 94984959, "ret": -5.02}, {"id": "v308", "ph": "cb12dd0b", "equity": 94777607, "ret": -5.22}, {"id": "v302", "ph": "3f30502d", "equity": 94528879, "ret": -5.47}, {"id": "v303", "ph": "1a084164", "equity": 94528920, "ret": -5.47}, {"id": "v310", "ph": "ec9dd55c", "equity": 94363260, "ret": -5.64}, {"id": "v107", "ph": "be5cd36b", "equity": 94341505, "ret": -5.66}, {"id": "v89", "ph": "c49d5680", "equity": 94285756, "ret": -5.71}, {"id": "v155", "ph": "31c0d84e", "equity": 94292507, "ret": -5.71}, {"id": "v47", "ph": "ed758fcf", "equity": 94188860, "ret": -5.81}, {"id": "v213", "ph": "0e1d8e45", "equity": 94106686, "ret": -5.89}, {"id": "v105", "ph": "88395429", "equity": 94051138, "ret": -5.95}, {"id": "v301", "ph": "30da2021", "equity": 94001763, "ret": -6.0}, {"id": "v149", "ph": "c5329f8d", "equity": 93961371, "ret": -6.04}, {"id": "v318", "ph": "c99872ef", "equity": 93732003, "ret": -6.27}, {"id": "v215", "ph": "a904a49d", "equity": 93655835, "ret": -6.34}, {"id": "v1", "ph": "4874f4c9", "equity": 93473178, "ret": -6.53}, {"id": "v147", "ph": "2fbeeedb", "equity": 92615293, "ret": -7.38}, {"id": "v151", "ph": "2eb1dd06", "equity": 92615293, "ret": -7.38}, {"id": "v309", "ph": "07610040", "equity": 91881104, "ret": -8.12}, {"id": "v41", "ph": "e9d84e84", "equity": 91480991, "ret": -8.52}, {"id": "v311", "ph": "8409c6e5", "equity": 91180769, "ret": -8.82}, {"id": "v312", "ph": "4c23846f", "equity": 89938849, "ret": -10.06}, {"id": "v296", "ph": "4c554378", "equity": 89823803, "ret": -10.18}, {"id": "v4", "ph": "b6219595", "equity": 89703610, "ret": -10.3}, {"id": "v40", "ph": "70731d89", "equity": 89146216, "ret": -10.85}, {"id": "v300", "ph": "c6ddc17b", "equity": 84388306, "ret": -15.61}, {"id": "v298", "ph": "5d4bbec0", "equity": 83997991, "ret": -16.0}, {"id": "v299", "ph": "25046b1a", "equity": 83603796, "ret": -16.4}], "20260706": [{"id": "v319", "ph": "ca25f043", "equity": 98197566, "ret": -1.8}, {"id": "v313", "ph": "b9f4ee72", "equity": 97603564, "ret": -2.4}, {"id": "v316", "ph": "8dc1d197", "equity": 97234734, "ret": -2.77}, {"id": "v321", "ph": "e82de49b", "equity": 97144508, "ret": -2.86}, {"id": "v317", "ph": "51f8ee6d", "equity": 96840895, "ret": -3.16}, {"id": "v320", "ph": "48d6a9ef", "equity": 96760128, "ret": -3.24}, {"id": "v307", "ph": "6abce93d", "equity": 96230218, "ret": -3.77}, {"id": "v314", "ph": "7511570e", "equity": 95751362, "ret": -4.25}, {"id": "v205", "ph": "02e5a3f5", "equity": 95544491, "ret": -4.46}, {"id": "v91", "ph": "5674a3d7", "equity": 95510977, "ret": -4.49}, {"id": "v199", "ph": "390bfab3", "equity": 95397379, "ret": -4.6}, {"id": "v304", "ph": "96c7e8e1", "equity": 95339874, "ret": -4.66}, {"id": "v99", "ph": "fb39409b", "equity": 95236824, "ret": -4.76}, {"id": "v101", "ph": "c4354346", "equity": 95236824, "ret": -4.76}, {"id": "v207", "ph": "0f6601a0", "equity": 95075567, "ret": -4.92}, {"id": "v209", "ph": "8730802d", "equity": 95075567, "ret": -4.92}, {"id": "v81", "ph": "a6eac1e4", "equity": 95007002, "ret": -4.99}, {"id": "v95", "ph": "7e28e756", "equity": 95007002, "ret": -4.99}, {"id": "v197", "ph": "5c290a32", "equity": 94741409, "ret": -5.26}, {"id": "v57", "ph": "e7e98b6d", "equity": 94699077, "ret": -5.3}, {"id": "v59", "ph": "1858e2ec", "equity": 94699077, "ret": -5.3}, {"id": "v103", "ph": "75b0a37c", "equity": 94668122, "ret": -5.33}, {"id": "v306", "ph": "6966b8f6", "equity": 94605287, "ret": -5.39}, {"id": "v161", "ph": "ed5677e6", "equity": 94496826, "ret": -5.5}, {"id": "v165", "ph": "8f862b27", "equity": 94496826, "ret": -5.5}, {"id": "v167", "ph": "b6d6aed8", "equity": 94496826, "ret": -5.5}, {"id": "v189", "ph": "dfdbd0c8", "equity": 94488662, "ret": -5.51}, {"id": "v203", "ph": "2071defa", "equity": 94488662, "ret": -5.51}, {"id": "v217", "ph": "4c547a61", "equity": 94426233, "ret": -5.57}, {"id": "v218", "ph": "7304d2d4", "equity": 94426233, "ret": -5.57}, {"id": "v49", "ph": "cdba73e0", "equity": 94406113, "ret": -5.59}, {"id": "v51", "ph": "21a98e46", "equity": 94406113, "ret": -5.59}, {"id": "v223", "ph": "b57356b8", "equity": 94355882, "ret": -5.64}, {"id": "v224", "ph": "888ab069", "equity": 94355882, "ret": -5.64}, {"id": "v229", "ph": "d9261dfb", "equity": 94355882, "ret": -5.64}, {"id": "v230", "ph": "141579fe", "equity": 94355882, "ret": -5.64}, {"id": "v235", "ph": "3e6c1666", "equity": 94355882, "ret": -5.64}, {"id": "v236", "ph": "f9c75560", "equity": 94355882, "ret": -5.64}, {"id": "v265", "ph": "7faed59d", "equity": 94355882, "ret": -5.64}, {"id": "v266", "ph": "c133b585", "equity": 94355882, "ret": -5.64}, {"id": "v271", "ph": "2b9ccdcd", "equity": 94355882, "ret": -5.64}, {"id": "v272", "ph": "2ed2027f", "equity": 94355882, "ret": -5.64}, {"id": "v277", "ph": "488b612a", "equity": 94355882, "ret": -5.64}, {"id": "v278", "ph": "861fb42b", "equity": 94355882, "ret": -5.64}, {"id": "v283", "ph": "479e4b25", "equity": 94355882, "ret": -5.64}, {"id": "v284", "ph": "261c5d58", "equity": 94355882, "ret": -5.64}, {"id": "v211", "ph": "9227673c", "equity": 94235871, "ret": -5.76}, {"id": "v305", "ph": "8cc4eea6", "equity": 94224669, "ret": -5.78}, {"id": "v195", "ph": "dd89cf59", "equity": 94212019, "ret": -5.79}, {"id": "v201", "ph": "cb8a413e", "equity": 94212019, "ret": -5.79}, {"id": "v157", "ph": "80f3e23b", "equity": 93957691, "ret": -6.04}, {"id": "v159", "ph": "af80c67a", "equity": 93957691, "ret": -6.04}, {"id": "v310", "ph": "ec9dd55c", "equity": 93938789, "ret": -6.06}, {"id": "v107", "ph": "be5cd36b", "equity": 93866495, "ret": -6.13}, {"id": "v97", "ph": "ebf31977", "equity": 93770220, "ret": -6.23}, {"id": "v315", "ph": "e6d5b283", "equity": 93711754, "ret": -6.29}, {"id": "v87", "ph": "c0be98c0", "equity": 93450916, "ret": -6.55}, {"id": "v93", "ph": "f10d4e45", "equity": 93450916, "ret": -6.55}, {"id": "v303", "ph": "1a084164", "equity": 93378687, "ret": -6.62}, {"id": "v105", "ph": "88395429", "equity": 93223229, "ret": -6.78}, {"id": "v213", "ph": "0e1d8e45", "equity": 93085970, "ret": -6.91}, {"id": "v215", "ph": "a904a49d", "equity": 92982818, "ret": -7.02}, {"id": "v308", "ph": "cb12dd0b", "equity": 92964903, "ret": -7.04}, {"id": "v318", "ph": "c99872ef", "equity": 92867651, "ret": -7.13}, {"id": "v47", "ph": "ed758fcf", "equity": 92618653, "ret": -7.38}, {"id": "v155", "ph": "31c0d84e", "equity": 92607149, "ret": -7.39}, {"id": "v302", "ph": "3f30502d", "equity": 92518208, "ret": -7.48}, {"id": "v89", "ph": "c49d5680", "equity": 92511480, "ret": -7.49}, {"id": "v301", "ph": "30da2021", "equity": 92319361, "ret": -7.68}, {"id": "v1", "ph": "4874f4c9", "equity": 91573111, "ret": -8.43}, {"id": "v149", "ph": "c5329f8d", "equity": 91557578, "ret": -8.44}, {"id": "v147", "ph": "2fbeeedb", "equity": 89660568, "ret": -10.34}, {"id": "v151", "ph": "2eb1dd06", "equity": 89660568, "ret": -10.34}, {"id": "v309", "ph": "07610040", "equity": 89431315, "ret": -10.57}, {"id": "v311", "ph": "8409c6e5", "equity": 89401928, "ret": -10.6}, {"id": "v296", "ph": "4c554378", "equity": 89247261, "ret": -10.75}, {"id": "v41", "ph": "e9d84e84", "equity": 88846484, "ret": -11.15}, {"id": "v312", "ph": "4c23846f", "equity": 88019396, "ret": -11.98}, {"id": "v4", "ph": "b6219595", "equity": 86554007, "ret": -13.45}, {"id": "v40", "ph": "70731d89", "equity": 85831302, "ret": -14.17}, {"id": "v300", "ph": "c6ddc17b", "equity": 82944532, "ret": -17.06}, {"id": "v298", "ph": "5d4bbec0", "equity": 81095511, "ret": -18.9}, {"id": "v299", "ph": "25046b1a", "equity": 80278493, "ret": -19.72}], "20260707": [{"id": "v319", "ph": "ca25f043", "equity": 98693670, "ret": -1.31}, {"id": "v316", "ph": "8dc1d197", "equity": 98305505, "ret": -1.69}, {"id": "v313", "ph": "b9f4ee72", "equity": 98262263, "ret": -1.74}, {"id": "v320", "ph": "48d6a9ef", "equity": 98247893, "ret": -1.75}, {"id": "v317", "ph": "51f8ee6d", "equity": 97707033, "ret": -2.29}, {"id": "v314", "ph": "7511570e", "equity": 97509493, "ret": -2.49}, {"id": "v91", "ph": "5674a3d7", "equity": 97333001, "ret": -2.67}, {"id": "v199", "ph": "390bfab3", "equity": 97277991, "ret": -2.72}, {"id": "v321", "ph": "e82de49b", "equity": 97253215, "ret": -2.75}, {"id": "v81", "ph": "a6eac1e4", "equity": 97049213, "ret": -2.95}, {"id": "v95", "ph": "7e28e756", "equity": 97050436, "ret": -2.95}, {"id": "v306", "ph": "6966b8f6", "equity": 96847146, "ret": -3.15}, {"id": "v307", "ph": "6abce93d", "equity": 96696164, "ret": -3.3}, {"id": "v189", "ph": "dfdbd0c8", "equity": 96556561, "ret": -3.44}, {"id": "v203", "ph": "2071defa", "equity": 96557781, "ret": -3.44}, {"id": "v99", "ph": "fb39409b", "equity": 96461789, "ret": -3.54}, {"id": "v101", "ph": "c4354346", "equity": 96462037, "ret": -3.54}, {"id": "v205", "ph": "02e5a3f5", "equity": 96453452, "ret": -3.55}, {"id": "v304", "ph": "96c7e8e1", "equity": 96428577, "ret": -3.57}, {"id": "v305", "ph": "8cc4eea6", "equity": 96418011, "ret": -3.58}, {"id": "v103", "ph": "75b0a37c", "equity": 96298247, "ret": -3.7}, {"id": "v49", "ph": "cdba73e0", "equity": 96002579, "ret": -4.0}, {"id": "v51", "ph": "21a98e46", "equity": 96001353, "ret": -4.0}, {"id": "v107", "ph": "be5cd36b", "equity": 95993990, "ret": -4.01}, {"id": "v197", "ph": "5c290a32", "equity": 95968207, "ret": -4.03}, {"id": "v302", "ph": "3f30502d", "equity": 95614631, "ret": -4.39}, {"id": "v157", "ph": "80f3e23b", "equity": 95569082, "ret": -4.43}, {"id": "v159", "ph": "af80c67a", "equity": 95567859, "ret": -4.43}, {"id": "v57", "ph": "e7e98b6d", "equity": 95554443, "ret": -4.45}, {"id": "v59", "ph": "1858e2ec", "equity": 95554690, "ret": -4.45}, {"id": "v207", "ph": "0f6601a0", "equity": 95525632, "ret": -4.47}, {"id": "v209", "ph": "8730802d", "equity": 95525880, "ret": -4.47}, {"id": "v217", "ph": "4c547a61", "equity": 95450761, "ret": -4.55}, {"id": "v218", "ph": "7304d2d4", "equity": 95450761, "ret": -4.55}, {"id": "v223", "ph": "b57356b8", "equity": 95388809, "ret": -4.61}, {"id": "v224", "ph": "888ab069", "equity": 95388809, "ret": -4.61}, {"id": "v229", "ph": "d9261dfb", "equity": 95388809, "ret": -4.61}, {"id": "v230", "ph": "141579fe", "equity": 95388809, "ret": -4.61}, {"id": "v235", "ph": "3e6c1666", "equity": 95388809, "ret": -4.61}, {"id": "v236", "ph": "f9c75560", "equity": 95388809, "ret": -4.61}, {"id": "v265", "ph": "7faed59d", "equity": 95388809, "ret": -4.61}, {"id": "v266", "ph": "c133b585", "equity": 95388809, "ret": -4.61}, {"id": "v271", "ph": "2b9ccdcd", "equity": 95388809, "ret": -4.61}, {"id": "v272", "ph": "2ed2027f", "equity": 95388809, "ret": -4.61}, {"id": "v277", "ph": "488b612a", "equity": 95388809, "ret": -4.61}, {"id": "v278", "ph": "861fb42b", "equity": 95388809, "ret": -4.61}, {"id": "v283", "ph": "479e4b25", "equity": 95388809, "ret": -4.61}, {"id": "v284", "ph": "261c5d58", "equity": 95388809, "ret": -4.61}, {"id": "v105", "ph": "88395429", "equity": 95282295, "ret": -4.72}, {"id": "v87", "ph": "c0be98c0", "equity": 95222534, "ret": -4.78}, {"id": "v93", "ph": "f10d4e45", "equity": 95222534, "ret": -4.78}, {"id": "v195", "ph": "dd89cf59", "equity": 95180923, "ret": -4.82}, {"id": "v201", "ph": "cb8a413e", "equity": 95180923, "ret": -4.82}, {"id": "v213", "ph": "0e1d8e45", "equity": 95176202, "ret": -4.82}, {"id": "v211", "ph": "9227673c", "equity": 95089597, "ret": -4.91}, {"id": "v308", "ph": "cb12dd0b", "equity": 94879582, "ret": -5.12}, {"id": "v303", "ph": "1a084164", "equity": 94738991, "ret": -5.26}, {"id": "v97", "ph": "ebf31977", "equity": 94655179, "ret": -5.34}, {"id": "v161", "ph": "ed5677e6", "equity": 94577324, "ret": -5.42}, {"id": "v165", "ph": "8f862b27", "equity": 94577324, "ret": -5.42}, {"id": "v167", "ph": "b6d6aed8", "equity": 94577572, "ret": -5.42}, {"id": "v155", "ph": "31c0d84e", "equity": 94245039, "ret": -5.75}, {"id": "v47", "ph": "ed758fcf", "equity": 94237190, "ret": -5.76}, {"id": "v215", "ph": "a904a49d", "equity": 94242294, "ret": -5.76}, {"id": "v301", "ph": "30da2021", "equity": 93978996, "ret": -6.02}, {"id": "v310", "ph": "ec9dd55c", "equity": 93711421, "ret": -6.29}, {"id": "v89", "ph": "c49d5680", "equity": 93531243, "ret": -6.47}, {"id": "v315", "ph": "e6d5b283", "equity": 93396771, "ret": -6.6}, {"id": "v1", "ph": "4874f4c9", "equity": 93346275, "ret": -6.65}, {"id": "v149", "ph": "c5329f8d", "equity": 92610472, "ret": -7.39}, {"id": "v318", "ph": "c99872ef", "equity": 91695304, "ret": -8.3}, {"id": "v147", "ph": "2fbeeedb", "equity": 91607410, "ret": -8.39}, {"id": "v151", "ph": "2eb1dd06", "equity": 91608014, "ret": -8.39}, {"id": "v41", "ph": "e9d84e84", "equity": 89790563, "ret": -10.21}, {"id": "v311", "ph": "8409c6e5", "equity": 89611335, "ret": -10.39}, {"id": "v309", "ph": "07610040", "equity": 89551113, "ret": -10.45}, {"id": "v4", "ph": "b6219595", "equity": 88521115, "ret": -11.48}, {"id": "v296", "ph": "4c554378", "equity": 88093113, "ret": -11.91}, {"id": "v40", "ph": "70731d89", "equity": 87995606, "ret": -12.0}, {"id": "v312", "ph": "4c23846f", "equity": 86480137, "ret": -13.52}, {"id": "v300", "ph": "c6ddc17b", "equity": 85099596, "ret": -14.9}, {"id": "v298", "ph": "5d4bbec0", "equity": 81378493, "ret": -18.62}, {"id": "v299", "ph": "25046b1a", "equity": 81031423, "ret": -18.97}], "20260708": [{"id": "v319", "ph": "ca25f043", "equity": 97470051, "ret": -2.53}, {"id": "v321", "ph": "e82de49b", "equity": 95863837, "ret": -4.14}, {"id": "v313", "ph": "b9f4ee72", "equity": 95481223, "ret": -4.52}, {"id": "v101", "ph": "c4354346", "equity": 94493731, "ret": -5.51}, {"id": "v317", "ph": "51f8ee6d", "equity": 94450610, "ret": -5.55}, {"id": "v209", "ph": "8730802d", "equity": 94203324, "ret": -5.8}, {"id": "v59", "ph": "1858e2ec", "equity": 93894385, "ret": -6.11}, {"id": "v307", "ph": "6abce93d", "equity": 93837086, "ret": -6.16}, {"id": "v316", "ph": "8dc1d197", "equity": 93831128, "ret": -6.17}, {"id": "v99", "ph": "fb39409b", "equity": 93816583, "ret": -6.18}, {"id": "v167", "ph": "b6d6aed8", "equity": 93564546, "ret": -6.44}, {"id": "v207", "ph": "0f6601a0", "equity": 93526176, "ret": -6.47}, {"id": "v315", "ph": "e6d5b283", "equity": 93303825, "ret": -6.7}, {"id": "v205", "ph": "02e5a3f5", "equity": 93270613, "ret": -6.73}, {"id": "v57", "ph": "e7e98b6d", "equity": 93217237, "ret": -6.78}, {"id": "v320", "ph": "48d6a9ef", "equity": 93176307, "ret": -6.82}, {"id": "v161", "ph": "ed5677e6", "equity": 92887398, "ret": -7.11}, {"id": "v165", "ph": "8f862b27", "equity": 92887398, "ret": -7.11}, {"id": "v103", "ph": "75b0a37c", "equity": 92752222, "ret": -7.25}, {"id": "v314", "ph": "7511570e", "equity": 92717172, "ret": -7.28}, {"id": "v197", "ph": "5c290a32", "equity": 92525434, "ret": -7.47}, {"id": "v304", "ph": "96c7e8e1", "equity": 92465058, "ret": -7.53}, {"id": "v95", "ph": "7e28e756", "equity": 92376183, "ret": -7.62}, {"id": "v91", "ph": "5674a3d7", "equity": 92342374, "ret": -7.66}, {"id": "v211", "ph": "9227673c", "equity": 92194352, "ret": -7.81}, {"id": "v199", "ph": "390bfab3", "equity": 91895564, "ret": -8.1}, {"id": "v97", "ph": "ebf31977", "equity": 91886112, "ret": -8.11}, {"id": "v306", "ph": "6966b8f6", "equity": 91650241, "ret": -8.35}, {"id": "v195", "ph": "dd89cf59", "equity": 91566277, "ret": -8.43}, {"id": "v201", "ph": "cb8a413e", "equity": 91566277, "ret": -8.43}, {"id": "v49", "ph": "cdba73e0", "equity": 91326648, "ret": -8.67}, {"id": "v203", "ph": "2071defa", "equity": 91153904, "ret": -8.85}, {"id": "v107", "ph": "be5cd36b", "equity": 91033303, "ret": -8.97}, {"id": "v87", "ph": "c0be98c0", "equity": 90966948, "ret": -9.03}, {"id": "v93", "ph": "f10d4e45", "equity": 90966948, "ret": -9.03}, {"id": "v81", "ph": "a6eac1e4", "equity": 90865296, "ret": -9.13}, {"id": "v301", "ph": "30da2021", "equity": 90473273, "ret": -9.53}, {"id": "v318", "ph": "c99872ef", "equity": 90470932, "ret": -9.53}, {"id": "v157", "ph": "80f3e23b", "equity": 90163528, "ret": -9.84}, {"id": "v310", "ph": "ec9dd55c", "equity": 89945372, "ret": -10.05}, {"id": "v217", "ph": "4c547a61", "equity": 89912014, "ret": -10.09}, {"id": "v218", "ph": "7304d2d4", "equity": 89912014, "ret": -10.09}, {"id": "v223", "ph": "b57356b8", "equity": 89843062, "ret": -10.16}, {"id": "v224", "ph": "888ab069", "equity": 89843062, "ret": -10.16}, {"id": "v229", "ph": "d9261dfb", "equity": 89843062, "ret": -10.16}, {"id": "v230", "ph": "141579fe", "equity": 89843062, "ret": -10.16}, {"id": "v235", "ph": "3e6c1666", "equity": 89843062, "ret": -10.16}, {"id": "v236", "ph": "f9c75560", "equity": 89843062, "ret": -10.16}, {"id": "v265", "ph": "7faed59d", "equity": 89843062, "ret": -10.16}, {"id": "v266", "ph": "c133b585", "equity": 89843062, "ret": -10.16}, {"id": "v271", "ph": "2b9ccdcd", "equity": 89843062, "ret": -10.16}, {"id": "v272", "ph": "2ed2027f", "equity": 89843062, "ret": -10.16}, {"id": "v277", "ph": "488b612a", "equity": 89843062, "ret": -10.16}, {"id": "v278", "ph": "861fb42b", "equity": 89843062, "ret": -10.16}, {"id": "v283", "ph": "479e4b25", "equity": 89843062, "ret": -10.16}, {"id": "v284", "ph": "261c5d58", "equity": 89843062, "ret": -10.16}, {"id": "v1", "ph": "4874f4c9", "equity": 89831124, "ret": -10.17}, {"id": "v51", "ph": "21a98e46", "equity": 89813662, "ret": -10.19}, {"id": "v89", "ph": "c49d5680", "equity": 89757086, "ret": -10.24}, {"id": "v189", "ph": "dfdbd0c8", "equity": 89645117, "ret": -10.35}, {"id": "v303", "ph": "1a084164", "equity": 89566981, "ret": -10.43}, {"id": "v308", "ph": "cb12dd0b", "equity": 89416268, "ret": -10.58}, {"id": "v305", "ph": "8cc4eea6", "equity": 89391615, "ret": -10.61}, {"id": "v215", "ph": "a904a49d", "equity": 89291041, "ret": -10.71}, {"id": "v105", "ph": "88395429", "equity": 88899445, "ret": -11.1}, {"id": "v159", "ph": "af80c67a", "equity": 88652641, "ret": -11.35}, {"id": "v149", "ph": "c5329f8d", "equity": 88050190, "ret": -11.95}, {"id": "v213", "ph": "0e1d8e45", "equity": 88053066, "ret": -11.95}, {"id": "v47", "ph": "ed758fcf", "equity": 87850567, "ret": -12.15}, {"id": "v302", "ph": "3f30502d", "equity": 87442505, "ret": -12.56}, {"id": "v155", "ph": "31c0d84e", "equity": 87118129, "ret": -12.88}, {"id": "v296", "ph": "4c554378", "equity": 86292842, "ret": -13.71}, {"id": "v311", "ph": "8409c6e5", "equity": 86084678, "ret": -13.92}, {"id": "v151", "ph": "2eb1dd06", "equity": 86032047, "ret": -13.97}, {"id": "v312", "ph": "4c23846f", "equity": 85522576, "ret": -14.48}, {"id": "v41", "ph": "e9d84e84", "equity": 85291413, "ret": -14.71}, {"id": "v309", "ph": "07610040", "equity": 85107529, "ret": -14.89}, {"id": "v147", "ph": "2fbeeedb", "equity": 84376797, "ret": -15.62}, {"id": "v4", "ph": "b6219595", "equity": 82925280, "ret": -17.07}, {"id": "v40", "ph": "70731d89", "equity": 81170051, "ret": -18.83}, {"id": "v298", "ph": "5d4bbec0", "equity": 79196319, "ret": -20.8}, {"id": "v299", "ph": "25046b1a", "equity": 76919853, "ret": -23.08}, {"id": "v300", "ph": "c6ddc17b", "equity": 73167500, "ret": -26.83}], "20260709": [{"id": "v319", "ph": "ca25f043", "equity": 97029426, "ret": -2.97}, {"id": "v321", "ph": "e82de49b", "equity": 95372120, "ret": -4.63}, {"id": "v313", "ph": "b9f4ee72", "equity": 94897989, "ret": -5.1}, {"id": "v101", "ph": "c4354346", "equity": 94371518, "ret": -5.63}, {"id": "v317", "ph": "51f8ee6d", "equity": 94152545, "ret": -5.85}, {"id": "v99", "ph": "fb39409b", "equity": 93694369, "ret": -6.31}, {"id": "v59", "ph": "1858e2ec", "equity": 93648469, "ret": -6.35}, {"id": "v209", "ph": "8730802d", "equity": 93379392, "ret": -6.62}, {"id": "v316", "ph": "8dc1d197", "equity": 93225309, "ret": -6.77}, {"id": "v307", "ph": "6abce93d", "equity": 93189093, "ret": -6.81}, {"id": "v57", "ph": "e7e98b6d", "equity": 92971321, "ret": -7.03}, {"id": "v103", "ph": "75b0a37c", "equity": 92831928, "ret": -7.17}, {"id": "v207", "ph": "0f6601a0", "equity": 92702244, "ret": -7.3}, {"id": "v167", "ph": "b6d6aed8", "equity": 92619115, "ret": -7.38}, {"id": "v205", "ph": "02e5a3f5", "equity": 92574760, "ret": -7.43}, {"id": "v95", "ph": "7e28e756", "equity": 92521583, "ret": -7.48}, {"id": "v320", "ph": "48d6a9ef", "equity": 92421366, "ret": -7.58}, {"id": "v91", "ph": "5674a3d7", "equity": 92146760, "ret": -7.85}, {"id": "v315", "ph": "e6d5b283", "equity": 92046625, "ret": -7.95}, {"id": "v161", "ph": "ed5677e6", "equity": 91941966, "ret": -8.06}, {"id": "v165", "ph": "8f862b27", "equity": 91941966, "ret": -8.06}, {"id": "v314", "ph": "7511570e", "equity": 91879039, "ret": -8.12}, {"id": "v304", "ph": "96c7e8e1", "equity": 91855794, "ret": -8.14}, {"id": "v197", "ph": "5c290a32", "equity": 91841551, "ret": -8.16}, {"id": "v97", "ph": "ebf31977", "equity": 91705949, "ret": -8.29}, {"id": "v211", "ph": "9227673c", "equity": 91570738, "ret": -8.43}, {"id": "v49", "ph": "cdba73e0", "equity": 91460358, "ret": -8.54}, {"id": "v203", "ph": "2071defa", "equity": 91259889, "ret": -8.74}, {"id": "v199", "ph": "390bfab3", "equity": 91193283, "ret": -8.81}, {"id": "v87", "ph": "c0be98c0", "equity": 91057754, "ret": -8.94}, {"id": "v93", "ph": "f10d4e45", "equity": 91057754, "ret": -8.94}, {"id": "v81", "ph": "a6eac1e4", "equity": 91014210, "ret": -8.99}, {"id": "v195", "ph": "dd89cf59", "equity": 90952863, "ret": -9.05}, {"id": "v201", "ph": "cb8a413e", "equity": 90952863, "ret": -9.05}, {"id": "v107", "ph": "be5cd36b", "equity": 90911509, "ret": -9.09}, {"id": "v306", "ph": "6966b8f6", "equity": 90826472, "ret": -9.17}, {"id": "v157", "ph": "80f3e23b", "equity": 90259699, "ret": -9.74}, {"id": "v318", "ph": "c99872ef", "equity": 89956910, "ret": -10.04}, {"id": "v51", "ph": "21a98e46", "equity": 89951186, "ret": -10.05}, {"id": "v89", "ph": "c49d5680", "equity": 89823123, "ret": -10.18}, {"id": "v189", "ph": "dfdbd0c8", "equity": 89754616, "ret": -10.25}, {"id": "v301", "ph": "30da2021", "equity": 89630173, "ret": -10.37}, {"id": "v215", "ph": "a904a49d", "equity": 89171184, "ret": -10.83}, {"id": "v217", "ph": "4c547a61", "equity": 89102440, "ret": -10.9}, {"id": "v218", "ph": "7304d2d4", "equity": 89102440, "ret": -10.9}, {"id": "v223", "ph": "b57356b8", "equity": 89036088, "ret": -10.96}, {"id": "v224", "ph": "888ab069", "equity": 89036088, "ret": -10.96}, {"id": "v229", "ph": "d9261dfb", "equity": 89036088, "ret": -10.96}, {"id": "v230", "ph": "141579fe", "equity": 89036088, "ret": -10.96}, {"id": "v235", "ph": "3e6c1666", "equity": 89036088, "ret": -10.96}, {"id": "v236", "ph": "f9c75560", "equity": 89036088, "ret": -10.96}, {"id": "v265", "ph": "7faed59d", "equity": 89036088, "ret": -10.96}, {"id": "v266", "ph": "c133b585", "equity": 89036088, "ret": -10.96}, {"id": "v271", "ph": "2b9ccdcd", "equity": 89036088, "ret": -10.96}, {"id": "v272", "ph": "2ed2027f", "equity": 89036088, "ret": -10.96}, {"id": "v277", "ph": "488b612a", "equity": 89036088, "ret": -10.96}, {"id": "v278", "ph": "861fb42b", "equity": 89036088, "ret": -10.96}, {"id": "v283", "ph": "479e4b25", "equity": 89036088, "ret": -10.96}, {"id": "v284", "ph": "261c5d58", "equity": 89036088, "ret": -10.96}, {"id": "v1", "ph": "4874f4c9", "equity": 88779474, "ret": -11.22}, {"id": "v105", "ph": "88395429", "equity": 88758699, "ret": -11.24}, {"id": "v159", "ph": "af80c67a", "equity": 88749577, "ret": -11.25}, {"id": "v305", "ph": "8cc4eea6", "equity": 88509485, "ret": -11.49}, {"id": "v308", "ph": "cb12dd0b", "equity": 88508656, "ret": -11.49}, {"id": "v303", "ph": "1a084164", "equity": 88400399, "ret": -11.6}, {"id": "v310", "ph": "ec9dd55c", "equity": 88282336, "ret": -11.72}, {"id": "v213", "ph": "0e1d8e45", "equity": 87872908, "ret": -12.13}, {"id": "v47", "ph": "ed758fcf", "equity": 87700307, "ret": -12.3}, {"id": "v149", "ph": "c5329f8d", "equity": 87295308, "ret": -12.7}, {"id": "v302", "ph": "3f30502d", "equity": 87005003, "ret": -12.99}, {"id": "v155", "ph": "31c0d84e", "equity": 86926728, "ret": -13.07}, {"id": "v311", "ph": "8409c6e5", "equity": 85710417, "ret": -14.29}, {"id": "v151", "ph": "2eb1dd06", "equity": 85488465, "ret": -14.51}, {"id": "v41", "ph": "e9d84e84", "equity": 85404189, "ret": -14.6}, {"id": "v312", "ph": "4c23846f", "equity": 84462620, "ret": -15.54}, {"id": "v296", "ph": "4c554378", "equity": 84397596, "ret": -15.6}, {"id": "v309", "ph": "07610040", "equity": 84155459, "ret": -15.84}, {"id": "v147", "ph": "2fbeeedb", "equity": 83834534, "ret": -16.17}, {"id": "v4", "ph": "b6219595", "equity": 82094579, "ret": -17.91}, {"id": "v40", "ph": "70731d89", "equity": 80360480, "ret": -19.64}, {"id": "v298", "ph": "5d4bbec0", "equity": 78505369, "ret": -21.49}, {"id": "v299", "ph": "25046b1a", "equity": 75857462, "ret": -24.14}, {"id": "v300", "ph": "c6ddc17b", "equity": 73074500, "ret": -26.93}], "20260710": [{"id": "v321", "ph": "e82de49b", "equity": 98078466, "ret": -1.92}, {"id": "v319", "ph": "ca25f043", "equity": 97310052, "ret": -2.69}, {"id": "v313", "ph": "b9f4ee72", "equity": 97070899, "ret": -2.93}, {"id": "v317", "ph": "51f8ee6d", "equity": 96658854, "ret": -3.34}, {"id": "v307", "ph": "6abce93d", "equity": 95735759, "ret": -4.26}, {"id": "v316", "ph": "8dc1d197", "equity": 95238005, "ret": -4.76}, {"id": "v320", "ph": "48d6a9ef", "equity": 95010028, "ret": -4.99}, {"id": "v205", "ph": "02e5a3f5", "equity": 94946029, "ret": -5.05}, {"id": "v197", "ph": "5c290a32", "equity": 94826304, "ret": -5.17}, {"id": "v95", "ph": "7e28e756", "equity": 94712823, "ret": -5.29}, {"id": "v101", "ph": "c4354346", "equity": 94284391, "ret": -5.72}, {"id": "v203", "ph": "2071defa", "equity": 94078563, "ret": -5.92}, {"id": "v103", "ph": "75b0a37c", "equity": 94044661, "ret": -5.96}, {"id": "v91", "ph": "5674a3d7", "equity": 94024918, "ret": -5.98}, {"id": "v314", "ph": "7511570e", "equity": 93928332, "ret": -6.07}, {"id": "v199", "ph": "390bfab3", "equity": 93733922, "ret": -6.27}, {"id": "v59", "ph": "1858e2ec", "equity": 93680067, "ret": -6.32}, {"id": "v99", "ph": "fb39409b", "equity": 93607255, "ret": -6.39}, {"id": "v49", "ph": "cdba73e0", "equity": 93559466, "ret": -6.44}, {"id": "v306", "ph": "6966b8f6", "equity": 93513081, "ret": -6.49}, {"id": "v97", "ph": "ebf31977", "equity": 93408327, "ret": -6.59}, {"id": "v209", "ph": "8730802d", "equity": 93286824, "ret": -6.71}, {"id": "v81", "ph": "a6eac1e4", "equity": 93172304, "ret": -6.83}, {"id": "v304", "ph": "96c7e8e1", "equity": 93155434, "ret": -6.84}, {"id": "v157", "ph": "80f3e23b", "equity": 93020895, "ret": -6.98}, {"id": "v57", "ph": "e7e98b6d", "equity": 93002931, "ret": -7.0}, {"id": "v211", "ph": "9227673c", "equity": 92778517, "ret": -7.22}, {"id": "v207", "ph": "0f6601a0", "equity": 92609916, "ret": -7.39}, {"id": "v167", "ph": "b6d6aed8", "equity": 92577084, "ret": -7.42}, {"id": "v189", "ph": "dfdbd0c8", "equity": 92540144, "ret": -7.46}, {"id": "v315", "ph": "e6d5b283", "equity": 92532857, "ret": -7.47}, {"id": "v87", "ph": "c0be98c0", "equity": 92305303, "ret": -7.69}, {"id": "v93", "ph": "f10d4e45", "equity": 92305303, "ret": -7.69}, {"id": "v217", "ph": "4c547a61", "equity": 92223428, "ret": -7.78}, {"id": "v218", "ph": "7304d2d4", "equity": 92223428, "ret": -7.78}, {"id": "v195", "ph": "dd89cf59", "equity": 92194654, "ret": -7.81}, {"id": "v201", "ph": "cb8a413e", "equity": 92194654, "ret": -7.81}, {"id": "v223", "ph": "b57356b8", "equity": 92151976, "ret": -7.85}, {"id": "v224", "ph": "888ab069", "equity": 92151976, "ret": -7.85}, {"id": "v229", "ph": "d9261dfb", "equity": 92151976, "ret": -7.85}, {"id": "v230", "ph": "141579fe", "equity": 92151976, "ret": -7.85}, {"id": "v235", "ph": "3e6c1666", "equity": 92151976, "ret": -7.85}, {"id": "v236", "ph": "f9c75560", "equity": 92151976, "ret": -7.85}, {"id": "v265", "ph": "7faed59d", "equity": 92151976, "ret": -7.85}, {"id": "v266", "ph": "c133b585", "equity": 92151976, "ret": -7.85}, {"id": "v271", "ph": "2b9ccdcd", "equity": 92151976, "ret": -7.85}, {"id": "v272", "ph": "2ed2027f", "equity": 92151976, "ret": -7.85}, {"id": "v277", "ph": "488b612a", "equity": 92151976, "ret": -7.85}, {"id": "v278", "ph": "861fb42b", "equity": 92151976, "ret": -7.85}, {"id": "v283", "ph": "479e4b25", "equity": 92151976, "ret": -7.85}, {"id": "v284", "ph": "261c5d58", "equity": 92151976, "ret": -7.85}, {"id": "v89", "ph": "c49d5680", "equity": 92126436, "ret": -7.87}, {"id": "v51", "ph": "21a98e46", "equity": 92016918, "ret": -7.98}, {"id": "v161", "ph": "ed5677e6", "equity": 91902967, "ret": -8.1}, {"id": "v165", "ph": "8f862b27", "equity": 91902967, "ret": -8.1}, {"id": "v107", "ph": "be5cd36b", "equity": 91871987, "ret": -8.13}, {"id": "v305", "ph": "8cc4eea6", "equity": 91737647, "ret": -8.26}, {"id": "v159", "ph": "af80c67a", "equity": 91478297, "ret": -8.52}, {"id": "v303", "ph": "1a084164", "equity": 91467512, "ret": -8.53}, {"id": "v318", "ph": "c99872ef", "equity": 91229350, "ret": -8.77}, {"id": "v308", "ph": "cb12dd0b", "equity": 91016667, "ret": -8.98}, {"id": "v105", "ph": "88395429", "equity": 91002544, "ret": -9.0}, {"id": "v310", "ph": "ec9dd55c", "equity": 90929061, "ret": -9.07}, {"id": "v213", "ph": "0e1d8e45", "equity": 90733969, "ret": -9.27}, {"id": "v149", "ph": "c5329f8d", "equity": 90683014, "ret": -9.32}, {"id": "v215", "ph": "a904a49d", "equity": 90127065, "ret": -9.87}, {"id": "v302", "ph": "3f30502d", "equity": 90012486, "ret": -9.99}, {"id": "v301", "ph": "30da2021", "equity": 89977588, "ret": -10.02}, {"id": "v47", "ph": "ed758fcf", "equity": 89839040, "ret": -10.16}, {"id": "v155", "ph": "31c0d84e", "equity": 89712039, "ret": -10.29}, {"id": "v151", "ph": "2eb1dd06", "equity": 89274993, "ret": -10.73}, {"id": "v1", "ph": "4874f4c9", "equity": 89233426, "ret": -10.77}, {"id": "v311", "ph": "8409c6e5", "equity": 88466825, "ret": -11.53}, {"id": "v41", "ph": "e9d84e84", "equity": 88070920, "ret": -11.93}, {"id": "v147", "ph": "2fbeeedb", "equity": 87599302, "ret": -12.4}, {"id": "v312", "ph": "4c23846f", "equity": 86750962, "ret": -13.25}, {"id": "v309", "ph": "07610040", "equity": 86198031, "ret": -13.8}, {"id": "v296", "ph": "4c554378", "equity": 86036993, "ret": -13.96}, {"id": "v4", "ph": "b6219595", "equity": 85584881, "ret": -14.42}, {"id": "v40", "ph": "70731d89", "equity": 83785743, "ret": -16.21}, {"id": "v298", "ph": "5d4bbec0", "equity": 81408367, "ret": -18.59}, {"id": "v299", "ph": "25046b1a", "equity": 78985821, "ret": -21.01}, {"id": "v300", "ph": "c6ddc17b", "equity": 75750936, "ret": -24.25}], "20260713": [{"id": "v321", "ph": "e82de49b", "equity": 97993285, "ret": -2.01}, {"id": "v319", "ph": "ca25f043", "equity": 97450702, "ret": -2.55}, {"id": "v317", "ph": "51f8ee6d", "equity": 96646823, "ret": -3.35}, {"id": "v313", "ph": "b9f4ee72", "equity": 95903205, "ret": -4.1}, {"id": "v205", "ph": "02e5a3f5", "equity": 94889018, "ret": -5.11}, {"id": "v307", "ph": "6abce93d", "equity": 94694981, "ret": -5.31}, {"id": "v197", "ph": "5c290a32", "equity": 94654242, "ret": -5.35}, {"id": "v316", "ph": "8dc1d197", "equity": 94551424, "ret": -5.45}, {"id": "v320", "ph": "48d6a9ef", "equity": 94356057, "ret": -5.64}, {"id": "v95", "ph": "7e28e756", "equity": 94208212, "ret": -5.79}, {"id": "v203", "ph": "2071defa", "equity": 94145780, "ret": -5.85}, {"id": "v103", "ph": "75b0a37c", "equity": 94078397, "ret": -5.92}, {"id": "v199", "ph": "390bfab3", "equity": 93659485, "ret": -6.34}, {"id": "v101", "ph": "c4354346", "equity": 93648515, "ret": -6.35}, {"id": "v306", "ph": "6966b8f6", "equity": 93424603, "ret": -6.58}, {"id": "v91", "ph": "5674a3d7", "equity": 93323862, "ret": -6.68}, {"id": "v59", "ph": "1858e2ec", "equity": 93231925, "ret": -6.77}, {"id": "v157", "ph": "80f3e23b", "equity": 93198393, "ret": -6.8}, {"id": "v49", "ph": "cdba73e0", "equity": 93181463, "ret": -6.82}, {"id": "v314", "ph": "7511570e", "equity": 93184031, "ret": -6.82}, {"id": "v99", "ph": "fb39409b", "equity": 92972759, "ret": -7.03}, {"id": "v211", "ph": "9227673c", "equity": 92963129, "ret": -7.04}, {"id": "v97", "ph": "ebf31977", "equity": 92725192, "ret": -7.27}, {"id": "v304", "ph": "96c7e8e1", "equity": 92687756, "ret": -7.31}, {"id": "v81", "ph": "a6eac1e4", "equity": 92677068, "ret": -7.32}, {"id": "v189", "ph": "dfdbd0c8", "equity": 92628577, "ret": -7.37}, {"id": "v209", "ph": "8730802d", "equity": 92592451, "ret": -7.41}, {"id": "v57", "ph": "e7e98b6d", "equity": 92556169, "ret": -7.44}, {"id": "v315", "ph": "e6d5b283", "equity": 92418791, "ret": -7.58}, {"id": "v195", "ph": "dd89cf59", "equity": 92402967, "ret": -7.6}, {"id": "v201", "ph": "cb8a413e", "equity": 92402967, "ret": -7.6}, {"id": "v87", "ph": "c0be98c0", "equity": 92365980, "ret": -7.63}, {"id": "v93", "ph": "f10d4e45", "equity": 92365980, "ret": -7.63}, {"id": "v167", "ph": "b6d6aed8", "equity": 92215482, "ret": -7.78}, {"id": "v107", "ph": "be5cd36b", "equity": 91987442, "ret": -8.01}, {"id": "v318", "ph": "c99872ef", "equity": 91961004, "ret": -8.04}, {"id": "v207", "ph": "0f6601a0", "equity": 91936002, "ret": -8.06}, {"id": "v51", "ph": "21a98e46", "equity": 91665291, "ret": -8.33}, {"id": "v159", "ph": "af80c67a", "equity": 91669242, "ret": -8.33}, {"id": "v161", "ph": "ed5677e6", "equity": 91538846, "ret": -8.46}, {"id": "v165", "ph": "8f862b27", "equity": 91538846, "ret": -8.46}, {"id": "v89", "ph": "c49d5680", "equity": 91454254, "ret": -8.55}, {"id": "v217", "ph": "4c547a61", "equity": 90753087, "ret": -9.25}, {"id": "v218", "ph": "7304d2d4", "equity": 90753087, "ret": -9.25}, {"id": "v213", "ph": "0e1d8e45", "equity": 90711698, "ret": -9.29}, {"id": "v223", "ph": "b57356b8", "equity": 90682636, "ret": -9.32}, {"id": "v224", "ph": "888ab069", "equity": 90682636, "ret": -9.32}, {"id": "v229", "ph": "d9261dfb", "equity": 90682636, "ret": -9.32}, {"id": "v230", "ph": "141579fe", "equity": 90682636, "ret": -9.32}, {"id": "v235", "ph": "3e6c1666", "equity": 90682636, "ret": -9.32}, {"id": "v236", "ph": "f9c75560", "equity": 90682636, "ret": -9.32}, {"id": "v265", "ph": "7faed59d", "equity": 90682636, "ret": -9.32}, {"id": "v266", "ph": "c133b585", "equity": 90682636, "ret": -9.32}, {"id": "v271", "ph": "2b9ccdcd", "equity": 90682636, "ret": -9.32}, {"id": "v272", "ph": "2ed2027f", "equity": 90682636, "ret": -9.32}, {"id": "v277", "ph": "488b612a", "equity": 90682636, "ret": -9.32}, {"id": "v278", "ph": "861fb42b", "equity": 90682636, "ret": -9.32}, {"id": "v283", "ph": "479e4b25", "equity": 90682636, "ret": -9.32}, {"id": "v284", "ph": "261c5d58", "equity": 90682636, "ret": -9.32}, {"id": "v308", "ph": "cb12dd0b", "equity": 90558789, "ret": -9.44}, {"id": "v215", "ph": "a904a49d", "equity": 90427248, "ret": -9.57}, {"id": "v303", "ph": "1a084164", "equity": 90424464, "ret": -9.58}, {"id": "v105", "ph": "88395429", "equity": 90398777, "ret": -9.6}, {"id": "v310", "ph": "ec9dd55c", "equity": 90385822, "ret": -9.61}, {"id": "v305", "ph": "8cc4eea6", "equity": 90346041, "ret": -9.65}, {"id": "v149", "ph": "c5329f8d", "equity": 90280128, "ret": -9.72}, {"id": "v301", "ph": "30da2021", "equity": 89786566, "ret": -10.21}, {"id": "v155", "ph": "31c0d84e", "equity": 89782507, "ret": -10.22}, {"id": "v47", "ph": "ed758fcf", "equity": 89371696, "ret": -10.63}, {"id": "v302", "ph": "3f30502d", "equity": 89344229, "ret": -10.66}, {"id": "v1", "ph": "4874f4c9", "equity": 89166050, "ret": -10.83}, {"id": "v151", "ph": "2eb1dd06", "equity": 89091286, "ret": -10.91}, {"id": "v311", "ph": "8409c6e5", "equity": 88615165, "ret": -11.38}, {"id": "v312", "ph": "4c23846f", "equity": 88055182, "ret": -11.94}, {"id": "v309", "ph": "07610040", "equity": 87642331, "ret": -12.36}, {"id": "v147", "ph": "2fbeeedb", "equity": 87432951, "ret": -12.57}, {"id": "v41", "ph": "e9d84e84", "equity": 87023320, "ret": -12.98}, {"id": "v4", "ph": "b6219595", "equity": 85761199, "ret": -14.24}, {"id": "v296", "ph": "4c554378", "equity": 84594910, "ret": -15.41}, {"id": "v40", "ph": "70731d89", "equity": 83960853, "ret": -16.04}, {"id": "v298", "ph": "5d4bbec0", "equity": 82134287, "ret": -17.87}, {"id": "v299", "ph": "25046b1a", "equity": 78453749, "ret": -21.55}, {"id": "v300", "ph": "c6ddc17b", "equity": 74901773, "ret": -25.1}], "20260714": [{"id": "v321", "ph": "e82de49b", "equity": 97789385, "ret": -2.21}, {"id": "v319", "ph": "ca25f043", "equity": 97582805, "ret": -2.42}, {"id": "v317", "ph": "51f8ee6d", "equity": 96466283, "ret": -3.53}, {"id": "v313", "ph": "b9f4ee72", "equity": 95558095, "ret": -4.44}, {"id": "v205", "ph": "02e5a3f5", "equity": 94974938, "ret": -5.03}, {"id": "v316", "ph": "8dc1d197", "equity": 94811844, "ret": -5.19}, {"id": "v197", "ph": "5c290a32", "equity": 94781792, "ret": -5.22}, {"id": "v320", "ph": "48d6a9ef", "equity": 94552797, "ret": -5.45}, {"id": "v307", "ph": "6abce93d", "equity": 94443551, "ret": -5.56}, {"id": "v103", "ph": "75b0a37c", "equity": 94273847, "ret": -5.73}, {"id": "v203", "ph": "2071defa", "equity": 94162800, "ret": -5.84}, {"id": "v199", "ph": "390bfab3", "equity": 93730535, "ret": -6.27}, {"id": "v95", "ph": "7e28e756", "equity": 93688530, "ret": -6.31}, {"id": "v306", "ph": "6966b8f6", "equity": 93128874, "ret": -6.87}, {"id": "v157", "ph": "80f3e23b", "equity": 93099933, "ret": -6.9}, {"id": "v101", "ph": "c4354346", "equity": 93085645, "ret": -6.91}, {"id": "v91", "ph": "5674a3d7", "equity": 93035902, "ret": -6.96}, {"id": "v211", "ph": "9227673c", "equity": 92979319, "ret": -7.02}, {"id": "v314", "ph": "7511570e", "equity": 92922331, "ret": -7.08}, {"id": "v49", "ph": "cdba73e0", "equity": 92903643, "ret": -7.1}, {"id": "v59", "ph": "1858e2ec", "equity": 92684865, "ret": -7.32}, {"id": "v189", "ph": "dfdbd0c8", "equity": 92671757, "ret": -7.33}, {"id": "v304", "ph": "96c7e8e1", "equity": 92642276, "ret": -7.36}, {"id": "v87", "ph": "c0be98c0", "equity": 92587920, "ret": -7.41}, {"id": "v93", "ph": "f10d4e45", "equity": 92587920, "ret": -7.41}, {"id": "v97", "ph": "ebf31977", "equity": 92465332, "ret": -7.53}, {"id": "v195", "ph": "dd89cf59", "equity": 92445067, "ret": -7.55}, {"id": "v201", "ph": "cb8a413e", "equity": 92445067, "ret": -7.55}, {"id": "v99", "ph": "fb39409b", "equity": 92410299, "ret": -7.59}, {"id": "v318", "ph": "c99872ef", "equity": 92219004, "ret": -7.78}, {"id": "v81", "ph": "a6eac1e4", "equity": 92177746, "ret": -7.82}, {"id": "v57", "ph": "e7e98b6d", "equity": 92009519, "ret": -7.99}, {"id": "v107", "ph": "be5cd36b", "equity": 92000429, "ret": -8.0}, {"id": "v209", "ph": "8730802d", "equity": 91790701, "ret": -8.21}, {"id": "v159", "ph": "af80c67a", "equity": 91582652, "ret": -8.42}, {"id": "v167", "ph": "b6d6aed8", "equity": 91427362, "ret": -8.57}, {"id": "v51", "ph": "21a98e46", "equity": 91402341, "ret": -8.6}, {"id": "v89", "ph": "c49d5680", "equity": 91243384, "ret": -8.76}, {"id": "v315", "ph": "e6d5b283", "equity": 91168571, "ret": -8.83}, {"id": "v207", "ph": "0f6601a0", "equity": 91144662, "ret": -8.86}, {"id": "v161", "ph": "ed5677e6", "equity": 90748936, "ret": -9.25}, {"id": "v165", "ph": "8f862b27", "equity": 90748936, "ret": -9.25}, {"id": "v310", "ph": "ec9dd55c", "equity": 90753202, "ret": -9.25}, {"id": "v213", "ph": "0e1d8e45", "equity": 90718328, "ret": -9.28}, {"id": "v217", "ph": "4c547a61", "equity": 90375417, "ret": -9.62}, {"id": "v218", "ph": "7304d2d4", "equity": 90375417, "ret": -9.62}, {"id": "v149", "ph": "c5329f8d", "equity": 90342768, "ret": -9.66}, {"id": "v223", "ph": "b57356b8", "equity": 90306266, "ret": -9.69}, {"id": "v224", "ph": "888ab069", "equity": 90306266, "ret": -9.69}, {"id": "v229", "ph": "d9261dfb", "equity": 90306266, "ret": -9.69}, {"id": "v230", "ph": "141579fe", "equity": 90306266, "ret": -9.69}, {"id": "v235", "ph": "3e6c1666", "equity": 90306266, "ret": -9.69}, {"id": "v236", "ph": "f9c75560", "equity": 90306266, "ret": -9.69}, {"id": "v265", "ph": "7faed59d", "equity": 90306266, "ret": -9.69}, {"id": "v266", "ph": "c133b585", "equity": 90306266, "ret": -9.69}, {"id": "v271", "ph": "2b9ccdcd", "equity": 90306266, "ret": -9.69}, {"id": "v272", "ph": "2ed2027f", "equity": 90306266, "ret": -9.69}, {"id": "v277", "ph": "488b612a", "equity": 90306266, "ret": -9.69}, {"id": "v278", "ph": "861fb42b", "equity": 90306266, "ret": -9.69}, {"id": "v283", "ph": "479e4b25", "equity": 90306266, "ret": -9.69}, {"id": "v284", "ph": "261c5d58", "equity": 90306266, "ret": -9.69}, {"id": "v215", "ph": "a904a49d", "equity": 90240432, "ret": -9.76}, {"id": "v308", "ph": "cb12dd0b", "equity": 90214089, "ret": -9.79}, {"id": "v305", "ph": "8cc4eea6", "equity": 90063781, "ret": -9.94}, {"id": "v303", "ph": "1a084164", "equity": 89879294, "ret": -10.12}, {"id": "v105", "ph": "88395429", "equity": 89867245, "ret": -10.13}, {"id": "v155", "ph": "31c0d84e", "equity": 89637757, "ret": -10.36}, {"id": "v151", "ph": "2eb1dd06", "equity": 89445646, "ret": -10.55}, {"id": "v302", "ph": "3f30502d", "equity": 89306717, "ret": -10.69}, {"id": "v47", "ph": "ed758fcf", "equity": 89082566, "ret": -10.92}, {"id": "v301", "ph": "30da2021", "equity": 88985970, "ret": -11.01}, {"id": "v312", "ph": "4c23846f", "equity": 88434822, "ret": -11.57}, {"id": "v1", "ph": "4874f4c9", "equity": 88164415, "ret": -11.84}, {"id": "v311", "ph": "8409c6e5", "equity": 88024704, "ret": -11.98}, {"id": "v147", "ph": "2fbeeedb", "equity": 87818641, "ret": -12.18}, {"id": "v309", "ph": "07610040", "equity": 87561431, "ret": -12.44}, {"id": "v41", "ph": "e9d84e84", "equity": 87034620, "ret": -12.97}, {"id": "v4", "ph": "b6219595", "equity": 85775725, "ret": -14.22}, {"id": "v296", "ph": "4c554378", "equity": 84158665, "ret": -15.84}, {"id": "v40", "ph": "70731d89", "equity": 83965736, "ret": -16.03}, {"id": "v298", "ph": "5d4bbec0", "equity": 83302908, "ret": -16.7}, {"id": "v299", "ph": "25046b1a", "equity": 78333222, "ret": -21.67}, {"id": "v300", "ph": "c6ddc17b", "equity": 75953953, "ret": -24.05}], "20260715": [{"id": "v321", "ph": "e82de49b", "equity": 97881585, "ret": -2.12}, {"id": "v319", "ph": "ca25f043", "equity": 96941125, "ret": -3.06}, {"id": "v317", "ph": "51f8ee6d", "equity": 96721623, "ret": -3.28}, {"id": "v205", "ph": "02e5a3f5", "equity": 96494865, "ret": -3.51}, {"id": "v197", "ph": "5c290a32", "equity": 96288031, "ret": -3.71}, {"id": "v313", "ph": "b9f4ee72", "equity": 96177243, "ret": -3.82}, {"id": "v203", "ph": "2071defa", "equity": 95945420, "ret": -4.05}, {"id": "v103", "ph": "75b0a37c", "equity": 95590478, "ret": -4.41}, {"id": "v307", "ph": "6abce93d", "equity": 95511253, "ret": -4.49}, {"id": "v199", "ph": "390bfab3", "equity": 95234481, "ret": -4.77}, {"id": "v95", "ph": "7e28e756", "equity": 95172330, "ret": -4.83}, {"id": "v157", "ph": "80f3e23b", "equity": 94561247, "ret": -5.44}, {"id": "v316", "ph": "8dc1d197", "equity": 94512037, "ret": -5.49}, {"id": "v49", "ph": "cdba73e0", "equity": 94452030, "ret": -5.55}, {"id": "v320", "ph": "48d6a9ef", "equity": 94452811, "ret": -5.55}, {"id": "v189", "ph": "dfdbd0c8", "equity": 94413537, "ret": -5.59}, {"id": "v211", "ph": "9227673c", "equity": 94345283, "ret": -5.65}, {"id": "v91", "ph": "5674a3d7", "equity": 94341738, "ret": -5.66}, {"id": "v101", "ph": "c4354346", "equity": 94241434, "ret": -5.76}, {"id": "v314", "ph": "7511570e", "equity": 94137586, "ret": -5.86}, {"id": "v59", "ph": "1858e2ec", "equity": 94073717, "ret": -5.93}, {"id": "v87", "ph": "c0be98c0", "equity": 93886718, "ret": -6.11}, {"id": "v93", "ph": "f10d4e45", "equity": 93886718, "ret": -6.11}, {"id": "v195", "ph": "dd89cf59", "equity": 93793440, "ret": -6.21}, {"id": "v201", "ph": "cb8a413e", "equity": 93793440, "ret": -6.21}, {"id": "v97", "ph": "ebf31977", "equity": 93769938, "ret": -6.23}, {"id": "v306", "ph": "6966b8f6", "equity": 93693114, "ret": -6.31}, {"id": "v81", "ph": "a6eac1e4", "equity": 93645606, "ret": -6.35}, {"id": "v99", "ph": "fb39409b", "equity": 93565198, "ret": -6.43}, {"id": "v107", "ph": "be5cd36b", "equity": 93472999, "ret": -6.53}, {"id": "v57", "ph": "e7e98b6d", "equity": 93396997, "ret": -6.6}, {"id": "v318", "ph": "c99872ef", "equity": 93105804, "ret": -6.89}, {"id": "v159", "ph": "af80c67a", "equity": 93021557, "ret": -6.98}, {"id": "v209", "ph": "8730802d", "equity": 92996410, "ret": -7.0}, {"id": "v51", "ph": "21a98e46", "equity": 92918693, "ret": -7.08}, {"id": "v304", "ph": "96c7e8e1", "equity": 92841909, "ret": -7.16}, {"id": "v167", "ph": "b6d6aed8", "equity": 92783723, "ret": -7.22}, {"id": "v89", "ph": "c49d5680", "equity": 92506353, "ret": -7.49}, {"id": "v213", "ph": "0e1d8e45", "equity": 92448858, "ret": -7.55}, {"id": "v207", "ph": "0f6601a0", "equity": 92322401, "ret": -7.68}, {"id": "v161", "ph": "ed5677e6", "equity": 92101406, "ret": -7.9}, {"id": "v165", "ph": "8f862b27", "equity": 92101406, "ret": -7.9}, {"id": "v149", "ph": "c5329f8d", "equity": 92091172, "ret": -7.91}, {"id": "v217", "ph": "4c547a61", "equity": 92083378, "ret": -7.92}, {"id": "v218", "ph": "7304d2d4", "equity": 92083378, "ret": -7.92}, {"id": "v223", "ph": "b57356b8", "equity": 92014227, "ret": -7.99}, {"id": "v224", "ph": "888ab069", "equity": 92014227, "ret": -7.99}, {"id": "v229", "ph": "d9261dfb", "equity": 92014227, "ret": -7.99}, {"id": "v230", "ph": "141579fe", "equity": 92014227, "ret": -7.99}, {"id": "v235", "ph": "3e6c1666", "equity": 92014227, "ret": -7.99}, {"id": "v236", "ph": "f9c75560", "equity": 92014227, "ret": -7.99}, {"id": "v265", "ph": "7faed59d", "equity": 92014227, "ret": -7.99}, {"id": "v266", "ph": "c133b585", "equity": 92014227, "ret": -7.99}, {"id": "v271", "ph": "2b9ccdcd", "equity": 92014227, "ret": -7.99}, {"id": "v272", "ph": "2ed2027f", "equity": 92014227, "ret": -7.99}, {"id": "v277", "ph": "488b612a", "equity": 92014227, "ret": -7.99}, {"id": "v278", "ph": "861fb42b", "equity": 92014227, "ret": -7.99}, {"id": "v283", "ph": "479e4b25", "equity": 92014227, "ret": -7.99}, {"id": "v284", "ph": "261c5d58", "equity": 92014227, "ret": -7.99}, {"id": "v315", "ph": "e6d5b283", "equity": 91954633, "ret": -8.05}, {"id": "v215", "ph": "a904a49d", "equity": 91742192, "ret": -8.26}, {"id": "v308", "ph": "cb12dd0b", "equity": 91602089, "ret": -8.4}, {"id": "v310", "ph": "ec9dd55c", "equity": 91437214, "ret": -8.56}, {"id": "v305", "ph": "8cc4eea6", "equity": 91318887, "ret": -8.68}, {"id": "v105", "ph": "88395429", "equity": 91294695, "ret": -8.71}, {"id": "v303", "ph": "1a084164", "equity": 91280975, "ret": -8.72}, {"id": "v151", "ph": "2eb1dd06", "equity": 91151628, "ret": -8.85}, {"id": "v155", "ph": "31c0d84e", "equity": 91066702, "ret": -8.93}, {"id": "v302", "ph": "3f30502d", "equity": 90999999, "ret": -9.0}, {"id": "v47", "ph": "ed758fcf", "equity": 90556310, "ret": -9.44}, {"id": "v301", "ph": "30da2021", "equity": 90510544, "ret": -9.49}, {"id": "v1", "ph": "4874f4c9", "equity": 89753670, "ret": -10.25}, {"id": "v312", "ph": "4c23846f", "equity": 89629262, "ret": -10.37}, {"id": "v147", "ph": "2fbeeedb", "equity": 89491453, "ret": -10.51}, {"id": "v41", "ph": "e9d84e84", "equity": 89149905, "ret": -10.85}, {"id": "v309", "ph": "07610040", "equity": 88927631, "ret": -11.07}, {"id": "v311", "ph": "8409c6e5", "equity": 88877600, "ret": -11.12}, {"id": "v4", "ph": "b6219595", "equity": 86786797, "ret": -13.21}, {"id": "v40", "ph": "70731d89", "equity": 84949022, "ret": -15.05}, {"id": "v296", "ph": "4c554378", "equity": 84318050, "ret": -15.68}, {"id": "v298", "ph": "5d4bbec0", "equity": 84182209, "ret": -15.82}, {"id": "v299", "ph": "25046b1a", "equity": 79402935, "ret": -20.6}, {"id": "v300", "ph": "c6ddc17b", "equity": 77045856, "ret": -22.95}], "20260716": [{"id": "v321", "ph": "e82de49b", "equity": 97662800, "ret": -2.34}, {"id": "v317", "ph": "51f8ee6d", "equity": 96342751, "ret": -3.66}, {"id": "v205", "ph": "02e5a3f5", "equity": 96098532, "ret": -3.9}, {"id": "v319", "ph": "ca25f043", "equity": 95637660, "ret": -4.36}, {"id": "v197", "ph": "5c290a32", "equity": 95579791, "ret": -4.42}, {"id": "v203", "ph": "2071defa", "equity": 95582104, "ret": -4.42}, {"id": "v103", "ph": "75b0a37c", "equity": 95449502, "ret": -4.55}, {"id": "v313", "ph": "b9f4ee72", "equity": 95008900, "ret": -4.99}, {"id": "v95", "ph": "7e28e756", "equity": 94748728, "ret": -5.25}, {"id": "v199", "ph": "390bfab3", "equity": 94565021, "ret": -5.43}, {"id": "v307", "ph": "6abce93d", "equity": 94270692, "ret": -5.73}, {"id": "v101", "ph": "c4354346", "equity": 94237231, "ret": -5.76}, {"id": "v59", "ph": "1858e2ec", "equity": 94226283, "ret": -5.77}, {"id": "v157", "ph": "80f3e23b", "equity": 94217123, "ret": -5.78}, {"id": "v49", "ph": "cdba73e0", "equity": 94125926, "ret": -5.87}, {"id": "v211", "ph": "9227673c", "equity": 94095386, "ret": -5.9}, {"id": "v189", "ph": "dfdbd0c8", "equity": 93681511, "ret": -6.32}, {"id": "v314", "ph": "7511570e", "equity": 93578380, "ret": -6.42}, {"id": "v99", "ph": "fb39409b", "equity": 93562035, "ret": -6.44}, {"id": "v316", "ph": "8dc1d197", "equity": 93564398, "ret": -6.44}, {"id": "v57", "ph": "e7e98b6d", "equity": 93550050, "ret": -6.45}, {"id": "v91", "ph": "5674a3d7", "equity": 93540268, "ret": -6.46}, {"id": "v107", "ph": "be5cd36b", "equity": 93475030, "ret": -6.52}, {"id": "v87", "ph": "c0be98c0", "equity": 93437735, "ret": -6.56}, {"id": "v93", "ph": "f10d4e45", "equity": 93437735, "ret": -6.56}, {"id": "v306", "ph": "6966b8f6", "equity": 93314376, "ret": -6.69}, {"id": "v320", "ph": "48d6a9ef", "equity": 93302940, "ret": -6.7}, {"id": "v97", "ph": "ebf31977", "equity": 93246574, "ret": -6.75}, {"id": "v195", "ph": "dd89cf59", "equity": 93233458, "ret": -6.77}, {"id": "v201", "ph": "cb8a413e", "equity": 93233458, "ret": -6.77}, {"id": "v318", "ph": "c99872ef", "equity": 92972504, "ret": -7.03}, {"id": "v209", "ph": "8730802d", "equity": 92923788, "ret": -7.08}, {"id": "v81", "ph": "a6eac1e4", "equity": 92858315, "ret": -7.14}, {"id": "v167", "ph": "b6d6aed8", "equity": 92804598, "ret": -7.2}, {"id": "v159", "ph": "af80c67a", "equity": 92313584, "ret": -7.69}, {"id": "v304", "ph": "96c7e8e1", "equity": 92306951, "ret": -7.69}, {"id": "v207", "ph": "0f6601a0", "equity": 92265672, "ret": -7.73}, {"id": "v51", "ph": "21a98e46", "equity": 92228353, "ret": -7.77}, {"id": "v315", "ph": "e6d5b283", "equity": 92176927, "ret": -7.82}, {"id": "v161", "ph": "ed5677e6", "equity": 92123621, "ret": -7.88}, {"id": "v165", "ph": "8f862b27", "equity": 92123621, "ret": -7.88}, {"id": "v213", "ph": "0e1d8e45", "equity": 92105005, "ret": -7.89}, {"id": "v89", "ph": "c49d5680", "equity": 91672443, "ret": -8.33}, {"id": "v215", "ph": "a904a49d", "equity": 91600859, "ret": -8.4}, {"id": "v149", "ph": "c5329f8d", "equity": 91348894, "ret": -8.65}, {"id": "v308", "ph": "cb12dd0b", "equity": 91129257, "ret": -8.87}, {"id": "v105", "ph": "88395429", "equity": 90897351, "ret": -9.1}, {"id": "v155", "ph": "31c0d84e", "equity": 90751770, "ret": -9.25}, {"id": "v217", "ph": "4c547a61", "equity": 90452057, "ret": -9.55}, {"id": "v218", "ph": "7304d2d4", "equity": 90452057, "ret": -9.55}, {"id": "v223", "ph": "b57356b8", "equity": 90381905, "ret": -9.62}, {"id": "v224", "ph": "888ab069", "equity": 90381905, "ret": -9.62}, {"id": "v229", "ph": "d9261dfb", "equity": 90381905, "ret": -9.62}, {"id": "v230", "ph": "141579fe", "equity": 90381905, "ret": -9.62}, {"id": "v235", "ph": "3e6c1666", "equity": 90381905, "ret": -9.62}, {"id": "v236", "ph": "f9c75560", "equity": 90381905, "ret": -9.62}, {"id": "v265", "ph": "7faed59d", "equity": 90381905, "ret": -9.62}, {"id": "v266", "ph": "c133b585", "equity": 90381905, "ret": -9.62}, {"id": "v271", "ph": "2b9ccdcd", "equity": 90381905, "ret": -9.62}, {"id": "v272", "ph": "2ed2027f", "equity": 90381905, "ret": -9.62}, {"id": "v277", "ph": "488b612a", "equity": 90381905, "ret": -9.62}, {"id": "v278", "ph": "861fb42b", "equity": 90381905, "ret": -9.62}, {"id": "v283", "ph": "479e4b25", "equity": 90381905, "ret": -9.62}, {"id": "v284", "ph": "261c5d58", "equity": 90381905, "ret": -9.62}, {"id": "v301", "ph": "30da2021", "equity": 90291973, "ret": -9.71}, {"id": "v47", "ph": "ed758fcf", "equity": 90254293, "ret": -9.75}, {"id": "v305", "ph": "8cc4eea6", "equity": 90139532, "ret": -9.86}, {"id": "v310", "ph": "ec9dd55c", "equity": 89818318, "ret": -10.18}, {"id": "v303", "ph": "1a084164", "equity": 89794120, "ret": -10.21}, {"id": "v151", "ph": "2eb1dd06", "equity": 89703330, "ret": -10.3}, {"id": "v1", "ph": "4874f4c9", "equity": 89683916, "ret": -10.32}, {"id": "v302", "ph": "3f30502d", "equity": 89587578, "ret": -10.41}, {"id": "v312", "ph": "4c23846f", "equity": 89359819, "ret": -10.64}, {"id": "v309", "ph": "07610040", "equity": 88934323, "ret": -11.07}, {"id": "v311", "ph": "8409c6e5", "equity": 88468299, "ret": -11.53}, {"id": "v41", "ph": "e9d84e84", "equity": 88438727, "ret": -11.56}, {"id": "v147", "ph": "2fbeeedb", "equity": 88051474, "ret": -11.95}, {"id": "v4", "ph": "b6219595", "equity": 85931638, "ret": -14.07}, {"id": "v40", "ph": "70731d89", "equity": 84117298, "ret": -15.88}, {"id": "v296", "ph": "4c554378", "equity": 82994880, "ret": -17.01}, {"id": "v298", "ph": "5d4bbec0", "equity": 82799229, "ret": -17.2}, {"id": "v299", "ph": "25046b1a", "equity": 79039512, "ret": -20.96}, {"id": "v300", "ph": "c6ddc17b", "equity": 75498773, "ret": -24.5}], "20260720": [{"id": "v321", "ph": "e82de49b", "equity": 96303358, "ret": -3.7}, {"id": "v319", "ph": "ca25f043", "equity": 96044191, "ret": -3.96}, {"id": "v317", "ph": "51f8ee6d", "equity": 95288497, "ret": -4.71}, {"id": "v103", "ph": "75b0a37c", "equity": 93981281, "ret": -6.02}, {"id": "v205", "ph": "02e5a3f5", "equity": 93885806, "ret": -6.11}, {"id": "v203", "ph": "2071defa", "equity": 93581916, "ret": -6.42}, {"id": "v313", "ph": "b9f4ee72", "equity": 93201667, "ret": -6.8}, {"id": "v95", "ph": "7e28e756", "equity": 93141972, "ret": -6.86}, {"id": "v101", "ph": "c4354346", "equity": 92822611, "ret": -7.18}, {"id": "v197", "ph": "5c290a32", "equity": 92785025, "ret": -7.21}, {"id": "v107", "ph": "be5cd36b", "equity": 92365156, "ret": -7.63}, {"id": "v211", "ph": "9227673c", "equity": 92222608, "ret": -7.78}, {"id": "v59", "ph": "1858e2ec", "equity": 92203842, "ret": -7.8}, {"id": "v99", "ph": "fb39409b", "equity": 92148835, "ret": -7.85}, {"id": "v49", "ph": "cdba73e0", "equity": 92068274, "ret": -7.93}, {"id": "v316", "ph": "8dc1d197", "equity": 92048108, "ret": -7.95}, {"id": "v307", "ph": "6abce93d", "equity": 91964764, "ret": -8.04}, {"id": "v157", "ph": "80f3e23b", "equity": 91915976, "ret": -8.08}, {"id": "v199", "ph": "390bfab3", "equity": 91829052, "ret": -8.17}, {"id": "v318", "ph": "c99872ef", "equity": 91722878, "ret": -8.28}, {"id": "v57", "ph": "e7e98b6d", "equity": 91530428, "ret": -8.47}, {"id": "v320", "ph": "48d6a9ef", "equity": 91403769, "ret": -8.6}, {"id": "v87", "ph": "c0be98c0", "equity": 91390375, "ret": -8.61}, {"id": "v93", "ph": "f10d4e45", "equity": 91390375, "ret": -8.61}, {"id": "v97", "ph": "ebf31977", "equity": 91306098, "ret": -8.69}, {"id": "v304", "ph": "96c7e8e1", "equity": 91190931, "ret": -8.81}, {"id": "v189", "ph": "dfdbd0c8", "equity": 91179391, "ret": -8.82}, {"id": "v91", "ph": "5674a3d7", "equity": 91038152, "ret": -8.96}, {"id": "v209", "ph": "8730802d", "equity": 90834039, "ret": -9.17}, {"id": "v195", "ph": "dd89cf59", "equity": 90778699, "ret": -9.22}, {"id": "v201", "ph": "cb8a413e", "equity": 90778699, "ret": -9.22}, {"id": "v314", "ph": "7511570e", "equity": 90564147, "ret": -9.44}, {"id": "v81", "ph": "a6eac1e4", "equity": 90539154, "ret": -9.46}, {"id": "v306", "ph": "6966b8f6", "equity": 90332758, "ret": -9.67}, {"id": "v167", "ph": "b6d6aed8", "equity": 90306583, "ret": -9.69}, {"id": "v207", "ph": "0f6601a0", "equity": 90235466, "ret": -9.76}, {"id": "v215", "ph": "a904a49d", "equity": 90166566, "ret": -9.83}, {"id": "v213", "ph": "0e1d8e45", "equity": 90160174, "ret": -9.84}, {"id": "v161", "ph": "ed5677e6", "equity": 89630326, "ret": -10.37}, {"id": "v165", "ph": "8f862b27", "equity": 89630326, "ret": -10.37}, {"id": "v159", "ph": "af80c67a", "equity": 89531050, "ret": -10.47}, {"id": "v51", "ph": "21a98e46", "equity": 89486279, "ret": -10.51}, {"id": "v315", "ph": "e6d5b283", "equity": 89455929, "ret": -10.54}, {"id": "v105", "ph": "88395429", "equity": 89360548, "ret": -10.64}, {"id": "v89", "ph": "c49d5680", "equity": 89150562, "ret": -10.85}, {"id": "v308", "ph": "cb12dd0b", "equity": 88841934, "ret": -11.16}, {"id": "v310", "ph": "ec9dd55c", "equity": 88693215, "ret": -11.31}, {"id": "v155", "ph": "31c0d84e", "equity": 88538444, "ret": -11.46}, {"id": "v47", "ph": "ed758fcf", "equity": 88311396, "ret": -11.69}, {"id": "v305", "ph": "8cc4eea6", "equity": 87805982, "ret": -12.19}, {"id": "v149", "ph": "c5329f8d", "equity": 87377221, "ret": -12.62}, {"id": "v301", "ph": "30da2021", "equity": 87115160, "ret": -12.88}, {"id": "v312", "ph": "4c23846f", "equity": 86824419, "ret": -13.18}, {"id": "v217", "ph": "4c547a61", "equity": 86727416, "ret": -13.27}, {"id": "v218", "ph": "7304d2d4", "equity": 86727416, "ret": -13.27}, {"id": "v223", "ph": "b57356b8", "equity": 86665159, "ret": -13.33}, {"id": "v224", "ph": "888ab069", "equity": 86665159, "ret": -13.33}, {"id": "v229", "ph": "d9261dfb", "equity": 86665159, "ret": -13.33}, {"id": "v230", "ph": "141579fe", "equity": 86665159, "ret": -13.33}, {"id": "v235", "ph": "3e6c1666", "equity": 86665159, "ret": -13.33}, {"id": "v236", "ph": "f9c75560", "equity": 86665159, "ret": -13.33}, {"id": "v265", "ph": "7faed59d", "equity": 86665159, "ret": -13.33}, {"id": "v266", "ph": "c133b585", "equity": 86665159, "ret": -13.33}, {"id": "v271", "ph": "2b9ccdcd", "equity": 86665159, "ret": -13.33}, {"id": "v272", "ph": "2ed2027f", "equity": 86665159, "ret": -13.33}, {"id": "v277", "ph": "488b612a", "equity": 86665159, "ret": -13.33}, {"id": "v278", "ph": "861fb42b", "equity": 86665159, "ret": -13.33}, {"id": "v283", "ph": "479e4b25", "equity": 86665159, "ret": -13.33}, {"id": "v284", "ph": "261c5d58", "equity": 86665159, "ret": -13.33}, {"id": "v1", "ph": "4874f4c9", "equity": 86623058, "ret": -13.38}, {"id": "v309", "ph": "07610040", "equity": 86303983, "ret": -13.7}, {"id": "v311", "ph": "8409c6e5", "equity": 86212810, "ret": -13.79}, {"id": "v303", "ph": "1a084164", "equity": 86195681, "ret": -13.8}, {"id": "v151", "ph": "2eb1dd06", "equity": 85016045, "ret": -14.98}, {"id": "v41", "ph": "e9d84e84", "equity": 84517336, "ret": -15.48}, {"id": "v302", "ph": "3f30502d", "equity": 84451669, "ret": -15.55}, {"id": "v147", "ph": "2fbeeedb", "equity": 83598548, "ret": -16.4}, {"id": "v4", "ph": "b6219595", "equity": 81621988, "ret": -18.38}, {"id": "v296", "ph": "4c554378", "equity": 80332295, "ret": -19.67}, {"id": "v40", "ph": "70731d89", "equity": 79967856, "ret": -20.03}, {"id": "v298", "ph": "5d4bbec0", "equity": 78569163, "ret": -21.43}, {"id": "v299", "ph": "25046b1a", "equity": 74944589, "ret": -25.06}, {"id": "v300", "ph": "c6ddc17b", "equity": 71115223, "ret": -28.88}], "20260721": [{"id": "v321", "ph": "e82de49b", "equity": 96591994, "ret": -3.41}, {"id": "v319", "ph": "ca25f043", "equity": 96446024, "ret": -3.55}, {"id": "v317", "ph": "51f8ee6d", "equity": 95147797, "ret": -4.85}, {"id": "v103", "ph": "75b0a37c", "equity": 93883981, "ret": -6.12}, {"id": "v205", "ph": "02e5a3f5", "equity": 93630760, "ret": -6.37}, {"id": "v313", "ph": "b9f4ee72", "equity": 93214559, "ret": -6.79}, {"id": "v203", "ph": "2071defa", "equity": 93087341, "ret": -6.91}, {"id": "v101", "ph": "c4354346", "equity": 92722111, "ret": -7.28}, {"id": "v197", "ph": "5c290a32", "equity": 92429405, "ret": -7.57}, {"id": "v95", "ph": "7e28e756", "equity": 92395930, "ret": -7.6}, {"id": "v59", "ph": "1858e2ec", "equity": 92162442, "ret": -7.84}, {"id": "v211", "ph": "9227673c", "equity": 92124448, "ret": -7.88}, {"id": "v99", "ph": "fb39409b", "equity": 92048335, "ret": -7.95}, {"id": "v316", "ph": "8dc1d197", "equity": 92025212, "ret": -7.97}, {"id": "v107", "ph": "be5cd36b", "equity": 91820632, "ret": -8.18}, {"id": "v307", "ph": "6abce93d", "equity": 91510486, "ret": -8.49}, {"id": "v57", "ph": "e7e98b6d", "equity": 91488608, "ret": -8.51}, {"id": "v49", "ph": "cdba73e0", "equity": 91443759, "ret": -8.56}, {"id": "v157", "ph": "80f3e23b", "equity": 91414714, "ret": -8.59}, {"id": "v320", "ph": "48d6a9ef", "equity": 91379973, "ret": -8.62}, {"id": "v199", "ph": "390bfab3", "equity": 91374084, "ret": -8.63}, {"id": "v318", "ph": "c99872ef", "equity": 91356580, "ret": -8.64}, {"id": "v97", "ph": "ebf31977", "equity": 91347946, "ret": -8.65}, {"id": "v304", "ph": "96c7e8e1", "equity": 91228811, "ret": -8.77}, {"id": "v87", "ph": "c0be98c0", "equity": 91188775, "ret": -8.81}, {"id": "v93", "ph": "f10d4e45", "equity": 91188775, "ret": -8.81}, {"id": "v91", "ph": "5674a3d7", "equity": 90877452, "ret": -9.12}, {"id": "v209", "ph": "8730802d", "equity": 90733539, "ret": -9.27}, {"id": "v195", "ph": "dd89cf59", "equity": 90576255, "ret": -9.42}, {"id": "v201", "ph": "cb8a413e", "equity": 90576255, "ret": -9.42}, {"id": "v189", "ph": "dfdbd0c8", "equity": 90513367, "ret": -9.49}, {"id": "v314", "ph": "7511570e", "equity": 90457850, "ret": -9.54}, {"id": "v306", "ph": "6966b8f6", "equity": 90451761, "ret": -9.55}, {"id": "v167", "ph": "b6d6aed8", "equity": 90194183, "ret": -9.81}, {"id": "v207", "ph": "0f6601a0", "equity": 90128866, "ret": -9.87}, {"id": "v213", "ph": "0e1d8e45", "equity": 89791224, "ret": -10.21}, {"id": "v81", "ph": "a6eac1e4", "equity": 89684613, "ret": -10.32}, {"id": "v215", "ph": "a904a49d", "equity": 89631706, "ret": -10.37}, {"id": "v161", "ph": "ed5677e6", "equity": 89518526, "ret": -10.48}, {"id": "v165", "ph": "8f862b27", "equity": 89518526, "ret": -10.48}, {"id": "v315", "ph": "e6d5b283", "equity": 89479409, "ret": -10.52}, {"id": "v89", "ph": "c49d5680", "equity": 89096535, "ret": -10.9}, {"id": "v159", "ph": "af80c67a", "equity": 88860327, "ret": -11.14}, {"id": "v51", "ph": "21a98e46", "equity": 88745286, "ret": -11.25}, {"id": "v105", "ph": "88395429", "equity": 88751830, "ret": -11.25}, {"id": "v308", "ph": "cb12dd0b", "equity": 88706257, "ret": -11.29}, {"id": "v310", "ph": "ec9dd55c", "equity": 88585915, "ret": -11.41}, {"id": "v155", "ph": "31c0d84e", "equity": 88148500, "ret": -11.85}, {"id": "v305", "ph": "8cc4eea6", "equity": 87864506, "ret": -12.14}, {"id": "v47", "ph": "ed758fcf", "equity": 87810183, "ret": -12.19}, {"id": "v301", "ph": "30da2021", "equity": 87082070, "ret": -12.92}, {"id": "v312", "ph": "4c23846f", "equity": 87081619, "ret": -12.92}, {"id": "v149", "ph": "c5329f8d", "equity": 86977446, "ret": -13.02}, {"id": "v1", "ph": "4874f4c9", "equity": 86563348, "ret": -13.44}, {"id": "v309", "ph": "07610040", "equity": 86463979, "ret": -13.54}, {"id": "v311", "ph": "8409c6e5", "equity": 86101230, "ret": -13.9}, {"id": "v217", "ph": "4c547a61", "equity": 86090367, "ret": -13.91}, {"id": "v218", "ph": "7304d2d4", "equity": 86090367, "ret": -13.91}, {"id": "v223", "ph": "b57356b8", "equity": 86028111, "ret": -13.97}, {"id": "v224", "ph": "888ab069", "equity": 86028111, "ret": -13.97}, {"id": "v229", "ph": "d9261dfb", "equity": 86028111, "ret": -13.97}, {"id": "v230", "ph": "141579fe", "equity": 86028111, "ret": -13.97}, {"id": "v235", "ph": "3e6c1666", "equity": 86028111, "ret": -13.97}, {"id": "v236", "ph": "f9c75560", "equity": 86028111, "ret": -13.97}, {"id": "v265", "ph": "7faed59d", "equity": 86028111, "ret": -13.97}, {"id": "v266", "ph": "c133b585", "equity": 86028111, "ret": -13.97}, {"id": "v271", "ph": "2b9ccdcd", "equity": 86028111, "ret": -13.97}, {"id": "v272", "ph": "2ed2027f", "equity": 86028111, "ret": -13.97}, {"id": "v277", "ph": "488b612a", "equity": 86028111, "ret": -13.97}, {"id": "v278", "ph": "861fb42b", "equity": 86028111, "ret": -13.97}, {"id": "v283", "ph": "479e4b25", "equity": 86028111, "ret": -13.97}, {"id": "v284", "ph": "261c5d58", "equity": 86028111, "ret": -13.97}, {"id": "v303", "ph": "1a084164", "equity": 85800353, "ret": -14.2}, {"id": "v151", "ph": "2eb1dd06", "equity": 84317520, "ret": -15.68}, {"id": "v302", "ph": "3f30502d", "equity": 84240679, "ret": -15.76}, {"id": "v41", "ph": "e9d84e84", "equity": 84181614, "ret": -15.82}, {"id": "v147", "ph": "2fbeeedb", "equity": 82857327, "ret": -17.14}, {"id": "v4", "ph": "b6219595", "equity": 81505657, "ret": -18.49}, {"id": "v296", "ph": "4c554378", "equity": 80029835, "ret": -19.97}, {"id": "v40", "ph": "70731d89", "equity": 79724166, "ret": -20.28}, {"id": "v298", "ph": "5d4bbec0", "equity": 78134788, "ret": -21.87}, {"id": "v299", "ph": "25046b1a", "equity": 75186062, "ret": -24.81}, {"id": "v300", "ph": "c6ddc17b", "equity": 70909523, "ret": -29.09}], "20260722": [{"id": "v319", "ph": "ca25f043", "equity": 96641404, "ret": -3.36}, {"id": "v321", "ph": "e82de49b", "equity": 95537377, "ret": -4.46}, {"id": "v317", "ph": "51f8ee6d", "equity": 94531711, "ret": -5.47}, {"id": "v103", "ph": "75b0a37c", "equity": 93201324, "ret": -6.8}, {"id": "v313", "ph": "b9f4ee72", "equity": 92977447, "ret": -7.02}, {"id": "v203", "ph": "2071defa", "equity": 92580836, "ret": -7.42}, {"id": "v101", "ph": "c4354346", "equity": 92115111, "ret": -7.88}, {"id": "v205", "ph": "02e5a3f5", "equity": 92057986, "ret": -7.94}, {"id": "v95", "ph": "7e28e756", "equity": 91889124, "ret": -8.11}, {"id": "v59", "ph": "1858e2ec", "equity": 91558042, "ret": -8.44}, {"id": "v316", "ph": "8dc1d197", "equity": 91493287, "ret": -8.51}, {"id": "v99", "ph": "fb39409b", "equity": 91441335, "ret": -8.56}, {"id": "v211", "ph": "9227673c", "equity": 91363538, "ret": -8.64}, {"id": "v107", "ph": "be5cd36b", "equity": 91245339, "ret": -8.75}, {"id": "v49", "ph": "cdba73e0", "equity": 90956284, "ret": -9.04}, {"id": "v57", "ph": "e7e98b6d", "equity": 90884208, "ret": -9.12}, {"id": "v157", "ph": "80f3e23b", "equity": 90863739, "ret": -9.14}, {"id": "v320", "ph": "48d6a9ef", "equity": 90822660, "ret": -9.18}, {"id": "v307", "ph": "6abce93d", "equity": 90804817, "ret": -9.2}, {"id": "v199", "ph": "390bfab3", "equity": 90742209, "ret": -9.26}, {"id": "v197", "ph": "5c290a32", "equity": 90666801, "ret": -9.33}, {"id": "v318", "ph": "c99872ef", "equity": 90516380, "ret": -9.48}, {"id": "v87", "ph": "c0be98c0", "equity": 90307213, "ret": -9.69}, {"id": "v93", "ph": "f10d4e45", "equity": 90307213, "ret": -9.69}, {"id": "v304", "ph": "96c7e8e1", "equity": 90277144, "ret": -9.72}, {"id": "v209", "ph": "8730802d", "equity": 90126539, "ret": -9.87}, {"id": "v91", "ph": "5674a3d7", "equity": 90021177, "ret": -9.98}, {"id": "v314", "ph": "7511570e", "equity": 89783375, "ret": -10.22}, {"id": "v189", "ph": "dfdbd0c8", "equity": 89633593, "ret": -10.37}, {"id": "v195", "ph": "dd89cf59", "equity": 89617275, "ret": -10.38}, {"id": "v201", "ph": "cb8a413e", "equity": 89617275, "ret": -10.38}, {"id": "v167", "ph": "b6d6aed8", "equity": 89610883, "ret": -10.39}, {"id": "v97", "ph": "ebf31977", "equity": 89568560, "ret": -10.43}, {"id": "v207", "ph": "0f6601a0", "equity": 89545866, "ret": -10.45}, {"id": "v215", "ph": "a904a49d", "equity": 88987147, "ret": -11.01}, {"id": "v161", "ph": "ed5677e6", "equity": 88936526, "ret": -11.06}, {"id": "v165", "ph": "8f862b27", "equity": 88936526, "ret": -11.06}, {"id": "v81", "ph": "a6eac1e4", "equity": 88933538, "ret": -11.07}, {"id": "v315", "ph": "e6d5b283", "equity": 88851609, "ret": -11.15}, {"id": "v306", "ph": "6966b8f6", "equity": 88712580, "ret": -11.29}, {"id": "v213", "ph": "0e1d8e45", "equity": 88203339, "ret": -11.8}, {"id": "v310", "ph": "ec9dd55c", "equity": 88037815, "ret": -11.96}, {"id": "v51", "ph": "21a98e46", "equity": 88001642, "ret": -12.0}, {"id": "v159", "ph": "af80c67a", "equity": 87978483, "ret": -12.02}, {"id": "v105", "ph": "88395429", "equity": 87164209, "ret": -12.84}, {"id": "v89", "ph": "c49d5680", "equity": 87152293, "ret": -12.85}, {"id": "v308", "ph": "cb12dd0b", "equity": 86987617, "ret": -13.01}, {"id": "v305", "ph": "8cc4eea6", "equity": 86676626, "ret": -13.32}, {"id": "v155", "ph": "31c0d84e", "equity": 86517483, "ret": -13.48}, {"id": "v301", "ph": "30da2021", "equity": 86299570, "ret": -13.7}, {"id": "v47", "ph": "ed758fcf", "equity": 86262582, "ret": -13.74}, {"id": "v312", "ph": "4c23846f", "equity": 85729419, "ret": -14.27}, {"id": "v1", "ph": "4874f4c9", "equity": 85660548, "ret": -14.34}, {"id": "v149", "ph": "c5329f8d", "equity": 85242679, "ret": -14.76}, {"id": "v303", "ph": "1a084164", "equity": 85186241, "ret": -14.81}, {"id": "v311", "ph": "8409c6e5", "equity": 85184230, "ret": -14.82}, {"id": "v218", "ph": "7304d2d4", "equity": 85145383, "ret": -14.85}, {"id": "v217", "ph": "4c547a61", "equity": 85097376, "ret": -14.9}, {"id": "v223", "ph": "b57356b8", "equity": 85083127, "ret": -14.92}, {"id": "v224", "ph": "888ab069", "equity": 85083127, "ret": -14.92}, {"id": "v229", "ph": "d9261dfb", "equity": 85083127, "ret": -14.92}, {"id": "v230", "ph": "141579fe", "equity": 85083127, "ret": -14.92}, {"id": "v235", "ph": "3e6c1666", "equity": 85083127, "ret": -14.92}, {"id": "v236", "ph": "f9c75560", "equity": 85083127, "ret": -14.92}, {"id": "v265", "ph": "7faed59d", "equity": 85083127, "ret": -14.92}, {"id": "v266", "ph": "c133b585", "equity": 85083127, "ret": -14.92}, {"id": "v271", "ph": "2b9ccdcd", "equity": 85083127, "ret": -14.92}, {"id": "v272", "ph": "2ed2027f", "equity": 85083127, "ret": -14.92}, {"id": "v277", "ph": "488b612a", "equity": 85083127, "ret": -14.92}, {"id": "v278", "ph": "861fb42b", "equity": 85083127, "ret": -14.92}, {"id": "v283", "ph": "479e4b25", "equity": 85083127, "ret": -14.92}, {"id": "v284", "ph": "261c5d58", "equity": 85083127, "ret": -14.92}, {"id": "v309", "ph": "07610040", "equity": 84801897, "ret": -15.2}, {"id": "v302", "ph": "3f30502d", "equity": 82984780, "ret": -17.02}, {"id": "v41", "ph": "e9d84e84", "equity": 82442562, "ret": -17.56}, {"id": "v151", "ph": "2eb1dd06", "equity": 82206766, "ret": -17.79}, {"id": "v147", "ph": "2fbeeedb", "equity": 80675705, "ret": -19.32}, {"id": "v4", "ph": "b6219595", "equity": 79163178, "ret": -20.84}, {"id": "v296", "ph": "4c554378", "equity": 79015755, "ret": -20.98}, {"id": "v40", "ph": "70731d89", "equity": 77413917, "ret": -22.59}, {"id": "v298", "ph": "5d4bbec0", "equity": 77045963, "ret": -22.95}, {"id": "v299", "ph": "25046b1a", "equity": 73699362, "ret": -26.3}, {"id": "v300", "ph": "c6ddc17b", "equity": 70020634, "ret": -29.98}], "20260723": [{"id": "v319", "ph": "ca25f043", "equity": 97344281, "ret": -2.66}, {"id": "v321", "ph": "e82de49b", "equity": 96850290, "ret": -3.15}, {"id": "v317", "ph": "51f8ee6d", "equity": 95483411, "ret": -4.52}, {"id": "v103", "ph": "75b0a37c", "equity": 94719243, "ret": -5.28}, {"id": "v203", "ph": "2071defa", "equity": 94158254, "ret": -5.84}, {"id": "v313", "ph": "b9f4ee72", "equity": 93714884, "ret": -6.29}, {"id": "v101", "ph": "c4354346", "equity": 93675266, "ret": -6.32}, {"id": "v95", "ph": "7e28e756", "equity": 93472137, "ret": -6.53}, {"id": "v205", "ph": "02e5a3f5", "equity": 93469960, "ret": -6.53}, {"id": "v59", "ph": "1858e2ec", "equity": 93262679, "ret": -6.74}, {"id": "v99", "ph": "fb39409b", "equity": 92998776, "ret": -7.0}, {"id": "v211", "ph": "9227673c", "equity": 92839096, "ret": -7.16}, {"id": "v107", "ph": "be5cd36b", "equity": 92768400, "ret": -7.23}, {"id": "v49", "ph": "cdba73e0", "equity": 92637002, "ret": -7.36}, {"id": "v57", "ph": "e7e98b6d", "equity": 92587857, "ret": -7.41}, {"id": "v157", "ph": "80f3e23b", "equity": 92198402, "ret": -7.8}, {"id": "v197", "ph": "5c290a32", "equity": 92020162, "ret": -7.98}, {"id": "v318", "ph": "c99872ef", "equity": 91922879, "ret": -8.08}, {"id": "v199", "ph": "390bfab3", "equity": 91822113, "ret": -8.18}, {"id": "v87", "ph": "c0be98c0", "equity": 91746796, "ret": -8.25}, {"id": "v93", "ph": "f10d4e45", "equity": 91746796, "ret": -8.25}, {"id": "v316", "ph": "8dc1d197", "equity": 91739958, "ret": -8.26}, {"id": "v209", "ph": "8730802d", "equity": 91679109, "ret": -8.32}, {"id": "v307", "ph": "6abce93d", "equity": 91621406, "ret": -8.38}, {"id": "v91", "ph": "5674a3d7", "equity": 91420862, "ret": -8.58}, {"id": "v167", "ph": "b6d6aed8", "equity": 91099221, "ret": -8.9}, {"id": "v320", "ph": "48d6a9ef", "equity": 91086838, "ret": -8.91}, {"id": "v207", "ph": "0f6601a0", "equity": 91055209, "ret": -8.94}, {"id": "v315", "ph": "e6d5b283", "equity": 91044857, "ret": -8.96}, {"id": "v195", "ph": "dd89cf59", "equity": 91023841, "ret": -8.98}, {"id": "v201", "ph": "cb8a413e", "equity": 91023841, "ret": -8.98}, {"id": "v189", "ph": "dfdbd0c8", "equity": 90930405, "ret": -9.07}, {"id": "v97", "ph": "ebf31977", "equity": 90916706, "ret": -9.08}, {"id": "v304", "ph": "96c7e8e1", "equity": 90835706, "ret": -9.16}, {"id": "v314", "ph": "7511570e", "equity": 90554102, "ret": -9.45}, {"id": "v215", "ph": "a904a49d", "equity": 90456632, "ret": -9.54}, {"id": "v161", "ph": "ed5677e6", "equity": 90423951, "ret": -9.58}, {"id": "v165", "ph": "8f862b27", "equity": 90423951, "ret": -9.58}, {"id": "v81", "ph": "a6eac1e4", "equity": 90376813, "ret": -9.62}, {"id": "v306", "ph": "6966b8f6", "equity": 90321719, "ret": -9.68}, {"id": "v213", "ph": "0e1d8e45", "equity": 89961686, "ret": -10.04}, {"id": "v51", "ph": "21a98e46", "equity": 89571712, "ret": -10.43}, {"id": "v159", "ph": "af80c67a", "equity": 89135465, "ret": -10.86}, {"id": "v105", "ph": "88395429", "equity": 88920614, "ret": -11.08}, {"id": "v310", "ph": "ec9dd55c", "equity": 88699473, "ret": -11.3}, {"id": "v308", "ph": "cb12dd0b", "equity": 88514255, "ret": -11.49}, {"id": "v89", "ph": "c49d5680", "equity": 88441737, "ret": -11.56}, {"id": "v301", "ph": "30da2021", "equity": 88202693, "ret": -11.8}, {"id": "v1", "ph": "4874f4c9", "equity": 88009125, "ret": -11.99}, {"id": "v47", "ph": "ed758fcf", "equity": 87718830, "ret": -12.28}, {"id": "v312", "ph": "4c23846f", "equity": 87724114, "ret": -12.28}, {"id": "v305", "ph": "8cc4eea6", "equity": 87671213, "ret": -12.33}, {"id": "v155", "ph": "31c0d84e", "equity": 87570429, "ret": -12.43}, {"id": "v309", "ph": "07610040", "equity": 86809577, "ret": -13.19}, {"id": "v311", "ph": "8409c6e5", "equity": 86747172, "ret": -13.25}, {"id": "v149", "ph": "c5329f8d", "equity": 86595308, "ret": -13.4}, {"id": "v303", "ph": "1a084164", "equity": 86502167, "ret": -13.5}, {"id": "v217", "ph": "4c547a61", "equity": 86319467, "ret": -13.68}, {"id": "v223", "ph": "b57356b8", "equity": 86305218, "ret": -13.69}, {"id": "v229", "ph": "d9261dfb", "equity": 86305218, "ret": -13.69}, {"id": "v235", "ph": "3e6c1666", "equity": 86305218, "ret": -13.69}, {"id": "v265", "ph": "7faed59d", "equity": 86305218, "ret": -13.69}, {"id": "v271", "ph": "2b9ccdcd", "equity": 86305218, "ret": -13.69}, {"id": "v277", "ph": "488b612a", "equity": 86305218, "ret": -13.69}, {"id": "v283", "ph": "479e4b25", "equity": 86305218, "ret": -13.69}, {"id": "v218", "ph": "7304d2d4", "equity": 86106155, "ret": -13.89}, {"id": "v224", "ph": "888ab069", "equity": 86043899, "ret": -13.96}, {"id": "v230", "ph": "141579fe", "equity": 86043899, "ret": -13.96}, {"id": "v236", "ph": "f9c75560", "equity": 86043899, "ret": -13.96}, {"id": "v266", "ph": "c133b585", "equity": 86043899, "ret": -13.96}, {"id": "v272", "ph": "2ed2027f", "equity": 86043899, "ret": -13.96}, {"id": "v278", "ph": "861fb42b", "equity": 86043899, "ret": -13.96}, {"id": "v284", "ph": "261c5d58", "equity": 86043899, "ret": -13.96}, {"id": "v302", "ph": "3f30502d", "equity": 84642676, "ret": -15.36}, {"id": "v41", "ph": "e9d84e84", "equity": 84069115, "ret": -15.93}, {"id": "v151", "ph": "2eb1dd06", "equity": 83455339, "ret": -16.54}, {"id": "v147", "ph": "2fbeeedb", "equity": 81819890, "ret": -18.18}, {"id": "v4", "ph": "b6219595", "equity": 81192265, "ret": -18.81}, {"id": "v296", "ph": "4c554378", "equity": 80153572, "ret": -19.85}, {"id": "v298", "ph": "5d4bbec0", "equity": 79608330, "ret": -20.39}, {"id": "v40", "ph": "70731d89", "equity": 79425329, "ret": -20.57}, {"id": "v299", "ph": "25046b1a", "equity": 75593122, "ret": -24.41}, {"id": "v300", "ph": "c6ddc17b", "equity": 70280913, "ret": -29.72}], "20260724": [{"id": "v321", "ph": "e82de49b", "equity": 96237233, "ret": -3.76}, {"id": "v319", "ph": "ca25f043", "equity": 96203069, "ret": -3.8}, {"id": "v317", "ph": "51f8ee6d", "equity": 95142012, "ret": -4.86}, {"id": "v103", "ph": "75b0a37c", "equity": 94389132, "ret": -5.61}, {"id": "v203", "ph": "2071defa", "equity": 94123912, "ret": -5.88}, {"id": "v101", "ph": "c4354346", "equity": 93837838, "ret": -6.16}, {"id": "v59", "ph": "1858e2ec", "equity": 93439966, "ret": -6.56}, {"id": "v95", "ph": "7e28e756", "equity": 93440053, "ret": -6.56}, {"id": "v99", "ph": "fb39409b", "equity": 93161488, "ret": -6.84}, {"id": "v313", "ph": "b9f4ee72", "equity": 93040980, "ret": -6.96}, {"id": "v57", "ph": "e7e98b6d", "equity": 92766145, "ret": -7.23}, {"id": "v205", "ph": "02e5a3f5", "equity": 92735433, "ret": -7.26}, {"id": "v49", "ph": "cdba73e0", "equity": 92627409, "ret": -7.37}, {"id": "v211", "ph": "9227673c", "equity": 92514138, "ret": -7.49}, {"id": "v157", "ph": "80f3e23b", "equity": 92321501, "ret": -7.68}, {"id": "v107", "ph": "be5cd36b", "equity": 92301034, "ret": -7.7}, {"id": "v318", "ph": "c99872ef", "equity": 92080434, "ret": -7.92}, {"id": "v209", "ph": "8730802d", "equity": 91841028, "ret": -8.16}, {"id": "v87", "ph": "c0be98c0", "equity": 91427126, "ret": -8.57}, {"id": "v93", "ph": "f10d4e45", "equity": 91427126, "ret": -8.57}, {"id": "v199", "ph": "390bfab3", "equity": 91380551, "ret": -8.62}, {"id": "v167", "ph": "b6d6aed8", "equity": 91262815, "ret": -8.74}, {"id": "v207", "ph": "0f6601a0", "equity": 91216803, "ret": -8.78}, {"id": "v197", "ph": "5c290a32", "equity": 91077525, "ret": -8.92}, {"id": "v316", "ph": "8dc1d197", "equity": 91062293, "ret": -8.94}, {"id": "v91", "ph": "5674a3d7", "equity": 91042619, "ret": -8.96}, {"id": "v307", "ph": "6abce93d", "equity": 90976224, "ret": -9.02}, {"id": "v315", "ph": "e6d5b283", "equity": 90845783, "ret": -9.15}, {"id": "v195", "ph": "dd89cf59", "equity": 90706261, "ret": -9.29}, {"id": "v201", "ph": "cb8a413e", "equity": 90706261, "ret": -9.29}, {"id": "v161", "ph": "ed5677e6", "equity": 90585528, "ret": -9.41}, {"id": "v165", "ph": "8f862b27", "equity": 90585528, "ret": -9.41}, {"id": "v189", "ph": "dfdbd0c8", "equity": 90470422, "ret": -9.53}, {"id": "v320", "ph": "48d6a9ef", "equity": 90368822, "ret": -9.63}, {"id": "v314", "ph": "7511570e", "equity": 90252487, "ret": -9.75}, {"id": "v304", "ph": "96c7e8e1", "equity": 90177917, "ret": -9.82}, {"id": "v97", "ph": "ebf31977", "equity": 90152329, "ret": -9.85}, {"id": "v215", "ph": "a904a49d", "equity": 90016445, "ret": -9.98}, {"id": "v81", "ph": "a6eac1e4", "equity": 89712670, "ret": -10.29}, {"id": "v306", "ph": "6966b8f6", "equity": 89501964, "ret": -10.5}, {"id": "v213", "ph": "0e1d8e45", "equity": 89150614, "ret": -10.85}, {"id": "v51", "ph": "21a98e46", "equity": 88932420, "ret": -11.07}, {"id": "v159", "ph": "af80c67a", "equity": 88745758, "ret": -11.25}, {"id": "v301", "ph": "30da2021", "equity": 88250018, "ret": -11.75}, {"id": "v1", "ph": "4874f4c9", "equity": 88118722, "ret": -11.88}, {"id": "v105", "ph": "88395429", "equity": 88117432, "ret": -11.88}, {"id": "v310", "ph": "ec9dd55c", "equity": 88076730, "ret": -11.92}, {"id": "v308", "ph": "cb12dd0b", "equity": 87474376, "ret": -12.53}, {"id": "v312", "ph": "4c23846f", "equity": 87471024, "ret": -12.53}, {"id": "v89", "ph": "c49d5680", "equity": 87455787, "ret": -12.54}, {"id": "v305", "ph": "8cc4eea6", "equity": 86976768, "ret": -13.02}, {"id": "v47", "ph": "ed758fcf", "equity": 86781583, "ret": -13.22}, {"id": "v309", "ph": "07610040", "equity": 86727542, "ret": -13.27}, {"id": "v155", "ph": "31c0d84e", "equity": 86636675, "ret": -13.36}, {"id": "v311", "ph": "8409c6e5", "equity": 86322712, "ret": -13.68}, {"id": "v303", "ph": "1a084164", "equity": 85646622, "ret": -14.35}, {"id": "v217", "ph": "4c547a61", "equity": 85578880, "ret": -14.42}, {"id": "v223", "ph": "b57356b8", "equity": 85564631, "ret": -14.44}, {"id": "v229", "ph": "d9261dfb", "equity": 85564631, "ret": -14.44}, {"id": "v235", "ph": "3e6c1666", "equity": 85564631, "ret": -14.44}, {"id": "v265", "ph": "7faed59d", "equity": 85564631, "ret": -14.44}, {"id": "v271", "ph": "2b9ccdcd", "equity": 85564631, "ret": -14.44}, {"id": "v277", "ph": "488b612a", "equity": 85564631, "ret": -14.44}, {"id": "v283", "ph": "479e4b25", "equity": 85564631, "ret": -14.44}, {"id": "v149", "ph": "c5329f8d", "equity": 85370732, "ret": -14.63}, {"id": "v218", "ph": "7304d2d4", "equity": 85156011, "ret": -14.84}, {"id": "v224", "ph": "888ab069", "equity": 85093755, "ret": -14.91}, {"id": "v230", "ph": "141579fe", "equity": 85093755, "ret": -14.91}, {"id": "v236", "ph": "f9c75560", "equity": 85093755, "ret": -14.91}, {"id": "v266", "ph": "c133b585", "equity": 85093755, "ret": -14.91}, {"id": "v272", "ph": "2ed2027f", "equity": 85093755, "ret": -14.91}, {"id": "v278", "ph": "861fb42b", "equity": 85093755, "ret": -14.91}, {"id": "v284", "ph": "261c5d58", "equity": 85093755, "ret": -14.91}, {"id": "v302", "ph": "3f30502d", "equity": 83847192, "ret": -16.15}, {"id": "v41", "ph": "e9d84e84", "equity": 82899458, "ret": -17.1}, {"id": "v151", "ph": "2eb1dd06", "equity": 81773497, "ret": -18.23}, {"id": "v147", "ph": "2fbeeedb", "equity": 80283719, "ret": -19.72}, {"id": "v296", "ph": "4c554378", "equity": 79663192, "ret": -20.34}, {"id": "v4", "ph": "b6219595", "equity": 79399957, "ret": -20.6}, {"id": "v298", "ph": "5d4bbec0", "equity": 79128726, "ret": -20.87}, {"id": "v40", "ph": "70731d89", "equity": 77672758, "ret": -22.33}, {"id": "v299", "ph": "25046b1a", "equity": 74613187, "ret": -25.39}, {"id": "v300", "ph": "c6ddc17b", "equity": 68893661, "ret": -31.11}], "20260727": [{"id": "v319", "ph": "ca25f043", "equity": 96215398, "ret": -3.78}, {"id": "v321", "ph": "e82de49b", "equity": 96119353, "ret": -3.88}, {"id": "v317", "ph": "51f8ee6d", "equity": 94365997, "ret": -5.63}, {"id": "v313", "ph": "b9f4ee72", "equity": 92087348, "ret": -7.91}, {"id": "v205", "ph": "02e5a3f5", "equity": 91566888, "ret": -8.43}, {"id": "v103", "ph": "75b0a37c", "equity": 91527732, "ret": -8.47}, {"id": "v318", "ph": "c99872ef", "equity": 91436234, "ret": -8.56}, {"id": "v101", "ph": "c4354346", "equity": 91386557, "ret": -8.61}, {"id": "v316", "ph": "8dc1d197", "equity": 91315493, "ret": -8.68}, {"id": "v203", "ph": "2071defa", "equity": 91263472, "ret": -8.74}, {"id": "v59", "ph": "1858e2ec", "equity": 91203098, "ret": -8.8}, {"id": "v99", "ph": "fb39409b", "equity": 90724166, "ret": -9.28}, {"id": "v95", "ph": "7e28e756", "equity": 90643772, "ret": -9.36}, {"id": "v320", "ph": "48d6a9ef", "equity": 90640222, "ret": -9.36}, {"id": "v57", "ph": "e7e98b6d", "equity": 90538996, "ret": -9.46}, {"id": "v304", "ph": "96c7e8e1", "equity": 90010466, "ret": -9.99}, {"id": "v197", "ph": "5c290a32", "equity": 89994081, "ret": -10.01}, {"id": "v49", "ph": "cdba73e0", "equity": 89967305, "ret": -10.03}, {"id": "v307", "ph": "6abce93d", "equity": 89797098, "ret": -10.2}, {"id": "v211", "ph": "9227673c", "equity": 89696806, "ret": -10.3}, {"id": "v157", "ph": "80f3e23b", "equity": 89520572, "ret": -10.48}, {"id": "v97", "ph": "ebf31977", "equity": 89499524, "ret": -10.5}, {"id": "v209", "ph": "8730802d", "equity": 89427970, "ret": -10.57}, {"id": "v315", "ph": "e6d5b283", "equity": 89407562, "ret": -10.59}, {"id": "v314", "ph": "7511570e", "equity": 89232014, "ret": -10.77}, {"id": "v199", "ph": "390bfab3", "equity": 89136479, "ret": -10.86}, {"id": "v107", "ph": "be5cd36b", "equity": 88997031, "ret": -11.0}, {"id": "v306", "ph": "6966b8f6", "equity": 88898954, "ret": -11.1}, {"id": "v167", "ph": "b6d6aed8", "equity": 88855562, "ret": -11.14}, {"id": "v91", "ph": "5674a3d7", "equity": 88823953, "ret": -11.18}, {"id": "v207", "ph": "0f6601a0", "equity": 88816070, "ret": -11.18}, {"id": "v87", "ph": "c0be98c0", "equity": 88636523, "ret": -11.36}, {"id": "v93", "ph": "f10d4e45", "equity": 88636523, "ret": -11.36}, {"id": "v161", "ph": "ed5677e6", "equity": 88195113, "ret": -11.8}, {"id": "v165", "ph": "8f862b27", "equity": 88195113, "ret": -11.8}, {"id": "v195", "ph": "dd89cf59", "equity": 87928163, "ret": -12.07}, {"id": "v201", "ph": "cb8a413e", "equity": 87928163, "ret": -12.07}, {"id": "v310", "ph": "ec9dd55c", "equity": 87713974, "ret": -12.29}, {"id": "v189", "ph": "dfdbd0c8", "equity": 87256821, "ret": -12.74}, {"id": "v213", "ph": "0e1d8e45", "equity": 87225882, "ret": -12.77}, {"id": "v89", "ph": "c49d5680", "equity": 86914225, "ret": -13.09}, {"id": "v215", "ph": "a904a49d", "equity": 86794256, "ret": -13.21}, {"id": "v305", "ph": "8cc4eea6", "equity": 86692434, "ret": -13.31}, {"id": "v81", "ph": "a6eac1e4", "equity": 86512696, "ret": -13.49}, {"id": "v308", "ph": "cb12dd0b", "equity": 86242151, "ret": -13.76}, {"id": "v312", "ph": "4c23846f", "equity": 86237324, "ret": -13.76}, {"id": "v105", "ph": "88395429", "equity": 86181944, "ret": -13.82}, {"id": "v47", "ph": "ed758fcf", "equity": 85970426, "ret": -14.03}, {"id": "v51", "ph": "21a98e46", "equity": 85923618, "ret": -14.08}, {"id": "v311", "ph": "8409c6e5", "equity": 85840299, "ret": -14.16}, {"id": "v159", "ph": "af80c67a", "equity": 85556128, "ret": -14.44}, {"id": "v309", "ph": "07610040", "equity": 85212542, "ret": -14.79}, {"id": "v301", "ph": "30da2021", "equity": 85064270, "ret": -14.94}, {"id": "v155", "ph": "31c0d84e", "equity": 84722023, "ret": -15.28}, {"id": "v1", "ph": "4874f4c9", "equity": 84354514, "ret": -15.65}, {"id": "v149", "ph": "c5329f8d", "equity": 84276130, "ret": -15.72}, {"id": "v303", "ph": "1a084164", "equity": 84040178, "ret": -15.96}, {"id": "v223", "ph": "b57356b8", "equity": 83914010, "ret": -16.09}, {"id": "v235", "ph": "3e6c1666", "equity": 83914010, "ret": -16.09}, {"id": "v265", "ph": "7faed59d", "equity": 83914010, "ret": -16.09}, {"id": "v271", "ph": "2b9ccdcd", "equity": 83914010, "ret": -16.09}, {"id": "v217", "ph": "4c547a61", "equity": 83870676, "ret": -16.13}, {"id": "v229", "ph": "d9261dfb", "equity": 83856427, "ret": -16.14}, {"id": "v277", "ph": "488b612a", "equity": 83856427, "ret": -16.14}, {"id": "v283", "ph": "479e4b25", "equity": 83856427, "ret": -16.14}, {"id": "v224", "ph": "888ab069", "equity": 82980608, "ret": -17.02}, {"id": "v236", "ph": "f9c75560", "equity": 82980608, "ret": -17.02}, {"id": "v266", "ph": "c133b585", "equity": 82980608, "ret": -17.02}, {"id": "v272", "ph": "2ed2027f", "equity": 82980608, "ret": -17.02}, {"id": "v218", "ph": "7304d2d4", "equity": 82969395, "ret": -17.03}, {"id": "v230", "ph": "141579fe", "equity": 82907139, "ret": -17.09}, {"id": "v278", "ph": "861fb42b", "equity": 82907139, "ret": -17.09}, {"id": "v284", "ph": "261c5d58", "equity": 82907139, "ret": -17.09}, {"id": "v41", "ph": "e9d84e84", "equity": 81926428, "ret": -18.07}, {"id": "v302", "ph": "3f30502d", "equity": 81093448, "ret": -18.91}, {"id": "v151", "ph": "2eb1dd06", "equity": 80871239, "ret": -19.13}, {"id": "v147", "ph": "2fbeeedb", "equity": 79336726, "ret": -20.66}, {"id": "v296", "ph": "4c554378", "equity": 79038392, "ret": -20.96}, {"id": "v4", "ph": "b6219595", "equity": 78306323, "ret": -21.69}, {"id": "v298", "ph": "5d4bbec0", "equity": 77972386, "ret": -22.03}, {"id": "v40", "ph": "70731d89", "equity": 76598748, "ret": -23.4}, {"id": "v299", "ph": "25046b1a", "equity": 73737330, "ret": -26.26}, {"id": "v300", "ph": "c6ddc17b", "equity": 67419334, "ret": -32.58}], "20260728": [{"id": "v321", "ph": "e82de49b", "equity": 95058610, "ret": -4.94}, {"id": "v319", "ph": "ca25f043", "equity": 94278998, "ret": -5.72}, {"id": "v317", "ph": "51f8ee6d", "equity": 93501993, "ret": -6.5}, {"id": "v318", "ph": "c99872ef", "equity": 90762837, "ret": -9.24}, {"id": "v316", "ph": "8dc1d197", "equity": 90381365, "ret": -9.62}, {"id": "v313", "ph": "b9f4ee72", "equity": 90179251, "ret": -9.82}, {"id": "v320", "ph": "48d6a9ef", "equity": 89554005, "ret": -10.45}, {"id": "v203", "ph": "2071defa", "equity": 89343448, "ret": -10.66}, {"id": "v59", "ph": "1858e2ec", "equity": 89333757, "ret": -10.67}, {"id": "v205", "ph": "02e5a3f5", "equity": 89314987, "ret": -10.69}, {"id": "v95", "ph": "7e28e756", "equity": 89152772, "ret": -10.85}, {"id": "v101", "ph": "c4354346", "equity": 89078335, "ret": -10.92}, {"id": "v103", "ph": "75b0a37c", "equity": 88931347, "ret": -11.07}, {"id": "v57", "ph": "e7e98b6d", "equity": 88674323, "ret": -11.33}, {"id": "v49", "ph": "cdba73e0", "equity": 88478333, "ret": -11.52}, {"id": "v99", "ph": "fb39409b", "equity": 88425192, "ret": -11.57}, {"id": "v307", "ph": "6abce93d", "equity": 88341787, "ret": -11.66}, {"id": "v315", "ph": "e6d5b283", "equity": 88059990, "ret": -11.94}, {"id": "v314", "ph": "7511570e", "equity": 87815919, "ret": -12.18}, {"id": "v197", "ph": "5c290a32", "equity": 87649278, "ret": -12.35}, {"id": "v97", "ph": "ebf31977", "equity": 87494603, "ret": -12.51}, {"id": "v304", "ph": "96c7e8e1", "equity": 87477988, "ret": -12.52}, {"id": "v306", "ph": "6966b8f6", "equity": 87258167, "ret": -12.74}, {"id": "v157", "ph": "80f3e23b", "equity": 87251515, "ret": -12.75}, {"id": "v209", "ph": "8730802d", "equity": 87152019, "ret": -12.85}, {"id": "v211", "ph": "9227673c", "equity": 87129408, "ret": -12.87}, {"id": "v199", "ph": "390bfab3", "equity": 86980353, "ret": -13.02}, {"id": "v91", "ph": "5674a3d7", "equity": 86736102, "ret": -13.26}, {"id": "v167", "ph": "b6d6aed8", "equity": 86572733, "ret": -13.43}, {"id": "v207", "ph": "0f6601a0", "equity": 86559017, "ret": -13.44}, {"id": "v310", "ph": "ec9dd55c", "equity": 86539949, "ret": -13.46}, {"id": "v107", "ph": "be5cd36b", "equity": 86118013, "ret": -13.88}, {"id": "v87", "ph": "c0be98c0", "equity": 86086741, "ret": -13.91}, {"id": "v93", "ph": "f10d4e45", "equity": 86086741, "ret": -13.91}, {"id": "v161", "ph": "ed5677e6", "equity": 85938401, "ret": -14.06}, {"id": "v165", "ph": "8f862b27", "equity": 85938401, "ret": -14.06}, {"id": "v195", "ph": "dd89cf59", "equity": 85385069, "ret": -14.61}, {"id": "v201", "ph": "cb8a413e", "equity": 85385069, "ret": -14.61}, {"id": "v312", "ph": "4c23846f", "equity": 84707127, "ret": -15.29}, {"id": "v213", "ph": "0e1d8e45", "equity": 84620529, "ret": -15.38}, {"id": "v311", "ph": "8409c6e5", "equity": 84620888, "ret": -15.38}, {"id": "v81", "ph": "a6eac1e4", "equity": 84501334, "ret": -15.5}, {"id": "v308", "ph": "cb12dd0b", "equity": 84492044, "ret": -15.51}, {"id": "v89", "ph": "c49d5680", "equity": 84419073, "ret": -15.58}, {"id": "v189", "ph": "dfdbd0c8", "equity": 84299095, "ret": -15.7}, {"id": "v305", "ph": "8cc4eea6", "equity": 84000731, "ret": -16.0}, {"id": "v215", "ph": "a904a49d", "equity": 83983415, "ret": -16.02}, {"id": "v51", "ph": "21a98e46", "equity": 83908507, "ret": -16.09}, {"id": "v47", "ph": "ed758fcf", "equity": 83660987, "ret": -16.34}, {"id": "v105", "ph": "88395429", "equity": 83578935, "ret": -16.42}, {"id": "v309", "ph": "07610040", "equity": 82949428, "ret": -17.05}, {"id": "v159", "ph": "af80c67a", "equity": 82639296, "ret": -17.36}, {"id": "v301", "ph": "30da2021", "equity": 82468997, "ret": -17.53}, {"id": "v155", "ph": "31c0d84e", "equity": 82058836, "ret": -17.94}, {"id": "v1", "ph": "4874f4c9", "equity": 81613783, "ret": -18.39}, {"id": "v223", "ph": "b57356b8", "equity": 81495839, "ret": -18.5}, {"id": "v235", "ph": "3e6c1666", "equity": 81495839, "ret": -18.5}, {"id": "v265", "ph": "7faed59d", "equity": 81495839, "ret": -18.5}, {"id": "v271", "ph": "2b9ccdcd", "equity": 81495839, "ret": -18.5}, {"id": "v303", "ph": "1a084164", "equity": 81241910, "ret": -18.76}, {"id": "v149", "ph": "c5329f8d", "equity": 81219353, "ret": -18.78}, {"id": "v217", "ph": "4c547a61", "equity": 81123906, "ret": -18.88}, {"id": "v229", "ph": "d9261dfb", "equity": 81109656, "ret": -18.89}, {"id": "v277", "ph": "488b612a", "equity": 81109656, "ret": -18.89}, {"id": "v283", "ph": "479e4b25", "equity": 81109656, "ret": -18.89}, {"id": "v224", "ph": "888ab069", "equity": 80452478, "ret": -19.55}, {"id": "v236", "ph": "f9c75560", "equity": 80452478, "ret": -19.55}, {"id": "v266", "ph": "c133b585", "equity": 80452478, "ret": -19.55}, {"id": "v272", "ph": "2ed2027f", "equity": 80452478, "ret": -19.55}, {"id": "v218", "ph": "7304d2d4", "equity": 80079935, "ret": -19.92}, {"id": "v230", "ph": "141579fe", "equity": 80017679, "ret": -19.98}, {"id": "v278", "ph": "861fb42b", "equity": 80017679, "ret": -19.98}, {"id": "v284", "ph": "261c5d58", "equity": 80017679, "ret": -19.98}, {"id": "v41", "ph": "e9d84e84", "equity": 79192636, "ret": -20.81}, {"id": "v302", "ph": "3f30502d", "equity": 78215021, "ret": -21.78}, {"id": "v151", "ph": "2eb1dd06", "equity": 76870364, "ret": -23.13}, {"id": "v296", "ph": "4c554378", "equity": 76753047, "ret": -23.25}, {"id": "v4", "ph": "b6219595", "equity": 75006311, "ret": -24.99}, {"id": "v147", "ph": "2fbeeedb", "equity": 74883917, "ret": -25.12}, {"id": "v298", "ph": "5d4bbec0", "equity": 74713064, "ret": -25.29}, {"id": "v40", "ph": "70731d89", "equity": 73783421, "ret": -26.22}, {"id": "v299", "ph": "25046b1a", "equity": 71014082, "ret": -28.99}, {"id": "v300", "ph": "c6ddc17b", "equity": 63878657, "ret": -36.12}], "20260729": [{"id": "v319", "ph": "ca25f043", "equity": 93924794, "ret": -6.08}, {"id": "v321", "ph": "e82de49b", "equity": 93558232, "ret": -6.44}, {"id": "v317", "ph": "51f8ee6d", "equity": 93184274, "ret": -6.82}, {"id": "v318", "ph": "c99872ef", "equity": 90393054, "ret": -9.61}, {"id": "v313", "ph": "b9f4ee72", "equity": 89637483, "ret": -10.36}, {"id": "v316", "ph": "8dc1d197", "equity": 89571241, "ret": -10.43}, {"id": "v320", "ph": "48d6a9ef", "equity": 88741464, "ret": -11.26}, {"id": "v203", "ph": "2071defa", "equity": 88327524, "ret": -11.67}, {"id": "v205", "ph": "02e5a3f5", "equity": 88146013, "ret": -11.85}, {"id": "v95", "ph": "7e28e756", "equity": 88139927, "ret": -11.86}, {"id": "v101", "ph": "c4354346", "equity": 87952375, "ret": -12.05}, {"id": "v59", "ph": "1858e2ec", "equity": 87864837, "ret": -12.14}, {"id": "v307", "ph": "6abce93d", "equity": 87433836, "ret": -12.57}, {"id": "v49", "ph": "cdba73e0", "equity": 87140436, "ret": -12.86}, {"id": "v103", "ph": "75b0a37c", "equity": 87073993, "ret": -12.93}, {"id": "v97", "ph": "ebf31977", "equity": 86702025, "ret": -13.3}, {"id": "v99", "ph": "fb39409b", "equity": 86471133, "ret": -13.53}, {"id": "v57", "ph": "e7e98b6d", "equity": 86378895, "ret": -13.62}, {"id": "v304", "ph": "96c7e8e1", "equity": 86314603, "ret": -13.69}, {"id": "v314", "ph": "7511570e", "equity": 86266631, "ret": -13.73}, {"id": "v315", "ph": "e6d5b283", "equity": 86107458, "ret": -13.89}, {"id": "v157", "ph": "80f3e23b", "equity": 86070444, "ret": -13.93}, {"id": "v209", "ph": "8730802d", "equity": 86055971, "ret": -13.94}, {"id": "v197", "ph": "5c290a32", "equity": 85743750, "ret": -14.26}, {"id": "v306", "ph": "6966b8f6", "equity": 85367861, "ret": -14.63}, {"id": "v211", "ph": "9227673c", "equity": 85304568, "ret": -14.7}, {"id": "v167", "ph": "b6d6aed8", "equity": 85168500, "ret": -14.83}, {"id": "v91", "ph": "5674a3d7", "equity": 85151678, "ret": -14.85}, {"id": "v310", "ph": "ec9dd55c", "equity": 85089189, "ret": -14.91}, {"id": "v199", "ph": "390bfab3", "equity": 85045878, "ret": -14.95}, {"id": "v207", "ph": "0f6601a0", "equity": 84635702, "ret": -15.36}, {"id": "v107", "ph": "be5cd36b", "equity": 84546461, "ret": -15.45}, {"id": "v87", "ph": "c0be98c0", "equity": 84205394, "ret": -15.79}, {"id": "v93", "ph": "f10d4e45", "equity": 84205394, "ret": -15.79}, {"id": "v161", "ph": "ed5677e6", "equity": 83734310, "ret": -16.27}, {"id": "v165", "ph": "8f862b27", "equity": 83734310, "ret": -16.27}, {"id": "v312", "ph": "4c23846f", "equity": 83623636, "ret": -16.38}, {"id": "v308", "ph": "cb12dd0b", "equity": 83558346, "ret": -16.44}, {"id": "v195", "ph": "dd89cf59", "equity": 83510907, "ret": -16.49}, {"id": "v201", "ph": "cb8a413e", "equity": 83510907, "ret": -16.49}, {"id": "v311", "ph": "8409c6e5", "equity": 83248130, "ret": -16.75}, {"id": "v89", "ph": "c49d5680", "equity": 83114030, "ret": -16.89}, {"id": "v81", "ph": "a6eac1e4", "equity": 82809348, "ret": -17.19}, {"id": "v213", "ph": "0e1d8e45", "equity": 82789292, "ret": -17.21}, {"id": "v305", "ph": "8cc4eea6", "equity": 82546113, "ret": -17.45}, {"id": "v215", "ph": "a904a49d", "equity": 82446659, "ret": -17.55}, {"id": "v47", "ph": "ed758fcf", "equity": 82288252, "ret": -17.71}, {"id": "v51", "ph": "21a98e46", "equity": 82069944, "ret": -17.93}, {"id": "v189", "ph": "dfdbd0c8", "equity": 82004327, "ret": -18.0}, {"id": "v105", "ph": "88395429", "equity": 81751282, "ret": -18.25}, {"id": "v309", "ph": "07610040", "equity": 81181453, "ret": -18.82}, {"id": "v155", "ph": "31c0d84e", "equity": 80844973, "ret": -19.16}, {"id": "v149", "ph": "c5329f8d", "equity": 80462420, "ret": -19.54}, {"id": "v159", "ph": "af80c67a", "equity": 80403834, "ret": -19.6}, {"id": "v223", "ph": "b57356b8", "equity": 79877386, "ret": -20.12}, {"id": "v235", "ph": "3e6c1666", "equity": 79877386, "ret": -20.12}, {"id": "v265", "ph": "7faed59d", "equity": 79877386, "ret": -20.12}, {"id": "v271", "ph": "2b9ccdcd", "equity": 79877386, "ret": -20.12}, {"id": "v303", "ph": "1a084164", "equity": 79465334, "ret": -20.53}, {"id": "v301", "ph": "30da2021", "equity": 79386653, "ret": -20.61}, {"id": "v217", "ph": "4c547a61", "equity": 79354859, "ret": -20.65}, {"id": "v229", "ph": "d9261dfb", "equity": 79340610, "ret": -20.66}, {"id": "v277", "ph": "488b612a", "equity": 79340610, "ret": -20.66}, {"id": "v283", "ph": "479e4b25", "equity": 79340610, "ret": -20.66}, {"id": "v224", "ph": "888ab069", "equity": 79007784, "ret": -20.99}, {"id": "v236", "ph": "f9c75560", "equity": 79007784, "ret": -20.99}, {"id": "v266", "ph": "c133b585", "equity": 79007784, "ret": -20.99}, {"id": "v272", "ph": "2ed2027f", "equity": 79007784, "ret": -20.99}, {"id": "v41", "ph": "e9d84e84", "equity": 78585112, "ret": -21.41}, {"id": "v1", "ph": "4874f4c9", "equity": 78526871, "ret": -21.47}, {"id": "v218", "ph": "7304d2d4", "equity": 78085121, "ret": -21.91}, {"id": "v230", "ph": "141579fe", "equity": 78024379, "ret": -21.98}, {"id": "v278", "ph": "861fb42b", "equity": 78024379, "ret": -21.98}, {"id": "v284", "ph": "261c5d58", "equity": 78024379, "ret": -21.98}, {"id": "v302", "ph": "3f30502d", "equity": 76159193, "ret": -23.84}, {"id": "v296", "ph": "4c554378", "equity": 75146009, "ret": -24.85}, {"id": "v151", "ph": "2eb1dd06", "equity": 75139302, "ret": -24.86}, {"id": "v4", "ph": "b6219595", "equity": 73004341, "ret": -27.0}, {"id": "v147", "ph": "2fbeeedb", "equity": 72819395, "ret": -27.18}, {"id": "v298", "ph": "5d4bbec0", "equity": 71875541, "ret": -28.12}, {"id": "v40", "ph": "70731d89", "equity": 71467688, "ret": -28.53}, {"id": "v299", "ph": "25046b1a", "equity": 69468812, "ret": -30.53}, {"id": "v300", "ph": "c6ddc17b", "equity": 61283495, "ret": -38.72}]}
\ No newline at end of file
+{"20260610": [{"id": "main", "ph": "48693b1f", "equity": 100000000, "ret": 0.0}, {"id": "v1", "ph": "bab0fc2c", "equity": 100000000, "ret": 0.0}, {"id": "v2", "ph": "81d17cca", "equity": 100000000, "ret": 0.0}, {"id": "v3", "ph": "b6219595", "equity": 100000000, "ret": 0.0}, {"id": "v4", "ph": "ec2eb05a", "equity": 100000000, "ret": 0.0}, {"id": "v5", "ph": "e96ce9e2", "equity": 100000000, "ret": 0.0}, {"id": "v6", "ph": "de835eae", "equity": 100000000, "ret": 0.0}, {"id": "v7", "ph": "18c6740b", "equity": 100000000, "ret": 0.0}, {"id": "v8", "ph": "141268ab", "equity": 100000000, "ret": 0.0}, {"id": "v9", "ph": "e48c1012", "equity": 100000000, "ret": 0.0}, {"id": "v10", "ph": "e4bb2e3e", "equity": 100000000, "ret": 0.0}, {"id": "v11", "ph": "f166fb0e", "equity": 100000000, "ret": 0.0}, {"id": "v12", "ph": "8dd96f86", "equity": 100000000, "ret": 0.0}, {"id": "v13", "ph": "71a9d284", "equity": 100000000, "ret": 0.0}, {"id": "v14", "ph": "df7ce821", "equity": 100000000, "ret": 0.0}, {"id": "v15", "ph": "6294a5b8", "equity": 100000000, "ret": 0.0}, {"id": "v16", "ph": "dd1d2c77", "equity": 100000000, "ret": 0.0}, {"id": "v17", "ph": "7c8fe03d", "equity": 100000000, "ret": 0.0}, {"id": "v18", "ph": "e36cfa41", "equity": 100000000, "ret": 0.0}, {"id": "v19", "ph": "2bc2ecf2", "equity": 100000000, "ret": 0.0}, {"id": "v20", "ph": "bcc12830", "equity": 100000000, "ret": 0.0}, {"id": "v21", "ph": "956b3b16", "equity": 100000000, "ret": 0.0}, {"id": "v22", "ph": "aec632b1", "equity": 100000000, "ret": 0.0}, {"id": "v23", "ph": "9beb8c05", "equity": 100000000, "ret": 0.0}, {"id": "v24", "ph": "00b59557", "equity": 100000000, "ret": 0.0}, {"id": "v25", "ph": "2e5f3fac", "equity": 100000000, "ret": 0.0}, {"id": "v26", "ph": "33d43bc6", "equity": 100000000, "ret": 0.0}, {"id": "v27", "ph": "28e87677", "equity": 100000000, "ret": 0.0}, {"id": "v28", "ph": "e46149f5", "equity": 100000000, "ret": 0.0}, {"id": "v29", "ph": "df71f475", "equity": 100000000, "ret": 0.0}, {"id": "v30", "ph": "3dc99490", "equity": 100000000, "ret": 0.0}, {"id": "v31", "ph": "153055e6", "equity": 100000000, "ret": 0.0}, {"id": "v32", "ph": "97ad2410", "equity": 100000000, "ret": 0.0}, {"id": "v33", "ph": "d77f522d", "equity": 100000000, "ret": 0.0}, {"id": "v34", "ph": "6a183375", "equity": 100000000, "ret": 0.0}, {"id": "v35", "ph": "feebff1a", "equity": 100000000, "ret": 0.0}], "20260611": [{"id": "v62", "ph": "c6ddc17b", "equity": 100304837, "ret": 0.3}, {"id": "v64", "ph": "15b83273", "equity": 100304837, "ret": 0.3}, {"id": "v66", "ph": "db0e70a4", "equity": 100304837, "ret": 0.3}, {"id": "v68", "ph": "38c84625", "equity": 100159127, "ret": 0.16}, {"id": "v70", "ph": "6c4d4125", "equity": 100159127, "ret": 0.16}, {"id": "v72", "ph": "b8d74129", "equity": 100159127, "ret": 0.16}, {"id": "v74", "ph": "35a8e955", "equity": 100159127, "ret": 0.16}, {"id": "v76", "ph": "178928cb", "equity": 100159127, "ret": 0.16}, {"id": "v78", "ph": "655e082d", "equity": 100159127, "ret": 0.16}, {"id": "v80", "ph": "b2d56c47", "equity": 100159127, "ret": 0.16}, {"id": "v84", "ph": "95794738", "equity": 100159127, "ret": 0.16}, {"id": "v86", "ph": "935c5a1c", "equity": 100159127, "ret": 0.16}, {"id": "v22", "ph": "956b3b16", "equity": 100008869, "ret": 0.01}, {"id": "v24", "ph": "9beb8c05", "equity": 100008869, "ret": 0.01}, {"id": "v25", "ph": "00b59557", "equity": 100008869, "ret": 0.01}, {"id": "v79", "ph": "61b964d8", "equity": 100008869, "ret": 0.01}, {"id": "v83", "ph": "1b98a0fc", "equity": 100008869, "ret": 0.01}, {"id": "v85", "ph": "5ca17df0", "equity": 100008869, "ret": 0.01}, {"id": "v1", "ph": "4874f4c9", "equity": 100000000, "ret": 0.0}, {"id": "v2", "ph": "bab0fc2c", "equity": 100000000, "ret": 0.0}, {"id": "v3", "ph": "81d17cca", "equity": 100000000, "ret": 0.0}, {"id": "v4", "ph": "b6219595", "equity": 100000000, "ret": 0.0}, {"id": "v5", "ph": "ec2eb05a", "equity": 100000000, "ret": 0.0}, {"id": "v6", "ph": "e96ce9e2", "equity": 100000000, "ret": 0.0}, {"id": "v7", "ph": "de835eae", "equity": 100000000, "ret": 0.0}, {"id": "v8", "ph": "18c6740b", "equity": 100000000, "ret": 0.0}, {"id": "v9", "ph": "141268ab", "equity": 100000000, "ret": 0.0}, {"id": "v10", "ph": "e48c1012", "equity": 100000000, "ret": 0.0}, {"id": "v11", "ph": "e4bb2e3e", "equity": 100000000, "ret": 0.0}, {"id": "v12", "ph": "f166fb0e", "equity": 100000000, "ret": 0.0}, {"id": "v13", "ph": "8dd96f86", "equity": 100000000, "ret": 0.0}, {"id": "v14", "ph": "71a9d284", "equity": 100000000, "ret": 0.0}, {"id": "v15", "ph": "df7ce821", "equity": 100000000, "ret": 0.0}, {"id": "v16", "ph": "6294a5b8", "equity": 100000000, "ret": 0.0}, {"id": "v17", "ph": "dd1d2c77", "equity": 100000000, "ret": 0.0}, {"id": "v18", "ph": "7c8fe03d", "equity": 100000000, "ret": 0.0}, {"id": "v19", "ph": "e36cfa41", "equity": 100000000, "ret": 0.0}, {"id": "v20", "ph": "2bc2ecf2", "equity": 100000000, "ret": 0.0}, {"id": "v21", "ph": "bcc12830", "equity": 100000000, "ret": 0.0}, {"id": "v23", "ph": "aec632b1", "equity": 100000000, "ret": 0.0}, {"id": "v26", "ph": "2e5f3fac", "equity": 100000000, "ret": 0.0}, {"id": "v27", "ph": "33d43bc6", "equity": 100000000, "ret": 0.0}, {"id": "v28", "ph": "28e87677", "equity": 100000000, "ret": 0.0}, {"id": "v29", "ph": "e46149f5", "equity": 100000000, "ret": 0.0}, {"id": "v30", "ph": "df71f475", "equity": 100000000, "ret": 0.0}, {"id": "v31", "ph": "3dc99490", "equity": 100000000, "ret": 0.0}, {"id": "v32", "ph": "153055e6", "equity": 100000000, "ret": 0.0}, {"id": "v33", "ph": "97ad2410", "equity": 100000000, "ret": 0.0}, {"id": "v34", "ph": "d77f522d", "equity": 100000000, "ret": 0.0}, {"id": "v35", "ph": "6a183375", "equity": 100000000, "ret": 0.0}, {"id": "v36", "ph": "feebff1a", "equity": 100000000, "ret": 0.0}, {"id": "v37", "ph": "fb2247aa", "equity": 100000000, "ret": 0.0}, {"id": "v38", "ph": "9b9083ae", "equity": 100000000, "ret": 0.0}, {"id": "v39", "ph": "11c27236", "equity": 100000000, "ret": 0.0}, {"id": "v41", "ph": "e9d84e84", "equity": 100000000, "ret": 0.0}, {"id": "v43", "ph": "94ea3b53", "equity": 100000000, "ret": 0.0}, {"id": "v45", "ph": "964276a8", "equity": 100000000, "ret": 0.0}, {"id": "v46", "ph": "7dc0e360", "equity": 100000000, "ret": 0.0}, {"id": "v47", "ph": "ed758fcf", "equity": 100000000, "ret": 0.0}, {"id": "v49", "ph": "cdba73e0", "equity": 100000000, "ret": 0.0}, {"id": "v50", "ph": "690a50b5", "equity": 100000000, "ret": 0.0}, {"id": "v51", "ph": "21a98e46", "equity": 100000000, "ret": 0.0}, {"id": "v52", "ph": "c1939d0b", "equity": 100000000, "ret": 0.0}, {"id": "v53", "ph": "2391ee16", "equity": 100000000, "ret": 0.0}, {"id": "v54", "ph": "b975742e", "equity": 100000000, "ret": 0.0}, {"id": "v55", "ph": "2c44de9b", "equity": 100000000, "ret": 0.0}, {"id": "v56", "ph": "5d99704f", "equity": 100000000, "ret": 0.0}, {"id": "v57", "ph": "e7e98b6d", "equity": 100000000, "ret": 0.0}, {"id": "v58", "ph": "f1e52f55", "equity": 100000000, "ret": 0.0}, {"id": "v59", "ph": "1858e2ec", "equity": 100000000, "ret": 0.0}, {"id": "v60", "ph": "52560b06", "equity": 100000000, "ret": 0.0}, {"id": "v61", "ph": "6e870d25", "equity": 100000000, "ret": 0.0}, {"id": "v63", "ph": "9698b6a4", "equity": 100000000, "ret": 0.0}, {"id": "v65", "ph": "5b96fe5c", "equity": 100000000, "ret": 0.0}, {"id": "v67", "ph": "811c76b7", "equity": 100000000, "ret": 0.0}, {"id": "v69", "ph": "b896a0b0", "equity": 100000000, "ret": 0.0}, {"id": "v71", "ph": "900a188c", "equity": 100000000, "ret": 0.0}, {"id": "v73", "ph": "2d287be4", "equity": 100000000, "ret": 0.0}, {"id": "v75", "ph": "14f10e78", "equity": 100000000, "ret": 0.0}, {"id": "v77", "ph": "86dadea0", "equity": 100000000, "ret": 0.0}, {"id": "v81", "ph": "a6eac1e4", "equity": 100000000, "ret": 0.0}, {"id": "v82", "ph": "01847af6", "equity": 100000000, "ret": 0.0}, {"id": "v87", "ph": "c0be98c0", "equity": 100000000, "ret": 0.0}, {"id": "v88", "ph": "733579ce", "equity": 100000000, "ret": 0.0}, {"id": "v89", "ph": "c49d5680", "equity": 100000000, "ret": 0.0}, {"id": "v91", "ph": "5674a3d7", "equity": 100000000, "ret": 0.0}, {"id": "v92", "ph": "14a13097", "equity": 100000000, "ret": 0.0}, {"id": "v93", "ph": "f10d4e45", "equity": 100000000, "ret": 0.0}, {"id": "v94", "ph": "3e5d6b8a", "equity": 100000000, "ret": 0.0}, {"id": "v95", "ph": "7e28e756", "equity": 100000000, "ret": 0.0}, {"id": "v96", "ph": "095b119f", "equity": 100000000, "ret": 0.0}, {"id": "v97", "ph": "ebf31977", "equity": 100000000, "ret": 0.0}, {"id": "v99", "ph": "fb39409b", "equity": 100000000, "ret": 0.0}, {"id": "v100", "ph": "ffa9571a", "equity": 100000000, "ret": 0.0}, {"id": "v101", "ph": "c4354346", "equity": 100000000, "ret": 0.0}, {"id": "v102", "ph": "e1601afe", "equity": 100000000, "ret": 0.0}, {"id": "v103", "ph": "75b0a37c", "equity": 100000000, "ret": 0.0}, {"id": "v104", "ph": "013c3fde", "equity": 100000000, "ret": 0.0}, {"id": "v105", "ph": "88395429", "equity": 100000000, "ret": 0.0}, {"id": "v107", "ph": "be5cd36b", "equity": 100000000, "ret": 0.0}, {"id": "v108", "ph": "67a6679a", "equity": 100000000, "ret": 0.0}, {"id": "v48", "ph": "18854c6a", "equity": 99935458, "ret": -0.06}, {"id": "v90", "ph": "86e09c47", "equity": 99935458, "ret": -0.06}, {"id": "v98", "ph": "266fc53f", "equity": 99935458, "ret": -0.06}, {"id": "v106", "ph": "d0f5fbc1", "equity": 99935458, "ret": -0.06}, {"id": "v40", "ph": "70731d89", "equity": 99891085, "ret": -0.11}, {"id": "v42", "ph": "f36fddc6", "equity": 99891085, "ret": -0.11}, {"id": "v44", "ph": "364ea434", "equity": 99891085, "ret": -0.11}], "20260612": [{"id": "v62", "ph": "c6ddc17b", "equity": 101131990, "ret": 1.13}, {"id": "v64", "ph": "15b83273", "equity": 101131990, "ret": 1.13}, {"id": "v66", "ph": "db0e70a4", "equity": 101131990, "ret": 1.13}, {"id": "v68", "ph": "38c84625", "equity": 100815744, "ret": 0.82}, {"id": "v70", "ph": "6c4d4125", "equity": 100815744, "ret": 0.82}, {"id": "v72", "ph": "b8d74129", "equity": 100815744, "ret": 0.82}, {"id": "v74", "ph": "35a8e955", "equity": 100815744, "ret": 0.82}, {"id": "v76", "ph": "178928cb", "equity": 100815744, "ret": 0.82}, {"id": "v78", "ph": "655e082d", "equity": 100815744, "ret": 0.82}, {"id": "v80", "ph": "b2d56c47", "equity": 100815744, "ret": 0.82}, {"id": "v84", "ph": "95794738", "equity": 100815744, "ret": 0.82}, {"id": "v86", "ph": "935c5a1c", "equity": 100815744, "ret": 0.82}, {"id": "v40", "ph": "70731d89", "equity": 100812655, "ret": 0.81}, {"id": "v42", "ph": "f36fddc6", "equity": 100812655, "ret": 0.81}, {"id": "v44", "ph": "364ea434", "equity": 100812655, "ret": 0.81}, {"id": "v22", "ph": "956b3b16", "equity": 100762741, "ret": 0.76}, {"id": "v24", "ph": "9beb8c05", "equity": 100762741, "ret": 0.76}, {"id": "v25", "ph": "00b59557", "equity": 100762741, "ret": 0.76}, {"id": "v79", "ph": "61b964d8", "equity": 100762741, "ret": 0.76}, {"id": "v83", "ph": "1b98a0fc", "equity": 100762741, "ret": 0.76}, {"id": "v85", "ph": "5ca17df0", "equity": 100762741, "ret": 0.76}, {"id": "v48", "ph": "18854c6a", "equity": 100477921, "ret": 0.48}, {"id": "v90", "ph": "86e09c47", "equity": 100477921, "ret": 0.48}, {"id": "v98", "ph": "266fc53f", "equity": 100477921, "ret": 0.48}, {"id": "v106", "ph": "d0f5fbc1", "equity": 100477921, "ret": 0.48}, {"id": "v2", "ph": "bab0fc2c", "equity": 100463176, "ret": 0.46}, {"id": "v3", "ph": "81d17cca", "equity": 100463176, "ret": 0.46}, {"id": "v4", "ph": "b6219595", "equity": 100463176, "ret": 0.46}, {"id": "v39", "ph": "11c27236", "equity": 100463176, "ret": 0.46}, {"id": "v41", "ph": "e9d84e84", "equity": 100463176, "ret": 0.46}, {"id": "v43", "ph": "94ea3b53", "equity": 100463176, "ret": 0.46}, {"id": "v6", "ph": "e96ce9e2", "equity": 100248035, "ret": 0.25}, {"id": "v35", "ph": "6a183375", "equity": 100248035, "ret": 0.25}, {"id": "v47", "ph": "ed758fcf", "equity": 100248035, "ret": 0.25}, {"id": "v105", "ph": "88395429", "equity": 100248035, "ret": 0.25}, {"id": "v27", "ph": "33d43bc6", "equity": 100230107, "ret": 0.23}, {"id": "v31", "ph": "3dc99490", "equity": 100230107, "ret": 0.23}, {"id": "v89", "ph": "c49d5680", "equity": 100230107, "ret": 0.23}, {"id": "v97", "ph": "ebf31977", "equity": 100230107, "ret": 0.23}, {"id": "v1", "ph": "4874f4c9", "equity": 100000000, "ret": 0.0}, {"id": "v5", "ph": "ec2eb05a", "equity": 100000000, "ret": 0.0}, {"id": "v7", "ph": "de835eae", "equity": 100000000, "ret": 0.0}, {"id": "v8", "ph": "18c6740b", "equity": 100000000, "ret": 0.0}, {"id": "v9", "ph": "141268ab", "equity": 100000000, "ret": 0.0}, {"id": "v10", "ph": "e48c1012", "equity": 100000000, "ret": 0.0}, {"id": "v11", "ph": "e4bb2e3e", "equity": 100000000, "ret": 0.0}, {"id": "v12", "ph": "f166fb0e", "equity": 100000000, "ret": 0.0}, {"id": "v13", "ph": "8dd96f86", "equity": 100000000, "ret": 0.0}, {"id": "v14", "ph": "71a9d284", "equity": 100000000, "ret": 0.0}, {"id": "v15", "ph": "df7ce821", "equity": 100000000, "ret": 0.0}, {"id": "v16", "ph": "6294a5b8", "equity": 100000000, "ret": 0.0}, {"id": "v17", "ph": "dd1d2c77", "equity": 100000000, "ret": 0.0}, {"id": "v18", "ph": "7c8fe03d", "equity": 100000000, "ret": 0.0}, {"id": "v19", "ph": "e36cfa41", "equity": 100000000, "ret": 0.0}, {"id": "v20", "ph": "2bc2ecf2", "equity": 100000000, "ret": 0.0}, {"id": "v21", "ph": "bcc12830", "equity": 100000000, "ret": 0.0}, {"id": "v23", "ph": "aec632b1", "equity": 100000000, "ret": 0.0}, {"id": "v26", "ph": "2e5f3fac", "equity": 100000000, "ret": 0.0}, {"id": "v28", "ph": "28e87677", "equity": 100000000, "ret": 0.0}, {"id": "v29", "ph": "e46149f5", "equity": 100000000, "ret": 0.0}, {"id": "v30", "ph": "df71f475", "equity": 100000000, "ret": 0.0}, {"id": "v32", "ph": "153055e6", "equity": 100000000, "ret": 0.0}, {"id": "v33", "ph": "97ad2410", "equity": 100000000, "ret": 0.0}, {"id": "v34", "ph": "d77f522d", "equity": 100000000, "ret": 0.0}, {"id": "v36", "ph": "feebff1a", "equity": 100000000, "ret": 0.0}, {"id": "v37", "ph": "fb2247aa", "equity": 100000000, "ret": 0.0}, {"id": "v38", "ph": "9b9083ae", "equity": 100000000, "ret": 0.0}, {"id": "v45", "ph": "964276a8", "equity": 100000000, "ret": 0.0}, {"id": "v46", "ph": "7dc0e360", "equity": 100000000, "ret": 0.0}, {"id": "v49", "ph": "cdba73e0", "equity": 100000000, "ret": 0.0}, {"id": "v50", "ph": "690a50b5", "equity": 100000000, "ret": 0.0}, {"id": "v51", "ph": "21a98e46", "equity": 100000000, "ret": 0.0}, {"id": "v52", "ph": "c1939d0b", "equity": 100000000, "ret": 0.0}, {"id": "v53", "ph": "2391ee16", "equity": 100000000, "ret": 0.0}, {"id": "v54", "ph": "b975742e", "equity": 100000000, "ret": 0.0}, {"id": "v55", "ph": "2c44de9b", "equity": 100000000, "ret": 0.0}, {"id": "v56", "ph": "5d99704f", "equity": 100000000, "ret": 0.0}, {"id": "v57", "ph": "e7e98b6d", "equity": 100000000, "ret": 0.0}, {"id": "v58", "ph": "f1e52f55", "equity": 100000000, "ret": 0.0}, {"id": "v59", "ph": "1858e2ec", "equity": 100000000, "ret": 0.0}, {"id": "v60", "ph": "52560b06", "equity": 100000000, "ret": 0.0}, {"id": "v61", "ph": "6e870d25", "equity": 100000000, "ret": 0.0}, {"id": "v63", "ph": "9698b6a4", "equity": 100000000, "ret": 0.0}, {"id": "v65", "ph": "5b96fe5c", "equity": 100000000, "ret": 0.0}, {"id": "v67", "ph": "811c76b7", "equity": 100000000, "ret": 0.0}, {"id": "v69", "ph": "b896a0b0", "equity": 100000000, "ret": 0.0}, {"id": "v71", "ph": "900a188c", "equity": 100000000, "ret": 0.0}, {"id": "v73", "ph": "2d287be4", "equity": 100000000, "ret": 0.0}, {"id": "v75", "ph": "14f10e78", "equity": 100000000, "ret": 0.0}, {"id": "v77", "ph": "86dadea0", "equity": 100000000, "ret": 0.0}, {"id": "v81", "ph": "a6eac1e4", "equity": 100000000, "ret": 0.0}, {"id": "v82", "ph": "01847af6", "equity": 100000000, "ret": 0.0}, {"id": "v87", "ph": "c0be98c0", "equity": 100000000, "ret": 0.0}, {"id": "v88", "ph": "733579ce", "equity": 100000000, "ret": 0.0}, {"id": "v91", "ph": "5674a3d7", "equity": 100000000, "ret": 0.0}, {"id": "v92", "ph": "14a13097", "equity": 100000000, "ret": 0.0}, {"id": "v93", "ph": "f10d4e45", "equity": 100000000, "ret": 0.0}, {"id": "v94", "ph": "3e5d6b8a", "equity": 100000000, "ret": 0.0}, {"id": "v95", "ph": "7e28e756", "equity": 100000000, "ret": 0.0}, {"id": "v96", "ph": "095b119f", "equity": 100000000, "ret": 0.0}, {"id": "v99", "ph": "fb39409b", "equity": 100000000, "ret": 0.0}, {"id": "v100", "ph": "ffa9571a", "equity": 100000000, "ret": 0.0}, {"id": "v101", "ph": "c4354346", "equity": 100000000, "ret": 0.0}, {"id": "v102", "ph": "e1601afe", "equity": 100000000, "ret": 0.0}, {"id": "v103", "ph": "75b0a37c", "equity": 100000000, "ret": 0.0}, {"id": "v104", "ph": "013c3fde", "equity": 100000000, "ret": 0.0}, {"id": "v107", "ph": "be5cd36b", "equity": 100000000, "ret": 0.0}, {"id": "v108", "ph": "67a6679a", "equity": 100000000, "ret": 0.0}], "20260615": [{"id": "v62", "ph": "c6ddc17b", "equity": 101695590, "ret": 1.7}, {"id": "v64", "ph": "15b83273", "equity": 101695590, "ret": 1.7}, {"id": "v66", "ph": "db0e70a4", "equity": 101695590, "ret": 1.7}, {"id": "v68", "ph": "38c84625", "equity": 101110494, "ret": 1.11}, {"id": "v70", "ph": "6c4d4125", "equity": 101110494, "ret": 1.11}, {"id": "v72", "ph": "b8d74129", "equity": 101110494, "ret": 1.11}, {"id": "v74", "ph": "35a8e955", "equity": 101110494, "ret": 1.11}, {"id": "v76", "ph": "178928cb", "equity": 101110494, "ret": 1.11}, {"id": "v78", "ph": "655e082d", "equity": 101110494, "ret": 1.11}, {"id": "v80", "ph": "b2d56c47", "equity": 101110494, "ret": 1.11}, {"id": "v84", "ph": "95794738", "equity": 101110494, "ret": 1.11}, {"id": "v86", "ph": "935c5a1c", "equity": 101110494, "ret": 1.11}, {"id": "v40", "ph": "70731d89", "equity": 100878905, "ret": 0.88}, {"id": "v42", "ph": "f36fddc6", "equity": 100878905, "ret": 0.88}, {"id": "v44", "ph": "364ea434", "equity": 100878905, "ret": 0.88}, {"id": "v22", "ph": "956b3b16", "equity": 100808991, "ret": 0.81}, {"id": "v24", "ph": "9beb8c05", "equity": 100808991, "ret": 0.81}, {"id": "v25", "ph": "00b59557", "equity": 100808991, "ret": 0.81}, {"id": "v79", "ph": "61b964d8", "equity": 100808991, "ret": 0.81}, {"id": "v83", "ph": "1b98a0fc", "equity": 100808991, "ret": 0.81}, {"id": "v85", "ph": "5ca17df0", "equity": 100808991, "ret": 0.81}, {"id": "v2", "ph": "bab0fc2c", "equity": 100526926, "ret": 0.53}, {"id": "v3", "ph": "81d17cca", "equity": 100526926, "ret": 0.53}, {"id": "v4", "ph": "b6219595", "equity": 100526926, "ret": 0.53}, {"id": "v39", "ph": "11c27236", "equity": 100526926, "ret": 0.53}, {"id": "v41", "ph": "e9d84e84", "equity": 100526926, "ret": 0.53}, {"id": "v43", "ph": "94ea3b53", "equity": 100526926, "ret": 0.53}, {"id": "v48", "ph": "18854c6a", "equity": 100516671, "ret": 0.52}, {"id": "v90", "ph": "86e09c47", "equity": 100516671, "ret": 0.52}, {"id": "v98", "ph": "266fc53f", "equity": 100516671, "ret": 0.52}, {"id": "v106", "ph": "d0f5fbc1", "equity": 100516671, "ret": 0.52}, {"id": "v6", "ph": "e96ce9e2", "equity": 100281785, "ret": 0.28}, {"id": "v35", "ph": "6a183375", "equity": 100281785, "ret": 0.28}, {"id": "v47", "ph": "ed758fcf", "equity": 100281785, "ret": 0.28}, {"id": "v105", "ph": "88395429", "equity": 100281785, "ret": 0.28}, {"id": "v27", "ph": "33d43bc6", "equity": 100261357, "ret": 0.26}, {"id": "v31", "ph": "3dc99490", "equity": 100261357, "ret": 0.26}, {"id": "v89", "ph": "c49d5680", "equity": 100261357, "ret": 0.26}, {"id": "v97", "ph": "ebf31977", "equity": 100261357, "ret": 0.26}, {"id": "v1", "ph": "4874f4c9", "equity": 100000000, "ret": 0.0}, {"id": "v5", "ph": "ec2eb05a", "equity": 100000000, "ret": 0.0}, {"id": "v7", "ph": "de835eae", "equity": 100000000, "ret": 0.0}, {"id": "v8", "ph": "18c6740b", "equity": 100000000, "ret": 0.0}, {"id": "v9", "ph": "141268ab", "equity": 100000000, "ret": 0.0}, {"id": "v10", "ph": "e48c1012", "equity": 100000000, "ret": 0.0}, {"id": "v11", "ph": "e4bb2e3e", "equity": 100000000, "ret": 0.0}, {"id": "v12", "ph": "f166fb0e", "equity": 100000000, "ret": 0.0}, {"id": "v13", "ph": "8dd96f86", "equity": 100000000, "ret": 0.0}, {"id": "v14", "ph": "71a9d284", "equity": 100000000, "ret": 0.0}, {"id": "v15", "ph": "df7ce821", "equity": 100000000, "ret": 0.0}, {"id": "v16", "ph": "6294a5b8", "equity": 100000000, "ret": 0.0}, {"id": "v17", "ph": "dd1d2c77", "equity": 100000000, "ret": 0.0}, {"id": "v18", "ph": "7c8fe03d", "equity": 100000000, "ret": 0.0}, {"id": "v19", "ph": "e36cfa41", "equity": 100000000, "ret": 0.0}, {"id": "v20", "ph": "2bc2ecf2", "equity": 100000000, "ret": 0.0}, {"id": "v21", "ph": "bcc12830", "equity": 100000000, "ret": 0.0}, {"id": "v23", "ph": "aec632b1", "equity": 100000000, "ret": 0.0}, {"id": "v26", "ph": "2e5f3fac", "equity": 100000000, "ret": 0.0}, {"id": "v28", "ph": "28e87677", "equity": 100000000, "ret": 0.0}, {"id": "v29", "ph": "e46149f5", "equity": 100000000, "ret": 0.0}, {"id": "v30", "ph": "df71f475", "equity": 100000000, "ret": 0.0}, {"id": "v32", "ph": "153055e6", "equity": 100000000, "ret": 0.0}, {"id": "v33", "ph": "97ad2410", "equity": 100000000, "ret": 0.0}, {"id": "v34", "ph": "d77f522d", "equity": 100000000, "ret": 0.0}, {"id": "v36", "ph": "feebff1a", "equity": 100000000, "ret": 0.0}, {"id": "v37", "ph": "fb2247aa", "equity": 100000000, "ret": 0.0}, {"id": "v38", "ph": "9b9083ae", "equity": 100000000, "ret": 0.0}, {"id": "v45", "ph": "964276a8", "equity": 100000000, "ret": 0.0}, {"id": "v46", "ph": "7dc0e360", "equity": 100000000, "ret": 0.0}, {"id": "v49", "ph": "cdba73e0", "equity": 100000000, "ret": 0.0}, {"id": "v50", "ph": "690a50b5", "equity": 100000000, "ret": 0.0}, {"id": "v51", "ph": "21a98e46", "equity": 100000000, "ret": 0.0}, {"id": "v52", "ph": "c1939d0b", "equity": 100000000, "ret": 0.0}, {"id": "v53", "ph": "2391ee16", "equity": 100000000, "ret": 0.0}, {"id": "v54", "ph": "b975742e", "equity": 100000000, "ret": 0.0}, {"id": "v55", "ph": "2c44de9b", "equity": 100000000, "ret": 0.0}, {"id": "v56", "ph": "5d99704f", "equity": 100000000, "ret": 0.0}, {"id": "v57", "ph": "e7e98b6d", "equity": 100000000, "ret": 0.0}, {"id": "v58", "ph": "f1e52f55", "equity": 100000000, "ret": 0.0}, {"id": "v59", "ph": "1858e2ec", "equity": 100000000, "ret": 0.0}, {"id": "v60", "ph": "52560b06", "equity": 100000000, "ret": 0.0}, {"id": "v61", "ph": "6e870d25", "equity": 100000000, "ret": 0.0}, {"id": "v63", "ph": "9698b6a4", "equity": 100000000, "ret": 0.0}, {"id": "v65", "ph": "5b96fe5c", "equity": 100000000, "ret": 0.0}, {"id": "v67", "ph": "811c76b7", "equity": 100000000, "ret": 0.0}, {"id": "v69", "ph": "b896a0b0", "equity": 100000000, "ret": 0.0}, {"id": "v71", "ph": "900a188c", "equity": 100000000, "ret": 0.0}, {"id": "v73", "ph": "2d287be4", "equity": 100000000, "ret": 0.0}, {"id": "v75", "ph": "14f10e78", "equity": 100000000, "ret": 0.0}, {"id": "v77", "ph": "86dadea0", "equity": 100000000, "ret": 0.0}, {"id": "v81", "ph": "a6eac1e4", "equity": 100000000, "ret": 0.0}, {"id": "v82", "ph": "01847af6", "equity": 100000000, "ret": 0.0}, {"id": "v87", "ph": "c0be98c0", "equity": 100000000, "ret": 0.0}, {"id": "v88", "ph": "733579ce", "equity": 100000000, "ret": 0.0}, {"id": "v91", "ph": "5674a3d7", "equity": 100000000, "ret": 0.0}, {"id": "v92", "ph": "14a13097", "equity": 100000000, "ret": 0.0}, {"id": "v93", "ph": "f10d4e45", "equity": 100000000, "ret": 0.0}, {"id": "v94", "ph": "3e5d6b8a", "equity": 100000000, "ret": 0.0}, {"id": "v95", "ph": "7e28e756", "equity": 100000000, "ret": 0.0}, {"id": "v96", "ph": "095b119f", "equity": 100000000, "ret": 0.0}, {"id": "v99", "ph": "fb39409b", "equity": 100000000, "ret": 0.0}, {"id": "v100", "ph": "ffa9571a", "equity": 100000000, "ret": 0.0}, {"id": "v101", "ph": "c4354346", "equity": 100000000, "ret": 0.0}, {"id": "v102", "ph": "e1601afe", "equity": 100000000, "ret": 0.0}, {"id": "v103", "ph": "75b0a37c", "equity": 100000000, "ret": 0.0}, {"id": "v104", "ph": "013c3fde", "equity": 100000000, "ret": 0.0}, {"id": "v107", "ph": "be5cd36b", "equity": 100000000, "ret": 0.0}, {"id": "v108", "ph": "67a6679a", "equity": 100000000, "ret": 0.0}, {"id": "v109", "ph": "4c69fc95", "equity": 100000000, "ret": 0.0}, {"id": "v110", "ph": "8164d748", "equity": 100000000, "ret": 0.0}, {"id": "v111", "ph": "826e3d17", "equity": 100000000, "ret": 0.0}, {"id": "v112", "ph": "4cd47646", "equity": 100000000, "ret": 0.0}, {"id": "v113", "ph": "5b43d0bc", "equity": 100000000, "ret": 0.0}, {"id": "v114", "ph": "8686c36c", "equity": 100000000, "ret": 0.0}, {"id": "v115", "ph": "e1790a5a", "equity": 100000000, "ret": 0.0}, {"id": "v116", "ph": "e73fef98", "equity": 100000000, "ret": 0.0}, {"id": "v117", "ph": "c4ae8a11", "equity": 100000000, "ret": 0.0}, {"id": "v118", "ph": "538b63b9", "equity": 100000000, "ret": 0.0}, {"id": "v119", "ph": "ed2208f1", "equity": 100000000, "ret": 0.0}, {"id": "v120", "ph": "d25ca8b0", "equity": 100000000, "ret": 0.0}, {"id": "v121", "ph": "ae8797c1", "equity": 100000000, "ret": 0.0}, {"id": "v122", "ph": "b12ecb8e", "equity": 100000000, "ret": 0.0}, {"id": "v123", "ph": "6ee459af", "equity": 100000000, "ret": 0.0}, {"id": "v124", "ph": "47d22489", "equity": 100000000, "ret": 0.0}, {"id": "v125", "ph": "d2cf659a", "equity": 100000000, "ret": 0.0}, {"id": "v126", "ph": "d9a13cde", "equity": 100000000, "ret": 0.0}, {"id": "v127", "ph": "eff26306", "equity": 100000000, "ret": 0.0}, {"id": "v128", "ph": "e9482821", "equity": 100000000, "ret": 0.0}, {"id": "v129", "ph": "58ddcc3c", "equity": 100000000, "ret": 0.0}, {"id": "v130", "ph": "e91870c6", "equity": 100000000, "ret": 0.0}, {"id": "v131", "ph": "5f8c7082", "equity": 100000000, "ret": 0.0}, {"id": "v132", "ph": "0945c49a", "equity": 100000000, "ret": 0.0}, {"id": "v133", "ph": "78be8034", "equity": 100000000, "ret": 0.0}, {"id": "v134", "ph": "afbb4ab8", "equity": 100000000, "ret": 0.0}, {"id": "v135", "ph": "53f4c78c", "equity": 100000000, "ret": 0.0}, {"id": "v136", "ph": "ceb32a66", "equity": 100000000, "ret": 0.0}, {"id": "v137", "ph": "60ec806f", "equity": 100000000, "ret": 0.0}, {"id": "v138", "ph": "e3acb223", "equity": 100000000, "ret": 0.0}, {"id": "v139", "ph": "cfbc79a5", "equity": 100000000, "ret": 0.0}, {"id": "v140", "ph": "52175b2b", "equity": 100000000, "ret": 0.0}, {"id": "v141", "ph": "47f30434", "equity": 100000000, "ret": 0.0}, {"id": "v142", "ph": "44fae695", "equity": 100000000, "ret": 0.0}, {"id": "v143", "ph": "5cf8f13a", "equity": 100000000, "ret": 0.0}, {"id": "v144", "ph": "6ffe4183", "equity": 100000000, "ret": 0.0}, {"id": "v145", "ph": "a89d85fc", "equity": 100000000, "ret": 0.0}, {"id": "v146", "ph": "071b9cb1", "equity": 100000000, "ret": 0.0}, {"id": "v147", "ph": "2fbeeedb", "equity": 100000000, "ret": 0.0}, {"id": "v148", "ph": "ada71802", "equity": 100000000, "ret": 0.0}, {"id": "v149", "ph": "c5329f8d", "equity": 100000000, "ret": 0.0}, {"id": "v150", "ph": "be41b974", "equity": 100000000, "ret": 0.0}, {"id": "v151", "ph": "2eb1dd06", "equity": 100000000, "ret": 0.0}, {"id": "v152", "ph": "5d2df346", "equity": 100000000, "ret": 0.0}, {"id": "v153", "ph": "49fd09d9", "equity": 100000000, "ret": 0.0}, {"id": "v154", "ph": "7a3a7788", "equity": 100000000, "ret": 0.0}, {"id": "v155", "ph": "31c0d84e", "equity": 100000000, "ret": 0.0}, {"id": "v156", "ph": "3f7bcd1b", "equity": 100000000, "ret": 0.0}, {"id": "v157", "ph": "80f3e23b", "equity": 100000000, "ret": 0.0}, {"id": "v158", "ph": "7e56eae3", "equity": 100000000, "ret": 0.0}, {"id": "v159", "ph": "af80c67a", "equity": 100000000, "ret": 0.0}, {"id": "v160", "ph": "b03f5295", "equity": 100000000, "ret": 0.0}, {"id": "v161", "ph": "ed5677e6", "equity": 100000000, "ret": 0.0}, {"id": "v162", "ph": "b8f71c74", "equity": 100000000, "ret": 0.0}, {"id": "v163", "ph": "452ab819", "equity": 100000000, "ret": 0.0}, {"id": "v164", "ph": "331cec1f", "equity": 100000000, "ret": 0.0}, {"id": "v165", "ph": "8f862b27", "equity": 100000000, "ret": 0.0}, {"id": "v166", "ph": "f684401e", "equity": 100000000, "ret": 0.0}, {"id": "v167", "ph": "b6d6aed8", "equity": 100000000, "ret": 0.0}, {"id": "v168", "ph": "81099b26", "equity": 100000000, "ret": 0.0}, {"id": "v169", "ph": "d595e4fb", "equity": 100000000, "ret": 0.0}, {"id": "v170", "ph": "afd652fd", "equity": 100000000, "ret": 0.0}, {"id": "v171", "ph": "faa4e138", "equity": 100000000, "ret": 0.0}, {"id": "v172", "ph": "98d8acda", "equity": 100000000, "ret": 0.0}, {"id": "v173", "ph": "2ea88e58", "equity": 100000000, "ret": 0.0}, {"id": "v174", "ph": "d8b7e234", "equity": 100000000, "ret": 0.0}, {"id": "v175", "ph": "9b6b3d9c", "equity": 100000000, "ret": 0.0}, {"id": "v176", "ph": "b710fab4", "equity": 100000000, "ret": 0.0}, {"id": "v177", "ph": "87955d67", "equity": 100000000, "ret": 0.0}, {"id": "v178", "ph": "b7ad4c2d", "equity": 100000000, "ret": 0.0}, {"id": "v179", "ph": "bedf0e90", "equity": 100000000, "ret": 0.0}, {"id": "v180", "ph": "4e41501e", "equity": 100000000, "ret": 0.0}, {"id": "v181", "ph": "4614bd55", "equity": 100000000, "ret": 0.0}, {"id": "v182", "ph": "9a4e525e", "equity": 100000000, "ret": 0.0}, {"id": "v183", "ph": "84faca4b", "equity": 100000000, "ret": 0.0}, {"id": "v184", "ph": "3b78ae9c", "equity": 100000000, "ret": 0.0}, {"id": "v185", "ph": "6b7399b9", "equity": 100000000, "ret": 0.0}, {"id": "v186", "ph": "898d23ea", "equity": 100000000, "ret": 0.0}, {"id": "v187", "ph": "7a03131d", "equity": 100000000, "ret": 0.0}, {"id": "v188", "ph": "29798ffd", "equity": 100000000, "ret": 0.0}, {"id": "v189", "ph": "dfdbd0c8", "equity": 100000000, "ret": 0.0}, {"id": "v190", "ph": "e14af339", "equity": 100000000, "ret": 0.0}, {"id": "v191", "ph": "9bb12946", "equity": 100000000, "ret": 0.0}, {"id": "v192", "ph": "96fbbd1c", "equity": 100000000, "ret": 0.0}, {"id": "v193", "ph": "5dd1f4df", "equity": 100000000, "ret": 0.0}, {"id": "v194", "ph": "31aada19", "equity": 100000000, "ret": 0.0}, {"id": "v195", "ph": "dd89cf59", "equity": 100000000, "ret": 0.0}, {"id": "v196", "ph": "a44aeef1", "equity": 100000000, "ret": 0.0}, {"id": "v197", "ph": "5c290a32", "equity": 100000000, "ret": 0.0}, {"id": "v198", "ph": "ffd1ee88", "equity": 100000000, "ret": 0.0}, {"id": "v199", "ph": "390bfab3", "equity": 100000000, "ret": 0.0}, {"id": "v200", "ph": "8bbb6ec7", "equity": 100000000, "ret": 0.0}, {"id": "v201", "ph": "cb8a413e", "equity": 100000000, "ret": 0.0}, {"id": "v202", "ph": "a528b806", "equity": 100000000, "ret": 0.0}, {"id": "v203", "ph": "2071defa", "equity": 100000000, "ret": 0.0}, {"id": "v204", "ph": "434e2f7a", "equity": 100000000, "ret": 0.0}, {"id": "v205", "ph": "02e5a3f5", "equity": 100000000, "ret": 0.0}, {"id": "v206", "ph": "16f62ab7", "equity": 100000000, "ret": 0.0}, {"id": "v207", "ph": "0f6601a0", "equity": 100000000, "ret": 0.0}, {"id": "v208", "ph": "445623de", "equity": 100000000, "ret": 0.0}, {"id": "v209", "ph": "8730802d", "equity": 100000000, "ret": 0.0}, {"id": "v210", "ph": "6f533a9b", "equity": 100000000, "ret": 0.0}, {"id": "v211", "ph": "9227673c", "equity": 100000000, "ret": 0.0}, {"id": "v212", "ph": "b9e1e8d1", "equity": 100000000, "ret": 0.0}, {"id": "v213", "ph": "0e1d8e45", "equity": 100000000, "ret": 0.0}, {"id": "v214", "ph": "0fb624bf", "equity": 100000000, "ret": 0.0}, {"id": "v215", "ph": "a904a49d", "equity": 100000000, "ret": 0.0}, {"id": "v216", "ph": "ee298bd3", "equity": 100000000, "ret": 0.0}, {"id": "v217", "ph": "4c547a61", "equity": 100000000, "ret": 0.0}, {"id": "v218", "ph": "7304d2d4", "equity": 100000000, "ret": 0.0}, {"id": "v219", "ph": "426d3834", "equity": 100000000, "ret": 0.0}, {"id": "v220", "ph": "565c27a7", "equity": 100000000, "ret": 0.0}, {"id": "v221", "ph": "cd2eef94", "equity": 100000000, "ret": 0.0}, {"id": "v222", "ph": "55de9eca", "equity": 100000000, "ret": 0.0}, {"id": "v223", "ph": "b57356b8", "equity": 100000000, "ret": 0.0}, {"id": "v224", "ph": "888ab069", "equity": 100000000, "ret": 0.0}, {"id": "v225", "ph": "e9f40f62", "equity": 100000000, "ret": 0.0}, {"id": "v226", "ph": "98fd37a4", "equity": 100000000, "ret": 0.0}, {"id": "v227", "ph": "9454b07a", "equity": 100000000, "ret": 0.0}, {"id": "v228", "ph": "caa54387", "equity": 100000000, "ret": 0.0}, {"id": "v229", "ph": "d9261dfb", "equity": 100000000, "ret": 0.0}, {"id": "v230", "ph": "141579fe", "equity": 100000000, "ret": 0.0}, {"id": "v231", "ph": "cd9469fa", "equity": 100000000, "ret": 0.0}, {"id": "v232", "ph": "6de1fffa", "equity": 100000000, "ret": 0.0}, {"id": "v233", "ph": "941006e0", "equity": 100000000, "ret": 0.0}, {"id": "v234", "ph": "9a289d18", "equity": 100000000, "ret": 0.0}, {"id": "v235", "ph": "3e6c1666", "equity": 100000000, "ret": 0.0}, {"id": "v236", "ph": "f9c75560", "equity": 100000000, "ret": 0.0}, {"id": "v237", "ph": "a10d68cf", "equity": 100000000, "ret": 0.0}, {"id": "v238", "ph": "f1a74611", "equity": 100000000, "ret": 0.0}, {"id": "v239", "ph": "96e693c4", "equity": 100000000, "ret": 0.0}, {"id": "v240", "ph": "db1869eb", "equity": 100000000, "ret": 0.0}, {"id": "v241", "ph": "52162002", "equity": 100000000, "ret": 0.0}, {"id": "v242", "ph": "e6c70cac", "equity": 100000000, "ret": 0.0}, {"id": "v243", "ph": "fa7a545a", "equity": 100000000, "ret": 0.0}, {"id": "v244", "ph": "520c5a65", "equity": 100000000, "ret": 0.0}, {"id": "v245", "ph": "ac84324f", "equity": 100000000, "ret": 0.0}, {"id": "v246", "ph": "618ddf71", "equity": 100000000, "ret": 0.0}, {"id": "v247", "ph": "ba973fa6", "equity": 100000000, "ret": 0.0}, {"id": "v248", "ph": "9ca5e3dc", "equity": 100000000, "ret": 0.0}, {"id": "v249", "ph": "36a32ca0", "equity": 100000000, "ret": 0.0}, {"id": "v250", "ph": "b37976b8", "equity": 100000000, "ret": 0.0}, {"id": "v251", "ph": "8c5a06da", "equity": 100000000, "ret": 0.0}, {"id": "v252", "ph": "381a65d1", "equity": 100000000, "ret": 0.0}, {"id": "v253", "ph": "87bd57d6", "equity": 100000000, "ret": 0.0}, {"id": "v254", "ph": "75e53118", "equity": 100000000, "ret": 0.0}, {"id": "v255", "ph": "92e3c5e0", "equity": 100000000, "ret": 0.0}, {"id": "v256", "ph": "e583f1dd", "equity": 100000000, "ret": 0.0}, {"id": "v257", "ph": "7fa33f5b", "equity": 100000000, "ret": 0.0}, {"id": "v258", "ph": "0b19bb06", "equity": 100000000, "ret": 0.0}, {"id": "v259", "ph": "178a1fe3", "equity": 100000000, "ret": 0.0}, {"id": "v260", "ph": "bab317db", "equity": 100000000, "ret": 0.0}, {"id": "v261", "ph": "965786e6", "equity": 100000000, "ret": 0.0}, {"id": "v262", "ph": "e07faa54", "equity": 100000000, "ret": 0.0}, {"id": "v263", "ph": "ca392811", "equity": 100000000, "ret": 0.0}, {"id": "v264", "ph": "8c65e60d", "equity": 100000000, "ret": 0.0}, {"id": "v265", "ph": "7faed59d", "equity": 100000000, "ret": 0.0}, {"id": "v266", "ph": "c133b585", "equity": 100000000, "ret": 0.0}, {"id": "v267", "ph": "766c47d7", "equity": 100000000, "ret": 0.0}, {"id": "v268", "ph": "9736502d", "equity": 100000000, "ret": 0.0}, {"id": "v269", "ph": "c0c861c4", "equity": 100000000, "ret": 0.0}, {"id": "v270", "ph": "1ce9fd2b", "equity": 100000000, "ret": 0.0}, {"id": "v271", "ph": "2b9ccdcd", "equity": 100000000, "ret": 0.0}, {"id": "v272", "ph": "2ed2027f", "equity": 100000000, "ret": 0.0}, {"id": "v273", "ph": "c726e8d5", "equity": 100000000, "ret": 0.0}, {"id": "v274", "ph": "62b011c8", "equity": 100000000, "ret": 0.0}, {"id": "v275", "ph": "3ebf0d91", "equity": 100000000, "ret": 0.0}, {"id": "v276", "ph": "51425eab", "equity": 100000000, "ret": 0.0}, {"id": "v277", "ph": "488b612a", "equity": 100000000, "ret": 0.0}, {"id": "v278", "ph": "861fb42b", "equity": 100000000, "ret": 0.0}, {"id": "v279", "ph": "37e203bb", "equity": 100000000, "ret": 0.0}, {"id": "v280", "ph": "60411037", "equity": 100000000, "ret": 0.0}, {"id": "v281", "ph": "7d9e5a9d", "equity": 100000000, "ret": 0.0}, {"id": "v282", "ph": "9ddd111d", "equity": 100000000, "ret": 0.0}, {"id": "v283", "ph": "479e4b25", "equity": 100000000, "ret": 0.0}, {"id": "v284", "ph": "261c5d58", "equity": 100000000, "ret": 0.0}, {"id": "v285", "ph": "962e35cd", "equity": 100000000, "ret": 0.0}, {"id": "v286", "ph": "4f6101e9", "equity": 100000000, "ret": 0.0}, {"id": "v287", "ph": "3bf14815", "equity": 100000000, "ret": 0.0}, {"id": "v288", "ph": "1c732194", "equity": 100000000, "ret": 0.0}], "20260616": [{"id": "v40", "ph": "70731d89", "equity": 100839155, "ret": 0.84}, {"id": "v42", "ph": "f36fddc6", "equity": 100839155, "ret": 0.84}, {"id": "v44", "ph": "364ea434", "equity": 100839155, "ret": 0.84}, {"id": "v2", "ph": "bab0fc2c", "equity": 100488676, "ret": 0.49}, {"id": "v3", "ph": "81d17cca", "equity": 100488676, "ret": 0.49}, {"id": "v4", "ph": "b6219595", "equity": 100488676, "ret": 0.49}, {"id": "v39", "ph": "11c27236", "equity": 100488676, "ret": 0.49}, {"id": "v41", "ph": "e9d84e84", "equity": 100488676, "ret": 0.49}, {"id": "v43", "ph": "94ea3b53", "equity": 100488676, "ret": 0.49}, {"id": "v48", "ph": "18854c6a", "equity": 100493421, "ret": 0.49}, {"id": "v90", "ph": "86e09c47", "equity": 100493421, "ret": 0.49}, {"id": "v98", "ph": "266fc53f", "equity": 100493421, "ret": 0.49}, {"id": "v106", "ph": "d0f5fbc1", "equity": 100493421, "ret": 0.49}, {"id": "v6", "ph": "e96ce9e2", "equity": 100261535, "ret": 0.26}, {"id": "v35", "ph": "6a183375", "equity": 100261535, "ret": 0.26}, {"id": "v47", "ph": "ed758fcf", "equity": 100261535, "ret": 0.26}, {"id": "v105", "ph": "88395429", "equity": 100261535, "ret": 0.26}, {"id": "v27", "ph": "33d43bc6", "equity": 100242607, "ret": 0.24}, {"id": "v31", "ph": "3dc99490", "equity": 100242607, "ret": 0.24}, {"id": "v89", "ph": "c49d5680", "equity": 100242607, "ret": 0.24}, {"id": "v97", "ph": "ebf31977", "equity": 100242607, "ret": 0.24}, {"id": "v1", "ph": "4874f4c9", "equity": 100000000, "ret": 0.0}, {"id": "v5", "ph": "ec2eb05a", "equity": 100000000, "ret": 0.0}, {"id": "v7", "ph": "de835eae", "equity": 100000000, "ret": 0.0}, {"id": "v8", "ph": "18c6740b", "equity": 100000000, "ret": 0.0}, {"id": "v9", "ph": "141268ab", "equity": 100000000, "ret": 0.0}, {"id": "v10", "ph": "e48c1012", "equity": 100000000, "ret": 0.0}, {"id": "v11", "ph": "e4bb2e3e", "equity": 100000000, "ret": 0.0}, {"id": "v12", "ph": "f166fb0e", "equity": 100000000, "ret": 0.0}, {"id": "v23", "ph": "aec632b1", "equity": 100000000, "ret": 0.0}, {"id": "v26", "ph": "2e5f3fac", "equity": 100000000, "ret": 0.0}, {"id": "v28", "ph": "28e87677", "equity": 100000000, "ret": 0.0}, {"id": "v29", "ph": "e46149f5", "equity": 100000000, "ret": 0.0}, {"id": "v30", "ph": "df71f475", "equity": 100000000, "ret": 0.0}, {"id": "v32", "ph": "153055e6", "equity": 100000000, "ret": 0.0}, {"id": "v33", "ph": "97ad2410", "equity": 100000000, "ret": 0.0}, {"id": "v34", "ph": "d77f522d", "equity": 100000000, "ret": 0.0}, {"id": "v36", "ph": "feebff1a", "equity": 100000000, "ret": 0.0}, {"id": "v37", "ph": "fb2247aa", "equity": 100000000, "ret": 0.0}, {"id": "v38", "ph": "9b9083ae", "equity": 100000000, "ret": 0.0}, {"id": "v45", "ph": "964276a8", "equity": 100000000, "ret": 0.0}, {"id": "v46", "ph": "7dc0e360", "equity": 100000000, "ret": 0.0}, {"id": "v49", "ph": "cdba73e0", "equity": 100000000, "ret": 0.0}, {"id": "v50", "ph": "690a50b5", "equity": 100000000, "ret": 0.0}, {"id": "v51", "ph": "21a98e46", "equity": 100000000, "ret": 0.0}, {"id": "v52", "ph": "c1939d0b", "equity": 100000000, "ret": 0.0}, {"id": "v53", "ph": "2391ee16", "equity": 100000000, "ret": 0.0}, {"id": "v54", "ph": "b975742e", "equity": 100000000, "ret": 0.0}, {"id": "v55", "ph": "2c44de9b", "equity": 100000000, "ret": 0.0}, {"id": "v56", "ph": "5d99704f", "equity": 100000000, "ret": 0.0}, {"id": "v57", "ph": "e7e98b6d", "equity": 100000000, "ret": 0.0}, {"id": "v58", "ph": "f1e52f55", "equity": 100000000, "ret": 0.0}, {"id": "v59", "ph": "1858e2ec", "equity": 100000000, "ret": 0.0}, {"id": "v60", "ph": "52560b06", "equity": 100000000, "ret": 0.0}, {"id": "v81", "ph": "a6eac1e4", "equity": 100000000, "ret": 0.0}, {"id": "v82", "ph": "01847af6", "equity": 100000000, "ret": 0.0}, {"id": "v87", "ph": "c0be98c0", "equity": 100000000, "ret": 0.0}, {"id": "v88", "ph": "733579ce", "equity": 100000000, "ret": 0.0}, {"id": "v91", "ph": "5674a3d7", "equity": 100000000, "ret": 0.0}, {"id": "v92", "ph": "14a13097", "equity": 100000000, "ret": 0.0}, {"id": "v93", "ph": "f10d4e45", "equity": 100000000, "ret": 0.0}, {"id": "v94", "ph": "3e5d6b8a", "equity": 100000000, "ret": 0.0}, {"id": "v95", "ph": "7e28e756", "equity": 100000000, "ret": 0.0}, {"id": "v96", "ph": "095b119f", "equity": 100000000, "ret": 0.0}, {"id": "v99", "ph": "fb39409b", "equity": 100000000, "ret": 0.0}, {"id": "v100", "ph": "ffa9571a", "equity": 100000000, "ret": 0.0}, {"id": "v101", "ph": "c4354346", "equity": 100000000, "ret": 0.0}, {"id": "v102", "ph": "e1601afe", "equity": 100000000, "ret": 0.0}, {"id": "v103", "ph": "75b0a37c", "equity": 100000000, "ret": 0.0}, {"id": "v104", "ph": "013c3fde", "equity": 100000000, "ret": 0.0}, {"id": "v107", "ph": "be5cd36b", "equity": 100000000, "ret": 0.0}, {"id": "v108", "ph": "67a6679a", "equity": 100000000, "ret": 0.0}, {"id": "v109", "ph": "4c69fc95", "equity": 100000000, "ret": 0.0}, {"id": "v110", "ph": "8164d748", "equity": 100000000, "ret": 0.0}, {"id": "v111", "ph": "826e3d17", "equity": 100000000, "ret": 0.0}, {"id": "v112", "ph": "4cd47646", "equity": 100000000, "ret": 0.0}, {"id": "v113", "ph": "5b43d0bc", "equity": 100000000, "ret": 0.0}, {"id": "v114", "ph": "8686c36c", "equity": 100000000, "ret": 0.0}, {"id": "v115", "ph": "e1790a5a", "equity": 100000000, "ret": 0.0}, {"id": "v116", "ph": "e73fef98", "equity": 100000000, "ret": 0.0}, {"id": "v117", "ph": "c4ae8a11", "equity": 100000000, "ret": 0.0}, {"id": "v118", "ph": "538b63b9", "equity": 100000000, "ret": 0.0}, {"id": "v119", "ph": "ed2208f1", "equity": 100000000, "ret": 0.0}, {"id": "v120", "ph": "d25ca8b0", "equity": 100000000, "ret": 0.0}, {"id": "v131", "ph": "5f8c7082", "equity": 100000000, "ret": 0.0}, {"id": "v134", "ph": "afbb4ab8", "equity": 100000000, "ret": 0.0}, {"id": "v135", "ph": "53f4c78c", "equity": 100000000, "ret": 0.0}, {"id": "v136", "ph": "ceb32a66", "equity": 100000000, "ret": 0.0}, {"id": "v137", "ph": "60ec806f", "equity": 100000000, "ret": 0.0}, {"id": "v138", "ph": "e3acb223", "equity": 100000000, "ret": 0.0}, {"id": "v139", "ph": "cfbc79a5", "equity": 100000000, "ret": 0.0}, {"id": "v140", "ph": "52175b2b", "equity": 100000000, "ret": 0.0}, {"id": "v141", "ph": "47f30434", "equity": 100000000, "ret": 0.0}, {"id": "v142", "ph": "44fae695", "equity": 100000000, "ret": 0.0}, {"id": "v143", "ph": "5cf8f13a", "equity": 100000000, "ret": 0.0}, {"id": "v144", "ph": "6ffe4183", "equity": 100000000, "ret": 0.0}, {"id": "v145", "ph": "a89d85fc", "equity": 100000000, "ret": 0.0}, {"id": "v146", "ph": "071b9cb1", "equity": 100000000, "ret": 0.0}, {"id": "v147", "ph": "2fbeeedb", "equity": 100000000, "ret": 0.0}, {"id": "v148", "ph": "ada71802", "equity": 100000000, "ret": 0.0}, {"id": "v149", "ph": "c5329f8d", "equity": 100000000, "ret": 0.0}, {"id": "v150", "ph": "be41b974", "equity": 100000000, "ret": 0.0}, {"id": "v151", "ph": "2eb1dd06", "equity": 100000000, "ret": 0.0}, {"id": "v152", "ph": "5d2df346", "equity": 100000000, "ret": 0.0}, {"id": "v153", "ph": "49fd09d9", "equity": 100000000, "ret": 0.0}, {"id": "v154", "ph": "7a3a7788", "equity": 100000000, "ret": 0.0}, {"id": "v155", "ph": "31c0d84e", "equity": 100000000, "ret": 0.0}, {"id": "v156", "ph": "3f7bcd1b", "equity": 100000000, "ret": 0.0}, {"id": "v157", "ph": "80f3e23b", "equity": 100000000, "ret": 0.0}, {"id": "v158", "ph": "7e56eae3", "equity": 100000000, "ret": 0.0}, {"id": "v159", "ph": "af80c67a", "equity": 100000000, "ret": 0.0}, {"id": "v160", "ph": "b03f5295", "equity": 100000000, "ret": 0.0}, {"id": "v161", "ph": "ed5677e6", "equity": 100000000, "ret": 0.0}, {"id": "v162", "ph": "b8f71c74", "equity": 100000000, "ret": 0.0}, {"id": "v163", "ph": "452ab819", "equity": 100000000, "ret": 0.0}, {"id": "v164", "ph": "331cec1f", "equity": 100000000, "ret": 0.0}, {"id": "v165", "ph": "8f862b27", "equity": 100000000, "ret": 0.0}, {"id": "v166", "ph": "f684401e", "equity": 100000000, "ret": 0.0}, {"id": "v167", "ph": "b6d6aed8", "equity": 100000000, "ret": 0.0}, {"id": "v168", "ph": "81099b26", "equity": 100000000, "ret": 0.0}, {"id": "v189", "ph": "dfdbd0c8", "equity": 100000000, "ret": 0.0}, {"id": "v190", "ph": "e14af339", "equity": 100000000, "ret": 0.0}, {"id": "v195", "ph": "dd89cf59", "equity": 100000000, "ret": 0.0}, {"id": "v196", "ph": "a44aeef1", "equity": 100000000, "ret": 0.0}, {"id": "v197", "ph": "5c290a32", "equity": 100000000, "ret": 0.0}, {"id": "v198", "ph": "ffd1ee88", "equity": 100000000, "ret": 0.0}, {"id": "v199", "ph": "390bfab3", "equity": 100000000, "ret": 0.0}, {"id": "v200", "ph": "8bbb6ec7", "equity": 100000000, "ret": 0.0}, {"id": "v201", "ph": "cb8a413e", "equity": 100000000, "ret": 0.0}, {"id": "v202", "ph": "a528b806", "equity": 100000000, "ret": 0.0}, {"id": "v203", "ph": "2071defa", "equity": 100000000, "ret": 0.0}, {"id": "v204", "ph": "434e2f7a", "equity": 100000000, "ret": 0.0}, {"id": "v205", "ph": "02e5a3f5", "equity": 100000000, "ret": 0.0}, {"id": "v206", "ph": "16f62ab7", "equity": 100000000, "ret": 0.0}, {"id": "v207", "ph": "0f6601a0", "equity": 100000000, "ret": 0.0}, {"id": "v208", "ph": "445623de", "equity": 100000000, "ret": 0.0}, {"id": "v209", "ph": "8730802d", "equity": 100000000, "ret": 0.0}, {"id": "v210", "ph": "6f533a9b", "equity": 100000000, "ret": 0.0}, {"id": "v211", "ph": "9227673c", "equity": 100000000, "ret": 0.0}, {"id": "v212", "ph": "b9e1e8d1", "equity": 100000000, "ret": 0.0}, {"id": "v213", "ph": "0e1d8e45", "equity": 100000000, "ret": 0.0}, {"id": "v214", "ph": "0fb624bf", "equity": 100000000, "ret": 0.0}, {"id": "v215", "ph": "a904a49d", "equity": 100000000, "ret": 0.0}, {"id": "v216", "ph": "ee298bd3", "equity": 100000000, "ret": 0.0}, {"id": "v217", "ph": "4c547a61", "equity": 100000000, "ret": 0.0}, {"id": "v218", "ph": "7304d2d4", "equity": 100000000, "ret": 0.0}, {"id": "v219", "ph": "426d3834", "equity": 100000000, "ret": 0.0}, {"id": "v220", "ph": "565c27a7", "equity": 100000000, "ret": 0.0}, {"id": "v221", "ph": "cd2eef94", "equity": 100000000, "ret": 0.0}, {"id": "v222", "ph": "55de9eca", "equity": 100000000, "ret": 0.0}, {"id": "v223", "ph": "b57356b8", "equity": 100000000, "ret": 0.0}, {"id": "v224", "ph": "888ab069", "equity": 100000000, "ret": 0.0}, {"id": "v225", "ph": "e9f40f62", "equity": 100000000, "ret": 0.0}, {"id": "v226", "ph": "98fd37a4", "equity": 100000000, "ret": 0.0}, {"id": "v227", "ph": "9454b07a", "equity": 100000000, "ret": 0.0}, {"id": "v228", "ph": "caa54387", "equity": 100000000, "ret": 0.0}, {"id": "v229", "ph": "d9261dfb", "equity": 100000000, "ret": 0.0}, {"id": "v230", "ph": "141579fe", "equity": 100000000, "ret": 0.0}, {"id": "v231", "ph": "cd9469fa", "equity": 100000000, "ret": 0.0}, {"id": "v232", "ph": "6de1fffa", "equity": 100000000, "ret": 0.0}, {"id": "v233", "ph": "941006e0", "equity": 100000000, "ret": 0.0}, {"id": "v234", "ph": "9a289d18", "equity": 100000000, "ret": 0.0}, {"id": "v235", "ph": "3e6c1666", "equity": 100000000, "ret": 0.0}, {"id": "v236", "ph": "f9c75560", "equity": 100000000, "ret": 0.0}, {"id": "v237", "ph": "a10d68cf", "equity": 100000000, "ret": 0.0}, {"id": "v238", "ph": "f1a74611", "equity": 100000000, "ret": 0.0}, {"id": "v239", "ph": "96e693c4", "equity": 100000000, "ret": 0.0}, {"id": "v240", "ph": "db1869eb", "equity": 100000000, "ret": 0.0}, {"id": "v241", "ph": "52162002", "equity": 100000000, "ret": 0.0}, {"id": "v242", "ph": "e6c70cac", "equity": 100000000, "ret": 0.0}, {"id": "v243", "ph": "fa7a545a", "equity": 100000000, "ret": 0.0}, {"id": "v244", "ph": "520c5a65", "equity": 100000000, "ret": 0.0}, {"id": "v245", "ph": "ac84324f", "equity": 100000000, "ret": 0.0}, {"id": "v246", "ph": "618ddf71", "equity": 100000000, "ret": 0.0}, {"id": "v247", "ph": "ba973fa6", "equity": 100000000, "ret": 0.0}, {"id": "v248", "ph": "9ca5e3dc", "equity": 100000000, "ret": 0.0}, {"id": "v249", "ph": "36a32ca0", "equity": 100000000, "ret": 0.0}, {"id": "v250", "ph": "b37976b8", "equity": 100000000, "ret": 0.0}, {"id": "v251", "ph": "8c5a06da", "equity": 100000000, "ret": 0.0}, {"id": "v252", "ph": "381a65d1", "equity": 100000000, "ret": 0.0}, {"id": "v253", "ph": "87bd57d6", "equity": 100000000, "ret": 0.0}, {"id": "v254", "ph": "75e53118", "equity": 100000000, "ret": 0.0}, {"id": "v255", "ph": "92e3c5e0", "equity": 100000000, "ret": 0.0}, {"id": "v256", "ph": "e583f1dd", "equity": 100000000, "ret": 0.0}, {"id": "v257", "ph": "7fa33f5b", "equity": 100000000, "ret": 0.0}, {"id": "v258", "ph": "0b19bb06", "equity": 100000000, "ret": 0.0}, {"id": "v259", "ph": "178a1fe3", "equity": 100000000, "ret": 0.0}, {"id": "v260", "ph": "bab317db", "equity": 100000000, "ret": 0.0}, {"id": "v261", "ph": "965786e6", "equity": 100000000, "ret": 0.0}, {"id": "v262", "ph": "e07faa54", "equity": 100000000, "ret": 0.0}, {"id": "v263", "ph": "ca392811", "equity": 100000000, "ret": 0.0}, {"id": "v264", "ph": "8c65e60d", "equity": 100000000, "ret": 0.0}, {"id": "v265", "ph": "7faed59d", "equity": 100000000, "ret": 0.0}, {"id": "v266", "ph": "c133b585", "equity": 100000000, "ret": 0.0}, {"id": "v267", "ph": "766c47d7", "equity": 100000000, "ret": 0.0}, {"id": "v268", "ph": "9736502d", "equity": 100000000, "ret": 0.0}, {"id": "v269", "ph": "c0c861c4", "equity": 100000000, "ret": 0.0}, {"id": "v270", "ph": "1ce9fd2b", "equity": 100000000, "ret": 0.0}, {"id": "v271", "ph": "2b9ccdcd", "equity": 100000000, "ret": 0.0}, {"id": "v272", "ph": "2ed2027f", "equity": 100000000, "ret": 0.0}, {"id": "v273", "ph": "c726e8d5", "equity": 100000000, "ret": 0.0}, {"id": "v274", "ph": "62b011c8", "equity": 100000000, "ret": 0.0}, {"id": "v275", "ph": "3ebf0d91", "equity": 100000000, "ret": 0.0}, {"id": "v276", "ph": "51425eab", "equity": 100000000, "ret": 0.0}, {"id": "v277", "ph": "488b612a", "equity": 100000000, "ret": 0.0}, {"id": "v278", "ph": "861fb42b", "equity": 100000000, "ret": 0.0}, {"id": "v279", "ph": "37e203bb", "equity": 100000000, "ret": 0.0}, {"id": "v280", "ph": "60411037", "equity": 100000000, "ret": 0.0}, {"id": "v281", "ph": "7d9e5a9d", "equity": 100000000, "ret": 0.0}, {"id": "v282", "ph": "9ddd111d", "equity": 100000000, "ret": 0.0}, {"id": "v283", "ph": "479e4b25", "equity": 100000000, "ret": 0.0}, {"id": "v284", "ph": "261c5d58", "equity": 100000000, "ret": 0.0}, {"id": "v285", "ph": "962e35cd", "equity": 100000000, "ret": 0.0}, {"id": "v286", "ph": "4f6101e9", "equity": 100000000, "ret": 0.0}, {"id": "v287", "ph": "3bf14815", "equity": 100000000, "ret": 0.0}, {"id": "v288", "ph": "1c732194", "equity": 100000000, "ret": 0.0}, {"id": "v300", "ph": "c6ddc17b", "equity": 100000000, "ret": 0.0}, {"id": "v301", "ph": "30da2021", "equity": 100000000, "ret": 0.0}, {"id": "v302", "ph": "3f30502d", "equity": 100000000, "ret": 0.0}, {"id": "v303", "ph": "1a084164", "equity": 100000000, "ret": 0.0}, {"id": "v296", "ph": "4c554378", "equity": 99588927, "ret": -0.41}, {"id": "v298", "ph": "5d4bbec0", "equity": 99481601, "ret": -0.52}, {"id": "v299", "ph": "25046b1a", "equity": 98593265, "ret": -1.41}], "20260617": [{"id": "v40", "ph": "70731d89", "equity": 100652033, "ret": 0.65}, {"id": "v42", "ph": "f36fddc6", "equity": 100652033, "ret": 0.65}, {"id": "v44", "ph": "364ea434", "equity": 100652033, "ret": 0.65}, {"id": "v48", "ph": "18854c6a", "equity": 100383529, "ret": 0.38}, {"id": "v90", "ph": "86e09c47", "equity": 100383642, "ret": 0.38}, {"id": "v98", "ph": "266fc53f", "equity": 100383642, "ret": 0.38}, {"id": "v106", "ph": "d0f5fbc1", "equity": 100383529, "ret": 0.38}, {"id": "v2", "ph": "bab0fc2c", "equity": 100309506, "ret": 0.31}, {"id": "v3", "ph": "81d17cca", "equity": 100309506, "ret": 0.31}, {"id": "v4", "ph": "b6219595", "equity": 100309506, "ret": 0.31}, {"id": "v39", "ph": "11c27236", "equity": 100309506, "ret": 0.31}, {"id": "v41", "ph": "e9d84e84", "equity": 100309506, "ret": 0.31}, {"id": "v43", "ph": "94ea3b53", "equity": 100309506, "ret": 0.31}, {"id": "v6", "ph": "e96ce9e2", "equity": 100166592, "ret": 0.17}, {"id": "v35", "ph": "6a183375", "equity": 100166592, "ret": 0.17}, {"id": "v47", "ph": "ed758fcf", "equity": 100166592, "ret": 0.17}, {"id": "v105", "ph": "88395429", "equity": 100166592, "ret": 0.17}, {"id": "v27", "ph": "33d43bc6", "equity": 100154776, "ret": 0.15}, {"id": "v31", "ph": "3dc99490", "equity": 100154776, "ret": 0.15}, {"id": "v89", "ph": "c49d5680", "equity": 100154776, "ret": 0.15}, {"id": "v97", "ph": "ebf31977", "equity": 100154776, "ret": 0.15}, {"id": "v7", "ph": "de835eae", "equity": 100000000, "ret": 0.0}, {"id": "v8", "ph": "18c6740b", "equity": 100000000, "ret": 0.0}, {"id": "v23", "ph": "aec632b1", "equity": 100000000, "ret": 0.0}, {"id": "v28", "ph": "28e87677", "equity": 100000000, "ret": 0.0}, {"id": "v30", "ph": "df71f475", "equity": 100000000, "ret": 0.0}, {"id": "v49", "ph": "cdba73e0", "equity": 100000000, "ret": 0.0}, {"id": "v50", "ph": "690a50b5", "equity": 100000000, "ret": 0.0}, {"id": "v51", "ph": "21a98e46", "equity": 100000000, "ret": 0.0}, {"id": "v52", "ph": "c1939d0b", "equity": 100000000, "ret": 0.0}, {"id": "v81", "ph": "a6eac1e4", "equity": 100000000, "ret": 0.0}, {"id": "v82", "ph": "01847af6", "equity": 100000000, "ret": 0.0}, {"id": "v91", "ph": "5674a3d7", "equity": 100000000, "ret": 0.0}, {"id": "v92", "ph": "14a13097", "equity": 100000000, "ret": 0.0}, {"id": "v95", "ph": "7e28e756", "equity": 100000000, "ret": 0.0}, {"id": "v96", "ph": "095b119f", "equity": 100000000, "ret": 0.0}, {"id": "v300", "ph": "c6ddc17b", "equity": 99999065, "ret": -0.0}, {"id": "v302", "ph": "3f30502d", "equity": 100000000, "ret": 0.0}, {"id": "v9", "ph": "141268ab", "equity": 99870054, "ret": -0.13}, {"id": "v11", "ph": "e4bb2e3e", "equity": 99870054, "ret": -0.13}, {"id": "v12", "ph": "f166fb0e", "equity": 99870054, "ret": -0.13}, {"id": "v26", "ph": "2e5f3fac", "equity": 99869724, "ret": -0.13}, {"id": "v29", "ph": "e46149f5", "equity": 99869724, "ret": -0.13}, {"id": "v32", "ph": "153055e6", "equity": 99870054, "ret": -0.13}, {"id": "v33", "ph": "97ad2410", "equity": 99870054, "ret": -0.13}, {"id": "v34", "ph": "d77f522d", "equity": 99869724, "ret": -0.13}, {"id": "v53", "ph": "2391ee16", "equity": 99870054, "ret": -0.13}, {"id": "v54", "ph": "b975742e", "equity": 99870054, "ret": -0.13}, {"id": "v57", "ph": "e7e98b6d", "equity": 99870054, "ret": -0.13}, {"id": "v58", "ph": "f1e52f55", "equity": 99870054, "ret": -0.13}, {"id": "v59", "ph": "1858e2ec", "equity": 99870054, "ret": -0.13}, {"id": "v60", "ph": "52560b06", "equity": 99870054, "ret": -0.13}, {"id": "v87", "ph": "c0be98c0", "equity": 99869724, "ret": -0.13}, {"id": "v88", "ph": "733579ce", "equity": 99868788, "ret": -0.13}, {"id": "v93", "ph": "f10d4e45", "equity": 99869724, "ret": -0.13}, {"id": "v94", "ph": "3e5d6b8a", "equity": 99868788, "ret": -0.13}, {"id": "v99", "ph": "fb39409b", "equity": 99870054, "ret": -0.13}, {"id": "v100", "ph": "ffa9571a", "equity": 99870054, "ret": -0.13}, {"id": "v101", "ph": "c4354346", "equity": 99870054, "ret": -0.13}, {"id": "v102", "ph": "e1601afe", "equity": 99870054, "ret": -0.13}, {"id": "v103", "ph": "75b0a37c", "equity": 99869724, "ret": -0.13}, {"id": "v104", "ph": "013c3fde", "equity": 99868788, "ret": -0.13}, {"id": "v117", "ph": "c4ae8a11", "equity": 99869288, "ret": -0.13}, {"id": "v119", "ph": "ed2208f1", "equity": 99869288, "ret": -0.13}, {"id": "v120", "ph": "d25ca8b0", "equity": 99869288, "ret": -0.13}, {"id": "v134", "ph": "afbb4ab8", "equity": 99868958, "ret": -0.13}, {"id": "v135", "ph": "53f4c78c", "equity": 99868958, "ret": -0.13}, {"id": "v136", "ph": "ceb32a66", "equity": 99869288, "ret": -0.13}, {"id": "v137", "ph": "60ec806f", "equity": 99868958, "ret": -0.13}, {"id": "v139", "ph": "cfbc79a5", "equity": 99868958, "ret": -0.13}, {"id": "v140", "ph": "52175b2b", "equity": 99869288, "ret": -0.13}, {"id": "v141", "ph": "47f30434", "equity": 99869288, "ret": -0.13}, {"id": "v142", "ph": "44fae695", "equity": 99868958, "ret": -0.13}, {"id": "v161", "ph": "ed5677e6", "equity": 99870054, "ret": -0.13}, {"id": "v162", "ph": "b8f71c74", "equity": 99869288, "ret": -0.13}, {"id": "v165", "ph": "8f862b27", "equity": 99870054, "ret": -0.13}, {"id": "v166", "ph": "f684401e", "equity": 99869288, "ret": -0.13}, {"id": "v167", "ph": "b6d6aed8", "equity": 99870054, "ret": -0.13}, {"id": "v168", "ph": "81099b26", "equity": 99869288, "ret": -0.13}, {"id": "v195", "ph": "dd89cf59", "equity": 99869724, "ret": -0.13}, {"id": "v196", "ph": "a44aeef1", "equity": 99868022, "ret": -0.13}, {"id": "v197", "ph": "5c290a32", "equity": 99869724, "ret": -0.13}, {"id": "v198", "ph": "ffd1ee88", "equity": 99868022, "ret": -0.13}, {"id": "v199", "ph": "390bfab3", "equity": 99870054, "ret": -0.13}, {"id": "v200", "ph": "8bbb6ec7", "equity": 99869288, "ret": -0.13}, {"id": "v201", "ph": "cb8a413e", "equity": 99869724, "ret": -0.13}, {"id": "v202", "ph": "a528b806", "equity": 99868022, "ret": -0.13}, {"id": "v205", "ph": "02e5a3f5", "equity": 99869724, "ret": -0.13}, {"id": "v206", "ph": "16f62ab7", "equity": 99868022, "ret": -0.13}, {"id": "v207", "ph": "0f6601a0", "equity": 99870054, "ret": -0.13}, {"id": "v208", "ph": "445623de", "equity": 99869288, "ret": -0.13}, {"id": "v209", "ph": "8730802d", "equity": 99870054, "ret": -0.13}, {"id": "v210", "ph": "6f533a9b", "equity": 99869288, "ret": -0.13}, {"id": "v211", "ph": "9227673c", "equity": 99869724, "ret": -0.13}, {"id": "v212", "ph": "b9e1e8d1", "equity": 99868022, "ret": -0.13}, {"id": "v217", "ph": "4c547a61", "equity": 99870054, "ret": -0.13}, {"id": "v218", "ph": "7304d2d4", "equity": 99870054, "ret": -0.13}, {"id": "v219", "ph": "426d3834", "equity": 99869288, "ret": -0.13}, {"id": "v220", "ph": "565c27a7", "equity": 99869288, "ret": -0.13}, {"id": "v221", "ph": "cd2eef94", "equity": 99869288, "ret": -0.13}, {"id": "v222", "ph": "55de9eca", "equity": 99869288, "ret": -0.13}, {"id": "v223", "ph": "b57356b8", "equity": 99870054, "ret": -0.13}, {"id": "v224", "ph": "888ab069", "equity": 99870054, "ret": -0.13}, {"id": "v225", "ph": "e9f40f62", "equity": 99869288, "ret": -0.13}, {"id": "v226", "ph": "98fd37a4", "equity": 99869288, "ret": -0.13}, {"id": "v227", "ph": "9454b07a", "equity": 99869288, "ret": -0.13}, {"id": "v228", "ph": "caa54387", "equity": 99869288, "ret": -0.13}, {"id": "v229", "ph": "d9261dfb", "equity": 99870054, "ret": -0.13}, {"id": "v230", "ph": "141579fe", "equity": 99870054, "ret": -0.13}, {"id": "v231", "ph": "cd9469fa", "equity": 99869288, "ret": -0.13}, {"id": "v232", "ph": "6de1fffa", "equity": 99869288, "ret": -0.13}, {"id": "v233", "ph": "941006e0", "equity": 99869288, "ret": -0.13}, {"id": "v234", "ph": "9a289d18", "equity": 99869288, "ret": -0.13}, {"id": "v235", "ph": "3e6c1666", "equity": 99870054, "ret": -0.13}, {"id": "v236", "ph": "f9c75560", "equity": 99870054, "ret": -0.13}, {"id": "v237", "ph": "a10d68cf", "equity": 99869288, "ret": -0.13}, {"id": "v238", "ph": "f1a74611", "equity": 99869288, "ret": -0.13}, {"id": "v239", "ph": "96e693c4", "equity": 99869288, "ret": -0.13}, {"id": "v240", "ph": "db1869eb", "equity": 99869288, "ret": -0.13}, {"id": "v265", "ph": "7faed59d", "equity": 99870054, "ret": -0.13}, {"id": "v266", "ph": "c133b585", "equity": 99870054, "ret": -0.13}, {"id": "v267", "ph": "766c47d7", "equity": 99869288, "ret": -0.13}, {"id": "v268", "ph": "9736502d", "equity": 99869288, "ret": -0.13}, {"id": "v269", "ph": "c0c861c4", "equity": 99869288, "ret": -0.13}, {"id": "v270", "ph": "1ce9fd2b", "equity": 99869288, "ret": -0.13}, {"id": "v271", "ph": "2b9ccdcd", "equity": 99870054, "ret": -0.13}, {"id": "v272", "ph": "2ed2027f", "equity": 99870054, "ret": -0.13}, {"id": "v273", "ph": "c726e8d5", "equity": 99869288, "ret": -0.13}, {"id": "v274", "ph": "62b011c8", "equity": 99869288, "ret": -0.13}, {"id": "v275", "ph": "3ebf0d91", "equity": 99869288, "ret": -0.13}, {"id": "v276", "ph": "51425eab", "equity": 99869288, "ret": -0.13}, {"id": "v277", "ph": "488b612a", "equity": 99870054, "ret": -0.13}, {"id": "v278", "ph": "861fb42b", "equity": 99870054, "ret": -0.13}, {"id": "v279", "ph": "37e203bb", "equity": 99869288, "ret": -0.13}, {"id": "v280", "ph": "60411037", "equity": 99869288, "ret": -0.13}, {"id": "v281", "ph": "7d9e5a9d", "equity": 99869288, "ret": -0.13}, {"id": "v282", "ph": "9ddd111d", "equity": 99869288, "ret": -0.13}, {"id": "v283", "ph": "479e4b25", "equity": 99870054, "ret": -0.13}, {"id": "v284", "ph": "261c5d58", "equity": 99870054, "ret": -0.13}, {"id": "v285", "ph": "962e35cd", "equity": 99869288, "ret": -0.13}, {"id": "v286", "ph": "4f6101e9", "equity": 99869288, "ret": -0.13}, {"id": "v287", "ph": "3bf14815", "equity": 99869288, "ret": -0.13}, {"id": "v288", "ph": "1c732194", "equity": 99869288, "ret": -0.13}, {"id": "v301", "ph": "30da2021", "equity": 99870054, "ret": -0.13}, {"id": "v303", "ph": "1a084164", "equity": 99869305, "ret": -0.13}, {"id": "v1", "ph": "4874f4c9", "equity": 99839277, "ret": -0.16}, {"id": "v5", "ph": "ec2eb05a", "equity": 99839277, "ret": -0.16}, {"id": "v10", "ph": "e48c1012", "equity": 99839277, "ret": -0.16}, {"id": "v36", "ph": "feebff1a", "equity": 99838834, "ret": -0.16}, {"id": "v37", "ph": "fb2247aa", "equity": 99839277, "ret": -0.16}, {"id": "v38", "ph": "9b9083ae", "equity": 99839277, "ret": -0.16}, {"id": "v45", "ph": "964276a8", "equity": 99839277, "ret": -0.16}, {"id": "v46", "ph": "7dc0e360", "equity": 99839277, "ret": -0.16}, {"id": "v55", "ph": "2c44de9b", "equity": 99839277, "ret": -0.16}, {"id": "v56", "ph": "5d99704f", "equity": 99839277, "ret": -0.16}, {"id": "v107", "ph": "be5cd36b", "equity": 99838834, "ret": -0.16}, {"id": "v108", "ph": "67a6679a", "equity": 99837901, "ret": -0.16}, {"id": "v109", "ph": "4c69fc95", "equity": 99838342, "ret": -0.16}, {"id": "v110", "ph": "8164d748", "equity": 99837673, "ret": -0.16}, {"id": "v111", "ph": "826e3d17", "equity": 99837673, "ret": -0.16}, {"id": "v112", "ph": "4cd47646", "equity": 99837673, "ret": -0.16}, {"id": "v113", "ph": "5b43d0bc", "equity": 99838342, "ret": -0.16}, {"id": "v114", "ph": "8686c36c", "equity": 99837899, "ret": -0.16}, {"id": "v115", "ph": "e1790a5a", "equity": 99838342, "ret": -0.16}, {"id": "v116", "ph": "e73fef98", "equity": 99838342, "ret": -0.16}, {"id": "v118", "ph": "538b63b9", "equity": 99838342, "ret": -0.16}, {"id": "v131", "ph": "5f8c7082", "equity": 99838342, "ret": -0.16}, {"id": "v138", "ph": "e3acb223", "equity": 99838342, "ret": -0.16}, {"id": "v143", "ph": "5cf8f13a", "equity": 99837899, "ret": -0.16}, {"id": "v144", "ph": "6ffe4183", "equity": 99837899, "ret": -0.16}, {"id": "v145", "ph": "a89d85fc", "equity": 99839277, "ret": -0.16}, {"id": "v146", "ph": "071b9cb1", "equity": 99838342, "ret": -0.16}, {"id": "v147", "ph": "2fbeeedb", "equity": 99838607, "ret": -0.16}, {"id": "v148", "ph": "ada71802", "equity": 99836740, "ret": -0.16}, {"id": "v149", "ph": "c5329f8d", "equity": 99838607, "ret": -0.16}, {"id": "v150", "ph": "be41b974", "equity": 99836740, "ret": -0.16}, {"id": "v151", "ph": "2eb1dd06", "equity": 99838607, "ret": -0.16}, {"id": "v152", "ph": "5d2df346", "equity": 99836740, "ret": -0.16}, {"id": "v153", "ph": "49fd09d9", "equity": 99839277, "ret": -0.16}, {"id": "v154", "ph": "7a3a7788", "equity": 99838342, "ret": -0.16}, {"id": "v155", "ph": "31c0d84e", "equity": 99838834, "ret": -0.16}, {"id": "v156", "ph": "3f7bcd1b", "equity": 99836966, "ret": -0.16}, {"id": "v157", "ph": "80f3e23b", "equity": 99839277, "ret": -0.16}, {"id": "v158", "ph": "7e56eae3", "equity": 99838342, "ret": -0.16}, {"id": "v159", "ph": "af80c67a", "equity": 99839277, "ret": -0.16}, {"id": "v160", "ph": "b03f5295", "equity": 99838342, "ret": -0.16}, {"id": "v163", "ph": "452ab819", "equity": 99839277, "ret": -0.16}, {"id": "v164", "ph": "331cec1f", "equity": 99838342, "ret": -0.16}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99839277, "ret": -0.16}, {"id": "v190", "ph": "e14af339", "equity": 99838342, "ret": -0.16}, {"id": "v203", "ph": "2071defa", "equity": 99839277, "ret": -0.16}, {"id": "v204", "ph": "434e2f7a", "equity": 99838342, "ret": -0.16}, {"id": "v213", "ph": "0e1d8e45", "equity": 99838834, "ret": -0.16}, {"id": "v214", "ph": "0fb624bf", "equity": 99836966, "ret": -0.16}, {"id": "v215", "ph": "a904a49d", "equity": 99838834, "ret": -0.16}, {"id": "v216", "ph": "ee298bd3", "equity": 99836966, "ret": -0.16}, {"id": "v241", "ph": "52162002", "equity": 99839277, "ret": -0.16}, {"id": "v242", "ph": "e6c70cac", "equity": 99839277, "ret": -0.16}, {"id": "v243", "ph": "fa7a545a", "equity": 99838342, "ret": -0.16}, {"id": "v244", "ph": "520c5a65", "equity": 99838342, "ret": -0.16}, {"id": "v245", "ph": "ac84324f", "equity": 99838342, "ret": -0.16}, {"id": "v246", "ph": "618ddf71", "equity": 99838342, "ret": -0.16}, {"id": "v247", "ph": "ba973fa6", "equity": 99839277, "ret": -0.16}, {"id": "v248", "ph": "9ca5e3dc", "equity": 99839277, "ret": -0.16}, {"id": "v249", "ph": "36a32ca0", "equity": 99838342, "ret": -0.16}, {"id": "v250", "ph": "b37976b8", "equity": 99838342, "ret": -0.16}, {"id": "v251", "ph": "8c5a06da", "equity": 99838342, "ret": -0.16}, {"id": "v252", "ph": "381a65d1", "equity": 99838342, "ret": -0.16}, {"id": "v253", "ph": "87bd57d6", "equity": 99839277, "ret": -0.16}, {"id": "v254", "ph": "75e53118", "equity": 99839277, "ret": -0.16}, {"id": "v255", "ph": "92e3c5e0", "equity": 99838342, "ret": -0.16}, {"id": "v256", "ph": "e583f1dd", "equity": 99838342, "ret": -0.16}, {"id": "v257", "ph": "7fa33f5b", "equity": 99838342, "ret": -0.16}, {"id": "v258", "ph": "0b19bb06", "equity": 99838342, "ret": -0.16}, {"id": "v259", "ph": "178a1fe3", "equity": 99839277, "ret": -0.16}, {"id": "v260", "ph": "bab317db", "equity": 99839277, "ret": -0.16}, {"id": "v261", "ph": "965786e6", "equity": 99838342, "ret": -0.16}, {"id": "v262", "ph": "e07faa54", "equity": 99838342, "ret": -0.16}, {"id": "v263", "ph": "ca392811", "equity": 99838342, "ret": -0.16}, {"id": "v264", "ph": "8c65e60d", "equity": 99838342, "ret": -0.16}, {"id": "v298", "ph": "5d4bbec0", "equity": 99278910, "ret": -0.72}, {"id": "v299", "ph": "25046b1a", "equity": 99269453, "ret": -0.73}, {"id": "v296", "ph": "4c554378", "equity": 98793078, "ret": -1.21}], "20260618": [{"id": "v299", "ph": "25046b1a", "equity": 100522238, "ret": 0.52}, {"id": "v40", "ph": "70731d89", "equity": 100349540, "ret": 0.35}, {"id": "v42", "ph": "f36fddc6", "equity": 100349540, "ret": 0.35}, {"id": "v44", "ph": "364ea434", "equity": 100349540, "ret": 0.35}, {"id": "v48", "ph": "18854c6a", "equity": 100115675, "ret": 0.12}, {"id": "v106", "ph": "d0f5fbc1", "equity": 100115675, "ret": 0.12}, {"id": "v148", "ph": "ada71802", "equity": 100083234, "ret": 0.08}, {"id": "v150", "ph": "be41b974", "equity": 100083234, "ret": 0.08}, {"id": "v152", "ph": "5d2df346", "equity": 100083234, "ret": 0.08}, {"id": "v90", "ph": "86e09c47", "equity": 100043354, "ret": 0.04}, {"id": "v98", "ph": "266fc53f", "equity": 100043354, "ret": 0.04}, {"id": "v49", "ph": "cdba73e0", "equity": 100000000, "ret": 0.0}, {"id": "v51", "ph": "21a98e46", "equity": 100000000, "ret": 0.0}, {"id": "v81", "ph": "a6eac1e4", "equity": 100000000, "ret": 0.0}, {"id": "v91", "ph": "5674a3d7", "equity": 100000000, "ret": 0.0}, {"id": "v95", "ph": "7e28e756", "equity": 100000000, "ret": 0.0}, {"id": "v302", "ph": "3f30502d", "equity": 99947951, "ret": -0.05}, {"id": "v28", "ph": "28e87677", "equity": 99943690, "ret": -0.06}, {"id": "v7", "ph": "de835eae", "equity": 99934863, "ret": -0.07}, {"id": "v8", "ph": "18c6740b", "equity": 99934863, "ret": -0.07}, {"id": "v23", "ph": "aec632b1", "equity": 99934863, "ret": -0.07}, {"id": "v30", "ph": "df71f475", "equity": 99934863, "ret": -0.07}, {"id": "v156", "ph": "3f7bcd1b", "equity": 99921725, "ret": -0.08}, {"id": "v214", "ph": "0fb624bf", "equity": 99921725, "ret": -0.08}, {"id": "v108", "ph": "67a6679a", "equity": 99911859, "ret": -0.09}, {"id": "v9", "ph": "141268ab", "equity": 99866254, "ret": -0.13}, {"id": "v11", "ph": "e4bb2e3e", "equity": 99866254, "ret": -0.13}, {"id": "v12", "ph": "f166fb0e", "equity": 99866254, "ret": -0.13}, {"id": "v32", "ph": "153055e6", "equity": 99866254, "ret": -0.13}, {"id": "v33", "ph": "97ad2410", "equity": 99866254, "ret": -0.13}, {"id": "v53", "ph": "2391ee16", "equity": 99866254, "ret": -0.13}, {"id": "v57", "ph": "e7e98b6d", "equity": 99866254, "ret": -0.13}, {"id": "v59", "ph": "1858e2ec", "equity": 99866254, "ret": -0.13}, {"id": "v99", "ph": "fb39409b", "equity": 99866254, "ret": -0.13}, {"id": "v101", "ph": "c4354346", "equity": 99866254, "ret": -0.13}, {"id": "v136", "ph": "ceb32a66", "equity": 99874338, "ret": -0.13}, {"id": "v161", "ph": "ed5677e6", "equity": 99866254, "ret": -0.13}, {"id": "v165", "ph": "8f862b27", "equity": 99866254, "ret": -0.13}, {"id": "v167", "ph": "b6d6aed8", "equity": 99866254, "ret": -0.13}, {"id": "v198", "ph": "ffd1ee88", "equity": 99869669, "ret": -0.13}, {"id": "v199", "ph": "390bfab3", "equity": 99866254, "ret": -0.13}, {"id": "v206", "ph": "16f62ab7", "equity": 99869669, "ret": -0.13}, {"id": "v207", "ph": "0f6601a0", "equity": 99866254, "ret": -0.13}, {"id": "v209", "ph": "8730802d", "equity": 99866254, "ret": -0.13}, {"id": "v217", "ph": "4c547a61", "equity": 99866254, "ret": -0.13}, {"id": "v218", "ph": "7304d2d4", "equity": 99866254, "ret": -0.13}, {"id": "v223", "ph": "b57356b8", "equity": 99866254, "ret": -0.13}, {"id": "v224", "ph": "888ab069", "equity": 99866254, "ret": -0.13}, {"id": "v229", "ph": "d9261dfb", "equity": 99866254, "ret": -0.13}, {"id": "v230", "ph": "141579fe", "equity": 99866254, "ret": -0.13}, {"id": "v235", "ph": "3e6c1666", "equity": 99866254, "ret": -0.13}, {"id": "v236", "ph": "f9c75560", "equity": 99866254, "ret": -0.13}, {"id": "v265", "ph": "7faed59d", "equity": 99866254, "ret": -0.13}, {"id": "v266", "ph": "c133b585", "equity": 99866254, "ret": -0.13}, {"id": "v271", "ph": "2b9ccdcd", "equity": 99866254, "ret": -0.13}, {"id": "v272", "ph": "2ed2027f", "equity": 99866254, "ret": -0.13}, {"id": "v277", "ph": "488b612a", "equity": 99866254, "ret": -0.13}, {"id": "v278", "ph": "861fb42b", "equity": 99866254, "ret": -0.13}, {"id": "v283", "ph": "479e4b25", "equity": 99866254, "ret": -0.13}, {"id": "v284", "ph": "261c5d58", "equity": 99866254, "ret": -0.13}, {"id": "v301", "ph": "30da2021", "equity": 99866254, "ret": -0.13}, {"id": "v88", "ph": "733579ce", "equity": 99861585, "ret": -0.14}, {"id": "v94", "ph": "3e5d6b8a", "equity": 99861585, "ret": -0.14}, {"id": "v104", "ph": "013c3fde", "equity": 99861585, "ret": -0.14}, {"id": "v115", "ph": "e1790a5a", "equity": 99844442, "ret": -0.16}, {"id": "v116", "ph": "e73fef98", "equity": 99844442, "ret": -0.16}, {"id": "v131", "ph": "5f8c7082", "equity": 99844442, "ret": -0.16}, {"id": "v138", "ph": "e3acb223", "equity": 99844442, "ret": -0.16}, {"id": "v1", "ph": "4874f4c9", "equity": 99834577, "ret": -0.17}, {"id": "v5", "ph": "ec2eb05a", "equity": 99834577, "ret": -0.17}, {"id": "v10", "ph": "e48c1012", "equity": 99834577, "ret": -0.17}, {"id": "v37", "ph": "fb2247aa", "equity": 99834577, "ret": -0.17}, {"id": "v45", "ph": "964276a8", "equity": 99834577, "ret": -0.17}, {"id": "v55", "ph": "2c44de9b", "equity": 99834577, "ret": -0.17}, {"id": "v145", "ph": "a89d85fc", "equity": 99834577, "ret": -0.17}, {"id": "v153", "ph": "49fd09d9", "equity": 99834577, "ret": -0.17}, {"id": "v157", "ph": "80f3e23b", "equity": 99834577, "ret": -0.17}, {"id": "v159", "ph": "af80c67a", "equity": 99834577, "ret": -0.17}, {"id": "v163", "ph": "452ab819", "equity": 99834577, "ret": -0.17}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99834577, "ret": -0.17}, {"id": "v203", "ph": "2071defa", "equity": 99834577, "ret": -0.17}, {"id": "v241", "ph": "52162002", "equity": 99834577, "ret": -0.17}, {"id": "v242", "ph": "e6c70cac", "equity": 99834577, "ret": -0.17}, {"id": "v247", "ph": "ba973fa6", "equity": 99834577, "ret": -0.17}, {"id": "v248", "ph": "9ca5e3dc", "equity": 99834577, "ret": -0.17}, {"id": "v253", "ph": "87bd57d6", "equity": 99834577, "ret": -0.17}, {"id": "v254", "ph": "75e53118", "equity": 99834577, "ret": -0.17}, {"id": "v259", "ph": "178a1fe3", "equity": 99834577, "ret": -0.17}, {"id": "v260", "ph": "bab317db", "equity": 99834577, "ret": -0.17}, {"id": "v89", "ph": "c49d5680", "equity": 99817776, "ret": -0.18}, {"id": "v97", "ph": "ebf31977", "equity": 99817776, "ret": -0.18}, {"id": "v47", "ph": "ed758fcf", "equity": 99773192, "ret": -0.23}, {"id": "v105", "ph": "88395429", "equity": 99773192, "ret": -0.23}, {"id": "v27", "ph": "33d43bc6", "equity": 99761770, "ret": -0.24}, {"id": "v31", "ph": "3dc99490", "equity": 99761770, "ret": -0.24}, {"id": "v135", "ph": "53f4c78c", "equity": 99762008, "ret": -0.24}, {"id": "v139", "ph": "cfbc79a5", "equity": 99762008, "ret": -0.24}, {"id": "v26", "ph": "2e5f3fac", "equity": 99753924, "ret": -0.25}, {"id": "v29", "ph": "e46149f5", "equity": 99753924, "ret": -0.25}, {"id": "v34", "ph": "d77f522d", "equity": 99753924, "ret": -0.25}, {"id": "v87", "ph": "c0be98c0", "equity": 99753924, "ret": -0.25}, {"id": "v93", "ph": "f10d4e45", "equity": 99753924, "ret": -0.25}, {"id": "v103", "ph": "75b0a37c", "equity": 99753924, "ret": -0.25}, {"id": "v195", "ph": "dd89cf59", "equity": 99753924, "ret": -0.25}, {"id": "v197", "ph": "5c290a32", "equity": 99753924, "ret": -0.25}, {"id": "v201", "ph": "cb8a413e", "equity": 99753924, "ret": -0.25}, {"id": "v205", "ph": "02e5a3f5", "equity": 99753924, "ret": -0.25}, {"id": "v211", "ph": "9227673c", "equity": 99753924, "ret": -0.25}, {"id": "v6", "ph": "e96ce9e2", "equity": 99708359, "ret": -0.29}, {"id": "v35", "ph": "6a183375", "equity": 99708359, "ret": -0.29}, {"id": "v114", "ph": "8686c36c", "equity": 99693599, "ret": -0.31}, {"id": "v143", "ph": "5cf8f13a", "equity": 99693599, "ret": -0.31}, {"id": "v36", "ph": "feebff1a", "equity": 99683734, "ret": -0.32}, {"id": "v107", "ph": "be5cd36b", "equity": 99683734, "ret": -0.32}, {"id": "v155", "ph": "31c0d84e", "equity": 99683734, "ret": -0.32}, {"id": "v213", "ph": "0e1d8e45", "equity": 99683734, "ret": -0.32}, {"id": "v215", "ph": "a904a49d", "equity": 99683734, "ret": -0.32}, {"id": "v39", "ph": "11c27236", "equity": 99623306, "ret": -0.38}, {"id": "v41", "ph": "e9d84e84", "equity": 99623306, "ret": -0.38}, {"id": "v43", "ph": "94ea3b53", "equity": 99623306, "ret": -0.38}, {"id": "v110", "ph": "8164d748", "equity": 99616573, "ret": -0.38}, {"id": "v111", "ph": "826e3d17", "equity": 99616573, "ret": -0.38}, {"id": "v112", "ph": "4cd47646", "equity": 99616573, "ret": -0.38}, {"id": "v147", "ph": "2fbeeedb", "equity": 99606707, "ret": -0.39}, {"id": "v149", "ph": "c5329f8d", "equity": 99606707, "ret": -0.39}, {"id": "v151", "ph": "2eb1dd06", "equity": 99606707, "ret": -0.39}, {"id": "v2", "ph": "bab0fc2c", "equity": 99558474, "ret": -0.44}, {"id": "v3", "ph": "81d17cca", "equity": 99558474, "ret": -0.44}, {"id": "v4", "ph": "b6219595", "equity": 99558474, "ret": -0.44}, {"id": "v92", "ph": "14a13097", "equity": 99557044, "ret": -0.44}, {"id": "v200", "ph": "8bbb6ec7", "equity": 99487901, "ret": -0.51}, {"id": "v54", "ph": "b975742e", "equity": 99479817, "ret": -0.52}, {"id": "v58", "ph": "f1e52f55", "equity": 99479817, "ret": -0.52}, {"id": "v60", "ph": "52560b06", "equity": 99479817, "ret": -0.52}, {"id": "v100", "ph": "ffa9571a", "equity": 99479817, "ret": -0.52}, {"id": "v102", "ph": "e1601afe", "equity": 99479817, "ret": -0.52}, {"id": "v50", "ph": "690a50b5", "equity": 99473000, "ret": -0.53}, {"id": "v52", "ph": "c1939d0b", "equity": 99473000, "ret": -0.53}, {"id": "v82", "ph": "01847af6", "equity": 99473000, "ret": -0.53}, {"id": "v96", "ph": "095b119f", "equity": 99473000, "ret": -0.53}, {"id": "v117", "ph": "c4ae8a11", "equity": 99411094, "ret": -0.59}, {"id": "v119", "ph": "ed2208f1", "equity": 99411094, "ret": -0.59}, {"id": "v120", "ph": "d25ca8b0", "equity": 99411094, "ret": -0.59}, {"id": "v140", "ph": "52175b2b", "equity": 99411094, "ret": -0.59}, {"id": "v141", "ph": "47f30434", "equity": 99411094, "ret": -0.59}, {"id": "v196", "ph": "a44aeef1", "equity": 99406425, "ret": -0.59}, {"id": "v202", "ph": "a528b806", "equity": 99406425, "ret": -0.59}, {"id": "v212", "ph": "b9e1e8d1", "equity": 99406425, "ret": -0.59}, {"id": "v219", "ph": "426d3834", "equity": 99411094, "ret": -0.59}, {"id": "v220", "ph": "565c27a7", "equity": 99411094, "ret": -0.59}, {"id": "v225", "ph": "e9f40f62", "equity": 99411094, "ret": -0.59}, {"id": "v226", "ph": "98fd37a4", "equity": 99411094, "ret": -0.59}, {"id": "v231", "ph": "cd9469fa", "equity": 99411094, "ret": -0.59}, {"id": "v232", "ph": "6de1fffa", "equity": 99411094, "ret": -0.59}, {"id": "v237", "ph": "a10d68cf", "equity": 99411094, "ret": -0.59}, {"id": "v238", "ph": "f1a74611", "equity": 99411094, "ret": -0.59}, {"id": "v267", "ph": "766c47d7", "equity": 99411094, "ret": -0.59}, {"id": "v268", "ph": "9736502d", "equity": 99411094, "ret": -0.59}, {"id": "v273", "ph": "c726e8d5", "equity": 99411094, "ret": -0.59}, {"id": "v274", "ph": "62b011c8", "equity": 99411094, "ret": -0.59}, {"id": "v279", "ph": "37e203bb", "equity": 99411094, "ret": -0.59}, {"id": "v280", "ph": "60411037", "equity": 99411094, "ret": -0.59}, {"id": "v285", "ph": "962e35cd", "equity": 99411094, "ret": -0.59}, {"id": "v286", "ph": "4f6101e9", "equity": 99411094, "ret": -0.59}, {"id": "v303", "ph": "1a084164", "equity": 99410912, "ret": -0.59}, {"id": "v158", "ph": "7e56eae3", "equity": 99382788, "ret": -0.62}, {"id": "v160", "ph": "b03f5295", "equity": 99382788, "ret": -0.62}, {"id": "v190", "ph": "e14af339", "equity": 99382788, "ret": -0.62}, {"id": "v204", "ph": "434e2f7a", "equity": 99382788, "ret": -0.62}, {"id": "v134", "ph": "afbb4ab8", "equity": 99298764, "ret": -0.7}, {"id": "v137", "ph": "60ec806f", "equity": 99298764, "ret": -0.7}, {"id": "v142", "ph": "44fae695", "equity": 99298764, "ret": -0.7}, {"id": "v216", "ph": "ee298bd3", "equity": 99295527, "ret": -0.7}, {"id": "v38", "ph": "9b9083ae", "equity": 99223798, "ret": -0.78}, {"id": "v46", "ph": "7dc0e360", "equity": 99223798, "ret": -0.78}, {"id": "v56", "ph": "5d99704f", "equity": 99223798, "ret": -0.78}, {"id": "v221", "ph": "cd2eef94", "equity": 99186752, "ret": -0.81}, {"id": "v227", "ph": "9454b07a", "equity": 99186752, "ret": -0.81}, {"id": "v233", "ph": "941006e0", "equity": 99186752, "ret": -0.81}, {"id": "v239", "ph": "96e693c4", "equity": 99186752, "ret": -0.81}, {"id": "v269", "ph": "c0c861c4", "equity": 99186752, "ret": -0.81}, {"id": "v275", "ph": "3ebf0d91", "equity": 99186752, "ret": -0.81}, {"id": "v281", "ph": "7d9e5a9d", "equity": 99186752, "ret": -0.81}, {"id": "v287", "ph": "3bf14815", "equity": 99186752, "ret": -0.81}, {"id": "v144", "ph": "6ffe4183", "equity": 99068189, "ret": -0.93}, {"id": "v109", "ph": "4c69fc95", "equity": 99020588, "ret": -0.98}, {"id": "v113", "ph": "5b43d0bc", "equity": 99020588, "ret": -0.98}, {"id": "v118", "ph": "538b63b9", "equity": 99020588, "ret": -0.98}, {"id": "v162", "ph": "b8f71c74", "equity": 99024658, "ret": -0.98}, {"id": "v166", "ph": "f684401e", "equity": 99024658, "ret": -0.98}, {"id": "v168", "ph": "81099b26", "equity": 99024658, "ret": -0.98}, {"id": "v208", "ph": "445623de", "equity": 99024658, "ret": -0.98}, {"id": "v210", "ph": "6f533a9b", "equity": 99024658, "ret": -0.98}, {"id": "v222", "ph": "55de9eca", "equity": 99024658, "ret": -0.98}, {"id": "v228", "ph": "caa54387", "equity": 99024658, "ret": -0.98}, {"id": "v234", "ph": "9a289d18", "equity": 99024658, "ret": -0.98}, {"id": "v240", "ph": "db1869eb", "equity": 99024658, "ret": -0.98}, {"id": "v243", "ph": "fa7a545a", "equity": 99020588, "ret": -0.98}, {"id": "v244", "ph": "520c5a65", "equity": 99020588, "ret": -0.98}, {"id": "v249", "ph": "36a32ca0", "equity": 99020588, "ret": -0.98}, {"id": "v250", "ph": "b37976b8", "equity": 99020588, "ret": -0.98}, {"id": "v255", "ph": "92e3c5e0", "equity": 99020588, "ret": -0.98}, {"id": "v256", "ph": "e583f1dd", "equity": 99020588, "ret": -0.98}, {"id": "v261", "ph": "965786e6", "equity": 99020588, "ret": -0.98}, {"id": "v262", "ph": "e07faa54", "equity": 99020588, "ret": -0.98}, {"id": "v270", "ph": "1ce9fd2b", "equity": 99024658, "ret": -0.98}, {"id": "v276", "ph": "51425eab", "equity": 99024658, "ret": -0.98}, {"id": "v282", "ph": "9ddd111d", "equity": 99024658, "ret": -0.98}, {"id": "v288", "ph": "1c732194", "equity": 99024658, "ret": -0.98}, {"id": "v245", "ph": "ac84324f", "equity": 98570594, "ret": -1.43}, {"id": "v251", "ph": "8c5a06da", "equity": 98570594, "ret": -1.43}, {"id": "v257", "ph": "7fa33f5b", "equity": 98570594, "ret": -1.43}, {"id": "v263", "ph": "ca392811", "equity": 98570594, "ret": -1.43}, {"id": "v146", "ph": "071b9cb1", "equity": 98408500, "ret": -1.59}, {"id": "v154", "ph": "7a3a7788", "equity": 98408500, "ret": -1.59}, {"id": "v164", "ph": "331cec1f", "equity": 98408500, "ret": -1.59}, {"id": "v246", "ph": "618ddf71", "equity": 98408500, "ret": -1.59}, {"id": "v252", "ph": "381a65d1", "equity": 98408500, "ret": -1.59}, {"id": "v258", "ph": "0b19bb06", "equity": 98408500, "ret": -1.59}, {"id": "v264", "ph": "8c65e60d", "equity": 98408500, "ret": -1.59}, {"id": "v300", "ph": "c6ddc17b", "equity": 98414155, "ret": -1.59}, {"id": "v296", "ph": "4c554378", "equity": 98369185, "ret": -1.63}, {"id": "v298", "ph": "5d4bbec0", "equity": 97903330, "ret": -2.1}], "20260619": [{"id": "v81", "ph": "a6eac1e4", "equity": 100012103, "ret": 0.01}, {"id": "v91", "ph": "5674a3d7", "equity": 100012103, "ret": 0.01}, {"id": "v95", "ph": "7e28e756", "equity": 100012103, "ret": 0.01}, {"id": "v49", "ph": "cdba73e0", "equity": 99771263, "ret": -0.23}, {"id": "v51", "ph": "21a98e46", "equity": 99771263, "ret": -0.23}, {"id": "v99", "ph": "fb39409b", "equity": 99699720, "ret": -0.3}, {"id": "v101", "ph": "c4354346", "equity": 99699720, "ret": -0.3}, {"id": "v199", "ph": "390bfab3", "equity": 99699720, "ret": -0.3}, {"id": "v207", "ph": "0f6601a0", "equity": 99699720, "ret": -0.3}, {"id": "v209", "ph": "8730802d", "equity": 99699720, "ret": -0.3}, {"id": "v28", "ph": "28e87677", "equity": 99582892, "ret": -0.42}, {"id": "v32", "ph": "153055e6", "equity": 99539606, "ret": -0.46}, {"id": "v33", "ph": "97ad2410", "equity": 99539606, "ret": -0.46}, {"id": "v89", "ph": "c49d5680", "equity": 99535129, "ret": -0.46}, {"id": "v97", "ph": "ebf31977", "equity": 99535129, "ret": -0.46}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99539444, "ret": -0.46}, {"id": "v203", "ph": "2071defa", "equity": 99539444, "ret": -0.46}, {"id": "v302", "ph": "3f30502d", "equity": 99534056, "ret": -0.47}, {"id": "v9", "ph": "141268ab", "equity": 99523104, "ret": -0.48}, {"id": "v11", "ph": "e4bb2e3e", "equity": 99523104, "ret": -0.48}, {"id": "v12", "ph": "f166fb0e", "equity": 99523104, "ret": -0.48}, {"id": "v53", "ph": "2391ee16", "equity": 99523104, "ret": -0.48}, {"id": "v57", "ph": "e7e98b6d", "equity": 99523104, "ret": -0.48}, {"id": "v59", "ph": "1858e2ec", "equity": 99523104, "ret": -0.48}, {"id": "v161", "ph": "ed5677e6", "equity": 99523104, "ret": -0.48}, {"id": "v165", "ph": "8f862b27", "equity": 99523104, "ret": -0.48}, {"id": "v167", "ph": "b6d6aed8", "equity": 99523104, "ret": -0.48}, {"id": "v217", "ph": "4c547a61", "equity": 99511038, "ret": -0.49}, {"id": "v218", "ph": "7304d2d4", "equity": 99511038, "ret": -0.49}, {"id": "v23", "ph": "aec632b1", "equity": 99482492, "ret": -0.52}, {"id": "v30", "ph": "df71f475", "equity": 99482492, "ret": -0.52}, {"id": "v301", "ph": "30da2021", "equity": 99470408, "ret": -0.53}, {"id": "v7", "ph": "de835eae", "equity": 99459988, "ret": -0.54}, {"id": "v8", "ph": "18c6740b", "equity": 99459988, "ret": -0.54}, {"id": "v87", "ph": "c0be98c0", "equity": 99461390, "ret": -0.54}, {"id": "v93", "ph": "f10d4e45", "equity": 99461390, "ret": -0.54}, {"id": "v103", "ph": "75b0a37c", "equity": 99461390, "ret": -0.54}, {"id": "v195", "ph": "dd89cf59", "equity": 99461390, "ret": -0.54}, {"id": "v197", "ph": "5c290a32", "equity": 99461390, "ret": -0.54}, {"id": "v201", "ph": "cb8a413e", "equity": 99461390, "ret": -0.54}, {"id": "v205", "ph": "02e5a3f5", "equity": 99461390, "ret": -0.54}, {"id": "v211", "ph": "9227673c", "equity": 99461390, "ret": -0.54}, {"id": "v223", "ph": "b57356b8", "equity": 99438670, "ret": -0.56}, {"id": "v224", "ph": "888ab069", "equity": 99438670, "ret": -0.56}, {"id": "v229", "ph": "d9261dfb", "equity": 99438670, "ret": -0.56}, {"id": "v230", "ph": "141579fe", "equity": 99438670, "ret": -0.56}, {"id": "v235", "ph": "3e6c1666", "equity": 99438670, "ret": -0.56}, {"id": "v236", "ph": "f9c75560", "equity": 99438670, "ret": -0.56}, {"id": "v265", "ph": "7faed59d", "equity": 99438670, "ret": -0.56}, {"id": "v266", "ph": "c133b585", "equity": 99438670, "ret": -0.56}, {"id": "v271", "ph": "2b9ccdcd", "equity": 99438670, "ret": -0.56}, {"id": "v272", "ph": "2ed2027f", "equity": 99438670, "ret": -0.56}, {"id": "v277", "ph": "488b612a", "equity": 99438670, "ret": -0.56}, {"id": "v278", "ph": "861fb42b", "equity": 99438670, "ret": -0.56}, {"id": "v283", "ph": "479e4b25", "equity": 99438670, "ret": -0.56}, {"id": "v284", "ph": "261c5d58", "equity": 99438670, "ret": -0.56}, {"id": "v105", "ph": "88395429", "equity": 99433845, "ret": -0.57}, {"id": "v1", "ph": "4874f4c9", "equity": 99368847, "ret": -0.63}, {"id": "v5", "ph": "ec2eb05a", "equity": 99368847, "ret": -0.63}, {"id": "v10", "ph": "e48c1012", "equity": 99368847, "ret": -0.63}, {"id": "v37", "ph": "fb2247aa", "equity": 99368847, "ret": -0.63}, {"id": "v45", "ph": "964276a8", "equity": 99368847, "ret": -0.63}, {"id": "v55", "ph": "2c44de9b", "equity": 99368847, "ret": -0.63}, {"id": "v145", "ph": "a89d85fc", "equity": 99368847, "ret": -0.63}, {"id": "v153", "ph": "49fd09d9", "equity": 99368847, "ret": -0.63}, {"id": "v163", "ph": "452ab819", "equity": 99368847, "ret": -0.63}, {"id": "v136", "ph": "ceb32a66", "equity": 99344140, "ret": -0.66}, {"id": "v26", "ph": "2e5f3fac", "equity": 99301276, "ret": -0.7}, {"id": "v29", "ph": "e46149f5", "equity": 99301276, "ret": -0.7}, {"id": "v34", "ph": "d77f522d", "equity": 99301276, "ret": -0.7}, {"id": "v157", "ph": "80f3e23b", "equity": 99298604, "ret": -0.7}, {"id": "v159", "ph": "af80c67a", "equity": 99298604, "ret": -0.7}, {"id": "v241", "ph": "52162002", "equity": 99284413, "ret": -0.72}, {"id": "v242", "ph": "e6c70cac", "equity": 99284413, "ret": -0.72}, {"id": "v247", "ph": "ba973fa6", "equity": 99284413, "ret": -0.72}, {"id": "v248", "ph": "9ca5e3dc", "equity": 99284413, "ret": -0.72}, {"id": "v253", "ph": "87bd57d6", "equity": 99284413, "ret": -0.72}, {"id": "v254", "ph": "75e53118", "equity": 99284413, "ret": -0.72}, {"id": "v259", "ph": "178a1fe3", "equity": 99284413, "ret": -0.72}, {"id": "v260", "ph": "bab317db", "equity": 99284413, "ret": -0.72}, {"id": "v107", "ph": "be5cd36b", "equity": 99219401, "ret": -0.78}, {"id": "v213", "ph": "0e1d8e45", "equity": 99219401, "ret": -0.78}, {"id": "v215", "ph": "a904a49d", "equity": 99219401, "ret": -0.78}, {"id": "v47", "ph": "ed758fcf", "equity": 99193004, "ret": -0.81}, {"id": "v299", "ph": "25046b1a", "equity": 99138724, "ret": -0.86}, {"id": "v27", "ph": "33d43bc6", "equity": 99107373, "ret": -0.89}, {"id": "v31", "ph": "3dc99490", "equity": 99107373, "ret": -0.89}, {"id": "v135", "ph": "53f4c78c", "equity": 99105810, "ret": -0.89}, {"id": "v139", "ph": "cfbc79a5", "equity": 99105810, "ret": -0.89}, {"id": "v131", "ph": "5f8c7082", "equity": 99082573, "ret": -0.92}, {"id": "v138", "ph": "e3acb223", "equity": 99082573, "ret": -0.92}, {"id": "v115", "ph": "e1790a5a", "equity": 99060069, "ret": -0.94}, {"id": "v116", "ph": "e73fef98", "equity": 99060069, "ret": -0.94}, {"id": "v36", "ph": "feebff1a", "equity": 99001064, "ret": -1.0}, {"id": "v155", "ph": "31c0d84e", "equity": 98978560, "ret": -1.02}, {"id": "v92", "ph": "14a13097", "equity": 98940531, "ret": -1.06}, {"id": "v35", "ph": "6a183375", "equity": 98905688, "ret": -1.09}, {"id": "v88", "ph": "733579ce", "equity": 98898771, "ret": -1.1}, {"id": "v94", "ph": "3e5d6b8a", "equity": 98898771, "ret": -1.1}, {"id": "v100", "ph": "ffa9571a", "equity": 98896303, "ret": -1.1}, {"id": "v102", "ph": "e1601afe", "equity": 98896303, "ret": -1.1}, {"id": "v104", "ph": "013c3fde", "equity": 98898771, "ret": -1.1}, {"id": "v147", "ph": "2fbeeedb", "equity": 98885377, "ret": -1.11}, {"id": "v149", "ph": "c5329f8d", "equity": 98885377, "ret": -1.11}, {"id": "v151", "ph": "2eb1dd06", "equity": 98885377, "ret": -1.11}, {"id": "v6", "ph": "e96ce9e2", "equity": 98883184, "ret": -1.12}, {"id": "v54", "ph": "b975742e", "equity": 98879801, "ret": -1.12}, {"id": "v58", "ph": "f1e52f55", "equity": 98879801, "ret": -1.12}, {"id": "v60", "ph": "52560b06", "equity": 98879801, "ret": -1.12}, {"id": "v90", "ph": "86e09c47", "equity": 98830140, "ret": -1.17}, {"id": "v98", "ph": "266fc53f", "equity": 98830140, "ret": -1.17}, {"id": "v39", "ph": "11c27236", "equity": 98778663, "ret": -1.22}, {"id": "v41", "ph": "e9d84e84", "equity": 98778663, "ret": -1.22}, {"id": "v43", "ph": "94ea3b53", "equity": 98778663, "ret": -1.22}, {"id": "v143", "ph": "5cf8f13a", "equity": 98762492, "ret": -1.24}, {"id": "v114", "ph": "8686c36c", "equity": 98739989, "ret": -1.26}, {"id": "v198", "ph": "ffd1ee88", "equity": 98703305, "ret": -1.3}, {"id": "v200", "ph": "8bbb6ec7", "equity": 98700837, "ret": -1.3}, {"id": "v206", "ph": "16f62ab7", "equity": 98703305, "ret": -1.3}, {"id": "v82", "ph": "01847af6", "equity": 98682113, "ret": -1.32}, {"id": "v96", "ph": "095b119f", "equity": 98682113, "ret": -1.32}, {"id": "v50", "ph": "690a50b5", "equity": 98659610, "ret": -1.34}, {"id": "v52", "ph": "c1939d0b", "equity": 98659610, "ret": -1.34}, {"id": "v110", "ph": "8164d748", "equity": 98646805, "ret": -1.35}, {"id": "v111", "ph": "826e3d17", "equity": 98646805, "ret": -1.35}, {"id": "v112", "ph": "4cd47646", "equity": 98646805, "ret": -1.35}, {"id": "v106", "ph": "d0f5fbc1", "equity": 98511272, "ret": -1.49}, {"id": "v48", "ph": "18854c6a", "equity": 98488769, "ret": -1.51}, {"id": "v2", "ph": "bab0fc2c", "equity": 98468880, "ret": -1.53}, {"id": "v3", "ph": "81d17cca", "equity": 98468880, "ret": -1.53}, {"id": "v4", "ph": "b6219595", "equity": 98468880, "ret": -1.53}, {"id": "v108", "ph": "67a6679a", "equity": 98463181, "ret": -1.54}, {"id": "v140", "ph": "52175b2b", "equity": 98333401, "ret": -1.67}, {"id": "v141", "ph": "47f30434", "equity": 98333401, "ret": -1.67}, {"id": "v117", "ph": "c4ae8a11", "equity": 98316898, "ret": -1.68}, {"id": "v119", "ph": "ed2208f1", "equity": 98316898, "ret": -1.68}, {"id": "v120", "ph": "d25ca8b0", "equity": 98316898, "ret": -1.68}, {"id": "v190", "ph": "e14af339", "equity": 98281253, "ret": -1.72}, {"id": "v204", "ph": "434e2f7a", "equity": 98281253, "ret": -1.72}, {"id": "v38", "ph": "9b9083ae", "equity": 98256402, "ret": -1.74}, {"id": "v46", "ph": "7dc0e360", "equity": 98256402, "ret": -1.74}, {"id": "v56", "ph": "5d99704f", "equity": 98256402, "ret": -1.74}, {"id": "v158", "ph": "7e56eae3", "equity": 98258749, "ret": -1.74}, {"id": "v160", "ph": "b03f5295", "equity": 98258749, "ret": -1.74}, {"id": "v303", "ph": "1a084164", "equity": 98252307, "ret": -1.75}, {"id": "v40", "ph": "70731d89", "equity": 98226593, "ret": -1.77}, {"id": "v42", "ph": "f36fddc6", "equity": 98226593, "ret": -1.77}, {"id": "v44", "ph": "364ea434", "equity": 98226593, "ret": -1.77}, {"id": "v219", "ph": "426d3834", "equity": 98233635, "ret": -1.77}, {"id": "v220", "ph": "565c27a7", "equity": 98233635, "ret": -1.77}, {"id": "v225", "ph": "e9f40f62", "equity": 98233635, "ret": -1.77}, {"id": "v226", "ph": "98fd37a4", "equity": 98233635, "ret": -1.77}, {"id": "v231", "ph": "cd9469fa", "equity": 98233635, "ret": -1.77}, {"id": "v232", "ph": "6de1fffa", "equity": 98233635, "ret": -1.77}, {"id": "v237", "ph": "a10d68cf", "equity": 98233635, "ret": -1.77}, {"id": "v238", "ph": "f1a74611", "equity": 98233635, "ret": -1.77}, {"id": "v267", "ph": "766c47d7", "equity": 98233635, "ret": -1.77}, {"id": "v268", "ph": "9736502d", "equity": 98233635, "ret": -1.77}, {"id": "v273", "ph": "c726e8d5", "equity": 98233635, "ret": -1.77}, {"id": "v274", "ph": "62b011c8", "equity": 98233635, "ret": -1.77}, {"id": "v279", "ph": "37e203bb", "equity": 98233635, "ret": -1.77}, {"id": "v280", "ph": "60411037", "equity": 98233635, "ret": -1.77}, {"id": "v285", "ph": "962e35cd", "equity": 98233635, "ret": -1.77}, {"id": "v286", "ph": "4f6101e9", "equity": 98233635, "ret": -1.77}, {"id": "v214", "ph": "0fb624bf", "equity": 98224647, "ret": -1.78}, {"id": "v156", "ph": "3f7bcd1b", "equity": 98202143, "ret": -1.8}, {"id": "v148", "ph": "ada71802", "equity": 98105237, "ret": -1.89}, {"id": "v150", "ph": "be41b974", "equity": 98105237, "ret": -1.89}, {"id": "v152", "ph": "5d2df346", "equity": 98105237, "ret": -1.89}, {"id": "v134", "ph": "afbb4ab8", "equity": 98095071, "ret": -1.9}, {"id": "v137", "ph": "60ec806f", "equity": 98095071, "ret": -1.9}, {"id": "v142", "ph": "44fae695", "equity": 98095071, "ret": -1.9}, {"id": "v221", "ph": "cd2eef94", "equity": 97811265, "ret": -2.19}, {"id": "v227", "ph": "9454b07a", "equity": 97811265, "ret": -2.19}, {"id": "v233", "ph": "941006e0", "equity": 97811265, "ret": -2.19}, {"id": "v239", "ph": "96e693c4", "equity": 97811265, "ret": -2.19}, {"id": "v269", "ph": "c0c861c4", "equity": 97811265, "ret": -2.19}, {"id": "v275", "ph": "3ebf0d91", "equity": 97811265, "ret": -2.19}, {"id": "v281", "ph": "7d9e5a9d", "equity": 97811265, "ret": -2.19}, {"id": "v287", "ph": "3bf14815", "equity": 97811265, "ret": -2.19}, {"id": "v144", "ph": "6ffe4183", "equity": 97714288, "ret": -2.29}, {"id": "v196", "ph": "a44aeef1", "equity": 97692640, "ret": -2.31}, {"id": "v202", "ph": "a528b806", "equity": 97692640, "ret": -2.31}, {"id": "v208", "ph": "445623de", "equity": 97690172, "ret": -2.31}, {"id": "v210", "ph": "6f533a9b", "equity": 97690172, "ret": -2.31}, {"id": "v212", "ph": "b9e1e8d1", "equity": 97692640, "ret": -2.31}, {"id": "v162", "ph": "b8f71c74", "equity": 97673670, "ret": -2.33}, {"id": "v166", "ph": "f684401e", "equity": 97673670, "ret": -2.33}, {"id": "v168", "ph": "81099b26", "equity": 97673670, "ret": -2.33}, {"id": "v222", "ph": "55de9eca", "equity": 97649183, "ret": -2.35}, {"id": "v228", "ph": "caa54387", "equity": 97649183, "ret": -2.35}, {"id": "v234", "ph": "9a289d18", "equity": 97649183, "ret": -2.35}, {"id": "v240", "ph": "db1869eb", "equity": 97649183, "ret": -2.35}, {"id": "v270", "ph": "1ce9fd2b", "equity": 97649183, "ret": -2.35}, {"id": "v276", "ph": "51425eab", "equity": 97649183, "ret": -2.35}, {"id": "v282", "ph": "9ddd111d", "equity": 97649183, "ret": -2.35}, {"id": "v288", "ph": "1c732194", "equity": 97649183, "ret": -2.35}, {"id": "v109", "ph": "4c69fc95", "equity": 97333763, "ret": -2.67}, {"id": "v113", "ph": "5b43d0bc", "equity": 97333763, "ret": -2.67}, {"id": "v118", "ph": "538b63b9", "equity": 97333763, "ret": -2.67}, {"id": "v296", "ph": "4c554378", "equity": 97307249, "ret": -2.69}, {"id": "v243", "ph": "fa7a545a", "equity": 97250574, "ret": -2.75}, {"id": "v244", "ph": "520c5a65", "equity": 97250574, "ret": -2.75}, {"id": "v249", "ph": "36a32ca0", "equity": 97250574, "ret": -2.75}, {"id": "v250", "ph": "b37976b8", "equity": 97250574, "ret": -2.75}, {"id": "v255", "ph": "92e3c5e0", "equity": 97250574, "ret": -2.75}, {"id": "v256", "ph": "e583f1dd", "equity": 97250574, "ret": -2.75}, {"id": "v261", "ph": "965786e6", "equity": 97250574, "ret": -2.75}, {"id": "v262", "ph": "e07faa54", "equity": 97250574, "ret": -2.75}, {"id": "v216", "ph": "ee298bd3", "equity": 97177429, "ret": -2.82}, {"id": "v300", "ph": "c6ddc17b", "equity": 96771577, "ret": -3.23}, {"id": "v245", "ph": "ac84324f", "equity": 96386213, "ret": -3.61}, {"id": "v251", "ph": "8c5a06da", "equity": 96386213, "ret": -3.61}, {"id": "v257", "ph": "7fa33f5b", "equity": 96386213, "ret": -3.61}, {"id": "v263", "ph": "ca392811", "equity": 96386213, "ret": -3.61}, {"id": "v146", "ph": "071b9cb1", "equity": 96216557, "ret": -3.78}, {"id": "v154", "ph": "7a3a7788", "equity": 96216557, "ret": -3.78}, {"id": "v164", "ph": "331cec1f", "equity": 96216557, "ret": -3.78}, {"id": "v246", "ph": "618ddf71", "equity": 96224131, "ret": -3.78}, {"id": "v252", "ph": "381a65d1", "equity": 96224131, "ret": -3.78}, {"id": "v258", "ph": "0b19bb06", "equity": 96224131, "ret": -3.78}, {"id": "v264", "ph": "8c65e60d", "equity": 96224131, "ret": -3.78}, {"id": "v298", "ph": "5d4bbec0", "equity": 95473086, "ret": -4.53}], "20260622": [{"id": "v308", "ph": "cb12dd0b", "equity": 100110463, "ret": 0.11}, {"id": "v304", "ph": "96c7e8e1", "equity": 99999382, "ret": -0.0}, {"id": "v305", "ph": "8cc4eea6", "equity": 99999253, "ret": -0.0}, {"id": "v306", "ph": "6966b8f6", "equity": 100000000, "ret": 0.0}, {"id": "v307", "ph": "6abce93d", "equity": 100000000, "ret": 0.0}, {"id": "v313", "ph": "b9f4ee72", "equity": 100000000, "ret": 0.0}, {"id": "v314", "ph": "7511570e", "equity": 100000000, "ret": 0.0}, {"id": "v315", "ph": "e6d5b283", "equity": 100000000, "ret": 0.0}, {"id": "v316", "ph": "8dc1d197", "equity": 99999482, "ret": -0.0}, {"id": "v317", "ph": "51f8ee6d", "equity": 100000000, "ret": 0.0}, {"id": "v319", "ph": "ca25f043", "equity": 99999612, "ret": -0.0}, {"id": "v320", "ph": "48d6a9ef", "equity": 99999353, "ret": -0.0}, {"id": "v321", "ph": "e82de49b", "equity": 100000000, "ret": 0.0}, {"id": "v311", "ph": "8409c6e5", "equity": 99975492, "ret": -0.02}, {"id": "v81", "ph": "a6eac1e4", "equity": 99862143, "ret": -0.14}, {"id": "v91", "ph": "5674a3d7", "equity": 99862143, "ret": -0.14}, {"id": "v95", "ph": "7e28e756", "equity": 99862143, "ret": -0.14}, {"id": "v312", "ph": "4c23846f", "equity": 99850935, "ret": -0.15}, {"id": "v309", "ph": "07610040", "equity": 99839047, "ret": -0.16}, {"id": "v310", "ph": "ec9dd55c", "equity": 99823142, "ret": -0.18}, {"id": "v318", "ph": "c99872ef", "equity": 99752651, "ret": -0.25}, {"id": "v299", "ph": "25046b1a", "equity": 99624684, "ret": -0.38}, {"id": "v49", "ph": "cdba73e0", "equity": 99546303, "ret": -0.45}, {"id": "v51", "ph": "21a98e46", "equity": 99546303, "ret": -0.45}, {"id": "v40", "ph": "70731d89", "equity": 99480770, "ret": -0.52}, {"id": "v99", "ph": "fb39409b", "equity": 99432420, "ret": -0.57}, {"id": "v101", "ph": "c4354346", "equity": 99432420, "ret": -0.57}, {"id": "v199", "ph": "390bfab3", "equity": 99432420, "ret": -0.57}, {"id": "v207", "ph": "0f6601a0", "equity": 99432420, "ret": -0.57}, {"id": "v209", "ph": "8730802d", "equity": 99432420, "ret": -0.57}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99389944, "ret": -0.61}, {"id": "v203", "ph": "2071defa", "equity": 99389944, "ret": -0.61}, {"id": "v89", "ph": "c49d5680", "equity": 99365419, "ret": -0.63}, {"id": "v97", "ph": "ebf31977", "equity": 99365419, "ret": -0.63}, {"id": "v217", "ph": "4c547a61", "equity": 99338238, "ret": -0.66}, {"id": "v218", "ph": "7304d2d4", "equity": 99338238, "ret": -0.66}, {"id": "v87", "ph": "c0be98c0", "equity": 99330590, "ret": -0.67}, {"id": "v93", "ph": "f10d4e45", "equity": 99330590, "ret": -0.67}, {"id": "v103", "ph": "75b0a37c", "equity": 99330590, "ret": -0.67}, {"id": "v195", "ph": "dd89cf59", "equity": 99330590, "ret": -0.67}, {"id": "v197", "ph": "5c290a32", "equity": 99330590, "ret": -0.67}, {"id": "v201", "ph": "cb8a413e", "equity": 99330590, "ret": -0.67}, {"id": "v205", "ph": "02e5a3f5", "equity": 99330590, "ret": -0.67}, {"id": "v211", "ph": "9227673c", "equity": 99330590, "ret": -0.67}, {"id": "v105", "ph": "88395429", "equity": 99298435, "ret": -0.7}, {"id": "v223", "ph": "b57356b8", "equity": 99265870, "ret": -0.73}, {"id": "v224", "ph": "888ab069", "equity": 99265870, "ret": -0.73}, {"id": "v229", "ph": "d9261dfb", "equity": 99265870, "ret": -0.73}, {"id": "v230", "ph": "141579fe", "equity": 99265870, "ret": -0.73}, {"id": "v235", "ph": "3e6c1666", "equity": 99265870, "ret": -0.73}, {"id": "v236", "ph": "f9c75560", "equity": 99265870, "ret": -0.73}, {"id": "v265", "ph": "7faed59d", "equity": 99265870, "ret": -0.73}, {"id": "v266", "ph": "c133b585", "equity": 99265870, "ret": -0.73}, {"id": "v271", "ph": "2b9ccdcd", "equity": 99265870, "ret": -0.73}, {"id": "v272", "ph": "2ed2027f", "equity": 99265870, "ret": -0.73}, {"id": "v277", "ph": "488b612a", "equity": 99265870, "ret": -0.73}, {"id": "v278", "ph": "861fb42b", "equity": 99265870, "ret": -0.73}, {"id": "v283", "ph": "479e4b25", "equity": 99265870, "ret": -0.73}, {"id": "v284", "ph": "261c5d58", "equity": 99265870, "ret": -0.73}, {"id": "v107", "ph": "be5cd36b", "equity": 99253201, "ret": -0.75}, {"id": "v213", "ph": "0e1d8e45", "equity": 99253201, "ret": -0.75}, {"id": "v215", "ph": "a904a49d", "equity": 99253201, "ret": -0.75}, {"id": "v302", "ph": "3f30502d", "equity": 99230216, "ret": -0.77}, {"id": "v57", "ph": "e7e98b6d", "equity": 99200804, "ret": -0.8}, {"id": "v59", "ph": "1858e2ec", "equity": 99200804, "ret": -0.8}, {"id": "v161", "ph": "ed5677e6", "equity": 99200804, "ret": -0.8}, {"id": "v165", "ph": "8f862b27", "equity": 99200804, "ret": -0.8}, {"id": "v167", "ph": "b6d6aed8", "equity": 99200804, "ret": -0.8}, {"id": "v301", "ph": "30da2021", "equity": 99168468, "ret": -0.83}, {"id": "v157", "ph": "80f3e23b", "equity": 99074104, "ret": -0.93}, {"id": "v159", "ph": "af80c67a", "equity": 99074104, "ret": -0.93}, {"id": "v1", "ph": "4874f4c9", "equity": 98993647, "ret": -1.01}, {"id": "v47", "ph": "ed758fcf", "equity": 98982594, "ret": -1.02}, {"id": "v155", "ph": "31c0d84e", "equity": 98937360, "ret": -1.06}, {"id": "v147", "ph": "2fbeeedb", "equity": 98787077, "ret": -1.21}, {"id": "v149", "ph": "c5329f8d", "equity": 98787077, "ret": -1.21}, {"id": "v151", "ph": "2eb1dd06", "equity": 98787077, "ret": -1.21}, {"id": "v41", "ph": "e9d84e84", "equity": 98506853, "ret": -1.49}, {"id": "v4", "ph": "b6219595", "equity": 98047970, "ret": -1.95}, {"id": "v303", "ph": "1a084164", "equity": 97958407, "ret": -2.04}, {"id": "v300", "ph": "c6ddc17b", "equity": 97936863, "ret": -2.06}, {"id": "v296", "ph": "4c554378", "equity": 96948991, "ret": -3.05}, {"id": "v298", "ph": "5d4bbec0", "equity": 95566672, "ret": -4.43}], "20260623": [{"id": "v306", "ph": "6966b8f6", "equity": 100000000, "ret": 0.0}, {"id": "v307", "ph": "6abce93d", "equity": 100000000, "ret": 0.0}, {"id": "v313", "ph": "b9f4ee72", "equity": 100000000, "ret": 0.0}, {"id": "v314", "ph": "7511570e", "equity": 100000000, "ret": 0.0}, {"id": "v315", "ph": "e6d5b283", "equity": 100000000, "ret": 0.0}, {"id": "v317", "ph": "51f8ee6d", "equity": 100000000, "ret": 0.0}, {"id": "v321", "ph": "e82de49b", "equity": 100000000, "ret": 0.0}, {"id": "v81", "ph": "a6eac1e4", "equity": 99876259, "ret": -0.12}, {"id": "v91", "ph": "5674a3d7", "equity": 99876259, "ret": -0.12}, {"id": "v95", "ph": "7e28e756", "equity": 99876259, "ret": -0.12}, {"id": "v319", "ph": "ca25f043", "equity": 99660626, "ret": -0.34}, {"id": "v316", "ph": "8dc1d197", "equity": 99602340, "ret": -0.4}, {"id": "v304", "ph": "96c7e8e1", "equity": 99583541, "ret": -0.42}, {"id": "v320", "ph": "48d6a9ef", "equity": 99522538, "ret": -0.48}, {"id": "v308", "ph": "cb12dd0b", "equity": 99484063, "ret": -0.52}, {"id": "v305", "ph": "8cc4eea6", "equity": 99455619, "ret": -0.54}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99404017, "ret": -0.6}, {"id": "v203", "ph": "2071defa", "equity": 99404017, "ret": -0.6}, {"id": "v99", "ph": "fb39409b", "equity": 99365571, "ret": -0.63}, {"id": "v101", "ph": "c4354346", "equity": 99365571, "ret": -0.63}, {"id": "v199", "ph": "390bfab3", "equity": 99365571, "ret": -0.63}, {"id": "v207", "ph": "0f6601a0", "equity": 99365571, "ret": -0.63}, {"id": "v209", "ph": "8730802d", "equity": 99365571, "ret": -0.63}, {"id": "v49", "ph": "cdba73e0", "equity": 99355488, "ret": -0.64}, {"id": "v51", "ph": "21a98e46", "equity": 99355488, "ret": -0.64}, {"id": "v87", "ph": "c0be98c0", "equity": 99018741, "ret": -0.98}, {"id": "v93", "ph": "f10d4e45", "equity": 99018741, "ret": -0.98}, {"id": "v103", "ph": "75b0a37c", "equity": 99018741, "ret": -0.98}, {"id": "v195", "ph": "dd89cf59", "equity": 99018741, "ret": -0.98}, {"id": "v197", "ph": "5c290a32", "equity": 99018741, "ret": -0.98}, {"id": "v201", "ph": "cb8a413e", "equity": 99018741, "ret": -0.98}, {"id": "v205", "ph": "02e5a3f5", "equity": 99018741, "ret": -0.98}, {"id": "v211", "ph": "9227673c", "equity": 99018741, "ret": -0.98}, {"id": "v217", "ph": "4c547a61", "equity": 99002738, "ret": -1.0}, {"id": "v218", "ph": "7304d2d4", "equity": 99002738, "ret": -1.0}, {"id": "v223", "ph": "b57356b8", "equity": 98930370, "ret": -1.07}, {"id": "v224", "ph": "888ab069", "equity": 98930370, "ret": -1.07}, {"id": "v229", "ph": "d9261dfb", "equity": 98930370, "ret": -1.07}, {"id": "v230", "ph": "141579fe", "equity": 98930370, "ret": -1.07}, {"id": "v235", "ph": "3e6c1666", "equity": 98930370, "ret": -1.07}, {"id": "v236", "ph": "f9c75560", "equity": 98930370, "ret": -1.07}, {"id": "v265", "ph": "7faed59d", "equity": 98930370, "ret": -1.07}, {"id": "v266", "ph": "c133b585", "equity": 98930370, "ret": -1.07}, {"id": "v271", "ph": "2b9ccdcd", "equity": 98930370, "ret": -1.07}, {"id": "v272", "ph": "2ed2027f", "equity": 98930370, "ret": -1.07}, {"id": "v277", "ph": "488b612a", "equity": 98930370, "ret": -1.07}, {"id": "v278", "ph": "861fb42b", "equity": 98930370, "ret": -1.07}, {"id": "v283", "ph": "479e4b25", "equity": 98930370, "ret": -1.07}, {"id": "v284", "ph": "261c5d58", "equity": 98930370, "ret": -1.07}, {"id": "v57", "ph": "e7e98b6d", "equity": 98879376, "ret": -1.12}, {"id": "v59", "ph": "1858e2ec", "equity": 98879376, "ret": -1.12}, {"id": "v157", "ph": "80f3e23b", "equity": 98883246, "ret": -1.12}, {"id": "v159", "ph": "af80c67a", "equity": 98883246, "ret": -1.12}, {"id": "v161", "ph": "ed5677e6", "equity": 98879376, "ret": -1.12}, {"id": "v165", "ph": "8f862b27", "equity": 98879376, "ret": -1.12}, {"id": "v167", "ph": "b6d6aed8", "equity": 98879376, "ret": -1.12}, {"id": "v302", "ph": "3f30502d", "equity": 98829145, "ret": -1.17}, {"id": "v107", "ph": "be5cd36b", "equity": 98682584, "ret": -1.32}, {"id": "v213", "ph": "0e1d8e45", "equity": 98682584, "ret": -1.32}, {"id": "v215", "ph": "a904a49d", "equity": 98682584, "ret": -1.32}, {"id": "v89", "ph": "c49d5680", "equity": 98634536, "ret": -1.37}, {"id": "v97", "ph": "ebf31977", "equity": 98634536, "ret": -1.37}, {"id": "v318", "ph": "c99872ef", "equity": 98484983, "ret": -1.52}, {"id": "v105", "ph": "88395429", "equity": 98446363, "ret": -1.55}, {"id": "v310", "ph": "ec9dd55c", "equity": 98385145, "ret": -1.61}, {"id": "v301", "ph": "30da2021", "equity": 98256277, "ret": -1.74}, {"id": "v155", "ph": "31c0d84e", "equity": 98161814, "ret": -1.84}, {"id": "v1", "ph": "4874f4c9", "equity": 97995717, "ret": -2.0}, {"id": "v47", "ph": "ed758fcf", "equity": 97925592, "ret": -2.07}, {"id": "v311", "ph": "8409c6e5", "equity": 97922048, "ret": -2.08}, {"id": "v147", "ph": "2fbeeedb", "equity": 97833766, "ret": -2.17}, {"id": "v149", "ph": "c5329f8d", "equity": 97833766, "ret": -2.17}, {"id": "v151", "ph": "2eb1dd06", "equity": 97833766, "ret": -2.17}, {"id": "v303", "ph": "1a084164", "equity": 97432486, "ret": -2.57}, {"id": "v312", "ph": "4c23846f", "equity": 96768473, "ret": -3.23}, {"id": "v41", "ph": "e9d84e84", "equity": 96633673, "ret": -3.37}, {"id": "v309", "ph": "07610040", "equity": 96389485, "ret": -3.61}, {"id": "v4", "ph": "b6219595", "equity": 96036004, "ret": -3.96}, {"id": "v40", "ph": "70731d89", "equity": 95687271, "ret": -4.31}, {"id": "v296", "ph": "4c554378", "equity": 95071919, "ret": -4.93}, {"id": "v300", "ph": "c6ddc17b", "equity": 93918078, "ret": -6.08}, {"id": "v299", "ph": "25046b1a", "equity": 93683292, "ret": -6.32}, {"id": "v298", "ph": "5d4bbec0", "equity": 92518385, "ret": -7.48}], "20260624": [{"id": "v321", "ph": "e82de49b", "equity": 100085854, "ret": 0.09}, {"id": "v317", "ph": "51f8ee6d", "equity": 100060486, "ret": 0.06}, {"id": "v306", "ph": "6966b8f6", "equity": 100000522, "ret": 0.0}, {"id": "v315", "ph": "e6d5b283", "equity": 99883355, "ret": -0.12}, {"id": "v313", "ph": "b9f4ee72", "equity": 99826917, "ret": -0.17}, {"id": "v307", "ph": "6abce93d", "equity": 99802993, "ret": -0.2}, {"id": "v314", "ph": "7511570e", "equity": 99792429, "ret": -0.21}, {"id": "v91", "ph": "5674a3d7", "equity": 99663265, "ret": -0.34}, {"id": "v81", "ph": "a6eac1e4", "equity": 99636149, "ret": -0.36}, {"id": "v95", "ph": "7e28e756", "equity": 99636149, "ret": -0.36}, {"id": "v308", "ph": "cb12dd0b", "equity": 99546904, "ret": -0.45}, {"id": "v304", "ph": "96c7e8e1", "equity": 99355993, "ret": -0.64}, {"id": "v319", "ph": "ca25f043", "equity": 99288100, "ret": -0.71}, {"id": "v316", "ph": "8dc1d197", "equity": 99193213, "ret": -0.81}, {"id": "v305", "ph": "8cc4eea6", "equity": 99183211, "ret": -0.82}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99163907, "ret": -0.84}, {"id": "v203", "ph": "2071defa", "equity": 99163907, "ret": -0.84}, {"id": "v99", "ph": "fb39409b", "equity": 99152577, "ret": -0.85}, {"id": "v101", "ph": "c4354346", "equity": 99152577, "ret": -0.85}, {"id": "v199", "ph": "390bfab3", "equity": 99152577, "ret": -0.85}, {"id": "v207", "ph": "0f6601a0", "equity": 99152577, "ret": -0.85}, {"id": "v209", "ph": "8730802d", "equity": 99152577, "ret": -0.85}, {"id": "v49", "ph": "cdba73e0", "equity": 99115378, "ret": -0.88}, {"id": "v51", "ph": "21a98e46", "equity": 99115378, "ret": -0.88}, {"id": "v320", "ph": "48d6a9ef", "equity": 99096561, "ret": -0.9}, {"id": "v87", "ph": "c0be98c0", "equity": 99066109, "ret": -0.93}, {"id": "v93", "ph": "f10d4e45", "equity": 99066109, "ret": -0.93}, {"id": "v103", "ph": "75b0a37c", "equity": 99066109, "ret": -0.93}, {"id": "v197", "ph": "5c290a32", "equity": 99066109, "ret": -0.93}, {"id": "v205", "ph": "02e5a3f5", "equity": 99066109, "ret": -0.93}, {"id": "v195", "ph": "dd89cf59", "equity": 98899102, "ret": -1.1}, {"id": "v201", "ph": "cb8a413e", "equity": 98899102, "ret": -1.1}, {"id": "v211", "ph": "9227673c", "equity": 98899102, "ret": -1.1}, {"id": "v107", "ph": "be5cd36b", "equity": 98777904, "ret": -1.22}, {"id": "v213", "ph": "0e1d8e45", "equity": 98777904, "ret": -1.22}, {"id": "v57", "ph": "e7e98b6d", "equity": 98666382, "ret": -1.33}, {"id": "v59", "ph": "1858e2ec", "equity": 98666382, "ret": -1.33}, {"id": "v161", "ph": "ed5677e6", "equity": 98666382, "ret": -1.33}, {"id": "v165", "ph": "8f862b27", "equity": 98666382, "ret": -1.33}, {"id": "v167", "ph": "b6d6aed8", "equity": 98666382, "ret": -1.33}, {"id": "v217", "ph": "4c547a61", "equity": 98672158, "ret": -1.33}, {"id": "v218", "ph": "7304d2d4", "equity": 98672158, "ret": -1.33}, {"id": "v157", "ph": "80f3e23b", "equity": 98643136, "ret": -1.36}, {"id": "v159", "ph": "af80c67a", "equity": 98643136, "ret": -1.36}, {"id": "v89", "ph": "c49d5680", "equity": 98615759, "ret": -1.38}, {"id": "v97", "ph": "ebf31977", "equity": 98615759, "ret": -1.38}, {"id": "v105", "ph": "88395429", "equity": 98597406, "ret": -1.4}, {"id": "v223", "ph": "b57356b8", "equity": 98599790, "ret": -1.4}, {"id": "v224", "ph": "888ab069", "equity": 98599790, "ret": -1.4}, {"id": "v229", "ph": "d9261dfb", "equity": 98599790, "ret": -1.4}, {"id": "v230", "ph": "141579fe", "equity": 98599790, "ret": -1.4}, {"id": "v235", "ph": "3e6c1666", "equity": 98599790, "ret": -1.4}, {"id": "v236", "ph": "f9c75560", "equity": 98599790, "ret": -1.4}, {"id": "v265", "ph": "7faed59d", "equity": 98599790, "ret": -1.4}, {"id": "v266", "ph": "c133b585", "equity": 98599790, "ret": -1.4}, {"id": "v271", "ph": "2b9ccdcd", "equity": 98599790, "ret": -1.4}, {"id": "v272", "ph": "2ed2027f", "equity": 98599790, "ret": -1.4}, {"id": "v277", "ph": "488b612a", "equity": 98599790, "ret": -1.4}, {"id": "v278", "ph": "861fb42b", "equity": 98599790, "ret": -1.4}, {"id": "v283", "ph": "479e4b25", "equity": 98599790, "ret": -1.4}, {"id": "v284", "ph": "261c5d58", "equity": 98599790, "ret": -1.4}, {"id": "v215", "ph": "a904a49d", "equity": 98584893, "ret": -1.42}, {"id": "v302", "ph": "3f30502d", "equity": 98415182, "ret": -1.58}, {"id": "v155", "ph": "31c0d84e", "equity": 98262712, "ret": -1.74}, {"id": "v47", "ph": "ed758fcf", "equity": 98075491, "ret": -1.92}, {"id": "v318", "ph": "c99872ef", "equity": 98060011, "ret": -1.94}, {"id": "v147", "ph": "2fbeeedb", "equity": 97921225, "ret": -2.08}, {"id": "v149", "ph": "c5329f8d", "equity": 97921225, "ret": -2.08}, {"id": "v151", "ph": "2eb1dd06", "equity": 97921225, "ret": -2.08}, {"id": "v311", "ph": "8409c6e5", "equity": 97891655, "ret": -2.11}, {"id": "v301", "ph": "30da2021", "equity": 97750914, "ret": -2.25}, {"id": "v310", "ph": "ec9dd55c", "equity": 97639577, "ret": -2.36}, {"id": "v1", "ph": "4874f4c9", "equity": 97475814, "ret": -2.52}, {"id": "v303", "ph": "1a084164", "equity": 97118111, "ret": -2.88}, {"id": "v41", "ph": "e9d84e84", "equity": 96580621, "ret": -3.42}, {"id": "v4", "ph": "b6219595", "equity": 95980663, "ret": -4.02}, {"id": "v312", "ph": "4c23846f", "equity": 95969821, "ret": -4.03}, {"id": "v309", "ph": "07610040", "equity": 95955384, "ret": -4.04}, {"id": "v40", "ph": "70731d89", "equity": 95748230, "ret": -4.25}, {"id": "v296", "ph": "4c554378", "equity": 94163911, "ret": -5.84}, {"id": "v300", "ph": "c6ddc17b", "equity": 93696621, "ret": -6.3}, {"id": "v299", "ph": "25046b1a", "equity": 93194033, "ret": -6.81}, {"id": "v298", "ph": "5d4bbec0", "equity": 92404552, "ret": -7.6}], "20260625": [{"id": "v317", "ph": "51f8ee6d", "equity": 99993632, "ret": -0.01}, {"id": "v321", "ph": "e82de49b", "equity": 99982218, "ret": -0.02}, {"id": "v315", "ph": "e6d5b283", "equity": 99958954, "ret": -0.04}, {"id": "v306", "ph": "6966b8f6", "equity": 99920351, "ret": -0.08}, {"id": "v314", "ph": "7511570e", "equity": 99898729, "ret": -0.1}, {"id": "v313", "ph": "b9f4ee72", "equity": 99812686, "ret": -0.19}, {"id": "v81", "ph": "a6eac1e4", "equity": 99778449, "ret": -0.22}, {"id": "v91", "ph": "5674a3d7", "equity": 99775565, "ret": -0.22}, {"id": "v95", "ph": "7e28e756", "equity": 99778449, "ret": -0.22}, {"id": "v307", "ph": "6abce93d", "equity": 99783177, "ret": -0.22}, {"id": "v308", "ph": "cb12dd0b", "equity": 99549413, "ret": -0.45}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99326774, "ret": -0.67}, {"id": "v203", "ph": "2071defa", "equity": 99326774, "ret": -0.67}, {"id": "v199", "ph": "390bfab3", "equity": 99282766, "ret": -0.72}, {"id": "v207", "ph": "0f6601a0", "equity": 99282766, "ret": -0.72}, {"id": "v209", "ph": "8730802d", "equity": 99282766, "ret": -0.72}, {"id": "v49", "ph": "cdba73e0", "equity": 99257678, "ret": -0.74}, {"id": "v51", "ph": "21a98e46", "equity": 99257678, "ret": -0.74}, {"id": "v99", "ph": "fb39409b", "equity": 99264877, "ret": -0.74}, {"id": "v101", "ph": "c4354346", "equity": 99264877, "ret": -0.74}, {"id": "v319", "ph": "ca25f043", "equity": 99151697, "ret": -0.85}, {"id": "v304", "ph": "96c7e8e1", "equity": 99087927, "ret": -0.91}, {"id": "v316", "ph": "8dc1d197", "equity": 99064791, "ret": -0.94}, {"id": "v197", "ph": "5c290a32", "equity": 99022763, "ret": -0.98}, {"id": "v205", "ph": "02e5a3f5", "equity": 99022763, "ret": -0.98}, {"id": "v87", "ph": "c0be98c0", "equity": 99004874, "ret": -1.0}, {"id": "v93", "ph": "f10d4e45", "equity": 99004874, "ret": -1.0}, {"id": "v103", "ph": "75b0a37c", "equity": 99004874, "ret": -1.0}, {"id": "v320", "ph": "48d6a9ef", "equity": 98966439, "ret": -1.03}, {"id": "v305", "ph": "8cc4eea6", "equity": 98834032, "ret": -1.17}, {"id": "v157", "ph": "80f3e23b", "equity": 98805812, "ret": -1.19}, {"id": "v159", "ph": "af80c67a", "equity": 98805812, "ret": -1.19}, {"id": "v161", "ph": "ed5677e6", "equity": 98796476, "ret": -1.2}, {"id": "v165", "ph": "8f862b27", "equity": 98796476, "ret": -1.2}, {"id": "v167", "ph": "b6d6aed8", "equity": 98796476, "ret": -1.2}, {"id": "v195", "ph": "dd89cf59", "equity": 98801518, "ret": -1.2}, {"id": "v201", "ph": "cb8a413e", "equity": 98801518, "ret": -1.2}, {"id": "v211", "ph": "9227673c", "equity": 98801518, "ret": -1.2}, {"id": "v57", "ph": "e7e98b6d", "equity": 98778682, "ret": -1.22}, {"id": "v59", "ph": "1858e2ec", "equity": 98778682, "ret": -1.22}, {"id": "v89", "ph": "c49d5680", "equity": 98647719, "ret": -1.35}, {"id": "v97", "ph": "ebf31977", "equity": 98647719, "ret": -1.35}, {"id": "v302", "ph": "3f30502d", "equity": 98641582, "ret": -1.36}, {"id": "v217", "ph": "4c547a61", "equity": 98614246, "ret": -1.39}, {"id": "v218", "ph": "7304d2d4", "equity": 98614246, "ret": -1.39}, {"id": "v213", "ph": "0e1d8e45", "equity": 98585038, "ret": -1.41}, {"id": "v107", "ph": "be5cd36b", "equity": 98564470, "ret": -1.44}, {"id": "v223", "ph": "b57356b8", "equity": 98541878, "ret": -1.46}, {"id": "v224", "ph": "888ab069", "equity": 98541878, "ret": -1.46}, {"id": "v229", "ph": "d9261dfb", "equity": 98541878, "ret": -1.46}, {"id": "v230", "ph": "141579fe", "equity": 98541878, "ret": -1.46}, {"id": "v235", "ph": "3e6c1666", "equity": 98541878, "ret": -1.46}, {"id": "v236", "ph": "f9c75560", "equity": 98541878, "ret": -1.46}, {"id": "v265", "ph": "7faed59d", "equity": 98541878, "ret": -1.46}, {"id": "v266", "ph": "c133b585", "equity": 98541878, "ret": -1.46}, {"id": "v271", "ph": "2b9ccdcd", "equity": 98541878, "ret": -1.46}, {"id": "v272", "ph": "2ed2027f", "equity": 98541878, "ret": -1.46}, {"id": "v277", "ph": "488b612a", "equity": 98541878, "ret": -1.46}, {"id": "v278", "ph": "861fb42b", "equity": 98541878, "ret": -1.46}, {"id": "v283", "ph": "479e4b25", "equity": 98541878, "ret": -1.46}, {"id": "v284", "ph": "261c5d58", "equity": 98541878, "ret": -1.46}, {"id": "v318", "ph": "c99872ef", "equity": 98448234, "ret": -1.55}, {"id": "v105", "ph": "88395429", "equity": 98368172, "ret": -1.63}, {"id": "v215", "ph": "a904a49d", "equity": 98337789, "ret": -1.66}, {"id": "v155", "ph": "31c0d84e", "equity": 98064390, "ret": -1.94}, {"id": "v301", "ph": "30da2021", "equity": 97971314, "ret": -2.03}, {"id": "v310", "ph": "ec9dd55c", "equity": 97969177, "ret": -2.03}, {"id": "v47", "ph": "ed758fcf", "equity": 97846897, "ret": -2.15}, {"id": "v147", "ph": "2fbeeedb", "equity": 97810659, "ret": -2.19}, {"id": "v149", "ph": "c5329f8d", "equity": 97810659, "ret": -2.19}, {"id": "v151", "ph": "2eb1dd06", "equity": 97810659, "ret": -2.19}, {"id": "v1", "ph": "4874f4c9", "equity": 97699714, "ret": -2.3}, {"id": "v311", "ph": "8409c6e5", "equity": 97612070, "ret": -2.39}, {"id": "v40", "ph": "70731d89", "equity": 97128790, "ret": -2.87}, {"id": "v312", "ph": "4c23846f", "equity": 97086568, "ret": -2.91}, {"id": "v303", "ph": "1a084164", "equity": 97078943, "ret": -2.92}, {"id": "v41", "ph": "e9d84e84", "equity": 96647542, "ret": -3.35}, {"id": "v309", "ph": "07610040", "equity": 96637545, "ret": -3.36}, {"id": "v4", "ph": "b6219595", "equity": 96048864, "ret": -3.95}, {"id": "v296", "ph": "4c554378", "equity": 95720669, "ret": -4.28}, {"id": "v299", "ph": "25046b1a", "equity": 95394672, "ret": -4.61}, {"id": "v300", "ph": "c6ddc17b", "equity": 94713522, "ret": -5.29}, {"id": "v298", "ph": "5d4bbec0", "equity": 94020155, "ret": -5.98}], "20260626": [{"id": "v314", "ph": "7511570e", "equity": 99900880, "ret": -0.1}, {"id": "v315", "ph": "e6d5b283", "equity": 99816609, "ret": -0.18}, {"id": "v81", "ph": "a6eac1e4", "equity": 99807451, "ret": -0.19}, {"id": "v95", "ph": "7e28e756", "equity": 99807451, "ret": -0.19}, {"id": "v321", "ph": "e82de49b", "equity": 99813711, "ret": -0.19}, {"id": "v91", "ph": "5674a3d7", "equity": 99782191, "ret": -0.22}, {"id": "v313", "ph": "b9f4ee72", "equity": 99685397, "ret": -0.31}, {"id": "v307", "ph": "6abce93d", "equity": 99640613, "ret": -0.36}, {"id": "v306", "ph": "6966b8f6", "equity": 99583813, "ret": -0.42}, {"id": "v317", "ph": "51f8ee6d", "equity": 99551515, "ret": -0.45}, {"id": "v49", "ph": "cdba73e0", "equity": 99286680, "ret": -0.71}, {"id": "v51", "ph": "21a98e46", "equity": 99286680, "ret": -0.71}, {"id": "v308", "ph": "cb12dd0b", "equity": 99293485, "ret": -0.71}, {"id": "v99", "ph": "fb39409b", "equity": 99271503, "ret": -0.73}, {"id": "v101", "ph": "c4354346", "equity": 99271503, "ret": -0.73}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99108526, "ret": -0.89}, {"id": "v203", "ph": "2071defa", "equity": 99108526, "ret": -0.89}, {"id": "v199", "ph": "390bfab3", "equity": 99074342, "ret": -0.93}, {"id": "v207", "ph": "0f6601a0", "equity": 99074342, "ret": -0.93}, {"id": "v209", "ph": "8730802d", "equity": 99074342, "ret": -0.93}, {"id": "v87", "ph": "c0be98c0", "equity": 98896181, "ret": -1.1}, {"id": "v93", "ph": "f10d4e45", "equity": 98896181, "ret": -1.1}, {"id": "v103", "ph": "75b0a37c", "equity": 98896181, "ret": -1.1}, {"id": "v319", "ph": "ca25f043", "equity": 98901880, "ret": -1.1}, {"id": "v304", "ph": "96c7e8e1", "equity": 98807436, "ret": -1.19}, {"id": "v57", "ph": "e7e98b6d", "equity": 98785308, "ret": -1.21}, {"id": "v59", "ph": "1858e2ec", "equity": 98785308, "ret": -1.21}, {"id": "v316", "ph": "8dc1d197", "equity": 98720505, "ret": -1.28}, {"id": "v197", "ph": "5c290a32", "equity": 98699020, "ret": -1.3}, {"id": "v205", "ph": "02e5a3f5", "equity": 98699020, "ret": -1.3}, {"id": "v302", "ph": "3f30502d", "equity": 98665893, "ret": -1.33}, {"id": "v157", "ph": "80f3e23b", "equity": 98589864, "ret": -1.41}, {"id": "v159", "ph": "af80c67a", "equity": 98589864, "ret": -1.41}, {"id": "v161", "ph": "ed5677e6", "equity": 98589202, "ret": -1.41}, {"id": "v165", "ph": "8f862b27", "equity": 98589202, "ret": -1.41}, {"id": "v167", "ph": "b6d6aed8", "equity": 98589202, "ret": -1.41}, {"id": "v320", "ph": "48d6a9ef", "equity": 98583273, "ret": -1.42}, {"id": "v89", "ph": "c49d5680", "equity": 98542206, "ret": -1.46}, {"id": "v97", "ph": "ebf31977", "equity": 98542206, "ret": -1.46}, {"id": "v195", "ph": "dd89cf59", "equity": 98454369, "ret": -1.55}, {"id": "v201", "ph": "cb8a413e", "equity": 98454369, "ret": -1.55}, {"id": "v211", "ph": "9227673c", "equity": 98454369, "ret": -1.55}, {"id": "v305", "ph": "8cc4eea6", "equity": 98401081, "ret": -1.6}, {"id": "v217", "ph": "4c547a61", "equity": 98351778, "ret": -1.65}, {"id": "v218", "ph": "7304d2d4", "equity": 98351778, "ret": -1.65}, {"id": "v223", "ph": "b57356b8", "equity": 98279410, "ret": -1.72}, {"id": "v224", "ph": "888ab069", "equity": 98279410, "ret": -1.72}, {"id": "v229", "ph": "d9261dfb", "equity": 98279410, "ret": -1.72}, {"id": "v230", "ph": "141579fe", "equity": 98279410, "ret": -1.72}, {"id": "v235", "ph": "3e6c1666", "equity": 98279410, "ret": -1.72}, {"id": "v236", "ph": "f9c75560", "equity": 98279410, "ret": -1.72}, {"id": "v265", "ph": "7faed59d", "equity": 98279410, "ret": -1.72}, {"id": "v266", "ph": "c133b585", "equity": 98279410, "ret": -1.72}, {"id": "v271", "ph": "2b9ccdcd", "equity": 98279410, "ret": -1.72}, {"id": "v272", "ph": "2ed2027f", "equity": 98279410, "ret": -1.72}, {"id": "v277", "ph": "488b612a", "equity": 98279410, "ret": -1.72}, {"id": "v278", "ph": "861fb42b", "equity": 98279410, "ret": -1.72}, {"id": "v283", "ph": "479e4b25", "equity": 98279410, "ret": -1.72}, {"id": "v284", "ph": "261c5d58", "equity": 98279410, "ret": -1.72}, {"id": "v105", "ph": "88395429", "equity": 98222164, "ret": -1.78}, {"id": "v107", "ph": "be5cd36b", "equity": 98198994, "ret": -1.8}, {"id": "v301", "ph": "30da2021", "equity": 97988925, "ret": -2.01}, {"id": "v213", "ph": "0e1d8e45", "equity": 97972312, "ret": -2.03}, {"id": "v1", "ph": "4874f4c9", "equity": 97711838, "ret": -2.29}, {"id": "v47", "ph": "ed758fcf", "equity": 97704069, "ret": -2.3}, {"id": "v215", "ph": "a904a49d", "equity": 97701657, "ret": -2.3}, {"id": "v155", "ph": "31c0d84e", "equity": 97449295, "ret": -2.55}, {"id": "v318", "ph": "c99872ef", "equity": 97391096, "ret": -2.61}, {"id": "v147", "ph": "2fbeeedb", "equity": 97369471, "ret": -2.63}, {"id": "v149", "ph": "c5329f8d", "equity": 97369471, "ret": -2.63}, {"id": "v151", "ph": "2eb1dd06", "equity": 97369471, "ret": -2.63}, {"id": "v311", "ph": "8409c6e5", "equity": 96938905, "ret": -3.06}, {"id": "v303", "ph": "1a084164", "equity": 96838921, "ret": -3.16}, {"id": "v310", "ph": "ec9dd55c", "equity": 96814041, "ret": -3.19}, {"id": "v41", "ph": "e9d84e84", "equity": 96436419, "ret": -3.56}, {"id": "v40", "ph": "70731d89", "equity": 96034565, "ret": -3.97}, {"id": "v309", "ph": "07610040", "equity": 95970701, "ret": -4.03}, {"id": "v4", "ph": "b6219595", "equity": 95844101, "ret": -4.16}, {"id": "v312", "ph": "4c23846f", "equity": 94932436, "ret": -5.07}, {"id": "v296", "ph": "4c554378", "equity": 93944044, "ret": -6.06}, {"id": "v300", "ph": "c6ddc17b", "equity": 93694239, "ret": -6.31}, {"id": "v298", "ph": "5d4bbec0", "equity": 92024557, "ret": -7.98}, {"id": "v299", "ph": "25046b1a", "equity": 91806294, "ret": -8.19}], "20260629": [{"id": "v306", "ph": "6966b8f6", "equity": 100300459, "ret": 0.3}, {"id": "v321", "ph": "e82de49b", "equity": 100189547, "ret": 0.19}, {"id": "v308", "ph": "cb12dd0b", "equity": 99999961, "ret": -0.0}, {"id": "v314", "ph": "7511570e", "equity": 99813480, "ret": -0.19}, {"id": "v313", "ph": "b9f4ee72", "equity": 99730074, "ret": -0.27}, {"id": "v307", "ph": "6abce93d", "equity": 99697202, "ret": -0.3}, {"id": "v317", "ph": "51f8ee6d", "equity": 99696555, "ret": -0.3}, {"id": "v91", "ph": "5674a3d7", "equity": 99687191, "ret": -0.31}, {"id": "v81", "ph": "a6eac1e4", "equity": 99674451, "ret": -0.33}, {"id": "v95", "ph": "7e28e756", "equity": 99674451, "ret": -0.33}, {"id": "v315", "ph": "e6d5b283", "equity": 99654810, "ret": -0.35}, {"id": "v87", "ph": "c0be98c0", "equity": 99491935, "ret": -0.51}, {"id": "v93", "ph": "f10d4e45", "equity": 99491935, "ret": -0.51}, {"id": "v103", "ph": "75b0a37c", "equity": 99491935, "ret": -0.51}, {"id": "v197", "ph": "5c290a32", "equity": 99388275, "ret": -0.61}, {"id": "v205", "ph": "02e5a3f5", "equity": 99388275, "ret": -0.61}, {"id": "v99", "ph": "fb39409b", "equity": 99176503, "ret": -0.82}, {"id": "v101", "ph": "c4354346", "equity": 99176503, "ret": -0.82}, {"id": "v49", "ph": "cdba73e0", "equity": 99153680, "ret": -0.85}, {"id": "v51", "ph": "21a98e46", "equity": 99153680, "ret": -0.85}, {"id": "v195", "ph": "dd89cf59", "equity": 99143624, "ret": -0.86}, {"id": "v201", "ph": "cb8a413e", "equity": 99143624, "ret": -0.86}, {"id": "v211", "ph": "9227673c", "equity": 99143624, "ret": -0.86}, {"id": "v89", "ph": "c49d5680", "equity": 99133820, "ret": -0.87}, {"id": "v97", "ph": "ebf31977", "equity": 99133820, "ret": -0.87}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99083026, "ret": -0.92}, {"id": "v203", "ph": "2071defa", "equity": 99083026, "ret": -0.92}, {"id": "v199", "ph": "390bfab3", "equity": 99072842, "ret": -0.93}, {"id": "v207", "ph": "0f6601a0", "equity": 99072842, "ret": -0.93}, {"id": "v209", "ph": "8730802d", "equity": 99072842, "ret": -0.93}, {"id": "v319", "ph": "ca25f043", "equity": 99052498, "ret": -0.95}, {"id": "v105", "ph": "88395429", "equity": 99012940, "ret": -0.99}, {"id": "v107", "ph": "be5cd36b", "equity": 98985970, "ret": -1.01}, {"id": "v316", "ph": "8dc1d197", "equity": 98925942, "ret": -1.07}, {"id": "v304", "ph": "96c7e8e1", "equity": 98923153, "ret": -1.08}, {"id": "v213", "ph": "0e1d8e45", "equity": 98866788, "ret": -1.13}, {"id": "v320", "ph": "48d6a9ef", "equity": 98801732, "ret": -1.2}, {"id": "v305", "ph": "8cc4eea6", "equity": 98794030, "ret": -1.21}, {"id": "v57", "ph": "e7e98b6d", "equity": 98690308, "ret": -1.31}, {"id": "v59", "ph": "1858e2ec", "equity": 98690308, "ret": -1.31}, {"id": "v147", "ph": "2fbeeedb", "equity": 98693892, "ret": -1.31}, {"id": "v149", "ph": "c5329f8d", "equity": 98693892, "ret": -1.31}, {"id": "v151", "ph": "2eb1dd06", "equity": 98693892, "ret": -1.31}, {"id": "v215", "ph": "a904a49d", "equity": 98596133, "ret": -1.4}, {"id": "v161", "ph": "ed5677e6", "equity": 98587202, "ret": -1.41}, {"id": "v165", "ph": "8f862b27", "equity": 98587202, "ret": -1.41}, {"id": "v167", "ph": "b6d6aed8", "equity": 98587202, "ret": -1.41}, {"id": "v157", "ph": "80f3e23b", "equity": 98563364, "ret": -1.44}, {"id": "v159", "ph": "af80c67a", "equity": 98563364, "ret": -1.44}, {"id": "v302", "ph": "3f30502d", "equity": 98543843, "ret": -1.46}, {"id": "v47", "ph": "ed758fcf", "equity": 98490705, "ret": -1.51}, {"id": "v217", "ph": "4c547a61", "equity": 98406867, "ret": -1.59}, {"id": "v218", "ph": "7304d2d4", "equity": 98406867, "ret": -1.59}, {"id": "v155", "ph": "31c0d84e", "equity": 98342931, "ret": -1.66}, {"id": "v223", "ph": "b57356b8", "equity": 98334499, "ret": -1.67}, {"id": "v224", "ph": "888ab069", "equity": 98334499, "ret": -1.67}, {"id": "v229", "ph": "d9261dfb", "equity": 98334499, "ret": -1.67}, {"id": "v230", "ph": "141579fe", "equity": 98334499, "ret": -1.67}, {"id": "v235", "ph": "3e6c1666", "equity": 98334499, "ret": -1.67}, {"id": "v236", "ph": "f9c75560", "equity": 98334499, "ret": -1.67}, {"id": "v265", "ph": "7faed59d", "equity": 98334499, "ret": -1.67}, {"id": "v266", "ph": "c133b585", "equity": 98334499, "ret": -1.67}, {"id": "v271", "ph": "2b9ccdcd", "equity": 98334499, "ret": -1.67}, {"id": "v272", "ph": "2ed2027f", "equity": 98334499, "ret": -1.67}, {"id": "v277", "ph": "488b612a", "equity": 98334499, "ret": -1.67}, {"id": "v278", "ph": "861fb42b", "equity": 98334499, "ret": -1.67}, {"id": "v283", "ph": "479e4b25", "equity": 98334499, "ret": -1.67}, {"id": "v284", "ph": "261c5d58", "equity": 98334499, "ret": -1.67}, {"id": "v301", "ph": "30da2021", "equity": 97870675, "ret": -2.13}, {"id": "v41", "ph": "e9d84e84", "equity": 97642337, "ret": -2.36}, {"id": "v1", "ph": "4874f4c9", "equity": 97618226, "ret": -2.38}, {"id": "v4", "ph": "b6219595", "equity": 97133478, "ret": -2.87}, {"id": "v40", "ph": "70731d89", "equity": 97128027, "ret": -2.87}, {"id": "v303", "ph": "1a084164", "equity": 96941008, "ret": -3.06}, {"id": "v310", "ph": "ec9dd55c", "equity": 96874396, "ret": -3.13}, {"id": "v318", "ph": "c99872ef", "equity": 96778920, "ret": -3.22}, {"id": "v311", "ph": "8409c6e5", "equity": 96345178, "ret": -3.65}, {"id": "v309", "ph": "07610040", "equity": 95447771, "ret": -4.55}, {"id": "v300", "ph": "c6ddc17b", "equity": 94255949, "ret": -5.74}, {"id": "v296", "ph": "4c554378", "equity": 93871964, "ret": -6.13}, {"id": "v312", "ph": "4c23846f", "equity": 93604983, "ret": -6.4}, {"id": "v298", "ph": "5d4bbec0", "equity": 91385783, "ret": -8.61}, {"id": "v299", "ph": "25046b1a", "equity": 91015801, "ret": -8.98}], "20260630": [{"id": "v308", "ph": "cb12dd0b", "equity": 102469206, "ret": 2.47}, {"id": "v147", "ph": "2fbeeedb", "equity": 102192163, "ret": 2.19}, {"id": "v149", "ph": "c5329f8d", "equity": 102192163, "ret": 2.19}, {"id": "v151", "ph": "2eb1dd06", "equity": 102192163, "ret": 2.19}, {"id": "v306", "ph": "6966b8f6", "equity": 102132719, "ret": 2.13}, {"id": "v40", "ph": "70731d89", "equity": 101679673, "ret": 1.68}, {"id": "v321", "ph": "e82de49b", "equity": 101535047, "ret": 1.54}, {"id": "v41", "ph": "e9d84e84", "equity": 101160969, "ret": 1.16}, {"id": "v105", "ph": "88395429", "equity": 101130434, "ret": 1.13}, {"id": "v107", "ph": "be5cd36b", "equity": 101112564, "ret": 1.11}, {"id": "v87", "ph": "c0be98c0", "equity": 101073595, "ret": 1.07}, {"id": "v93", "ph": "f10d4e45", "equity": 101073595, "ret": 1.07}, {"id": "v103", "ph": "75b0a37c", "equity": 101073595, "ret": 1.07}, {"id": "v47", "ph": "ed758fcf", "equity": 100911006, "ret": 0.91}, {"id": "v4", "ph": "b6219595", "equity": 100843214, "ret": 0.84}, {"id": "v197", "ph": "5c290a32", "equity": 100829685, "ret": 0.83}, {"id": "v205", "ph": "02e5a3f5", "equity": 100829685, "ret": 0.83}, {"id": "v213", "ph": "0e1d8e45", "equity": 100832132, "ret": 0.83}, {"id": "v89", "ph": "c49d5680", "equity": 100713689, "ret": 0.71}, {"id": "v97", "ph": "ebf31977", "equity": 100713689, "ret": 0.71}, {"id": "v155", "ph": "31c0d84e", "equity": 100602732, "ret": 0.6}, {"id": "v195", "ph": "dd89cf59", "equity": 100586342, "ret": 0.59}, {"id": "v201", "ph": "cb8a413e", "equity": 100586342, "ret": 0.59}, {"id": "v211", "ph": "9227673c", "equity": 100586342, "ret": 0.59}, {"id": "v215", "ph": "a904a49d", "equity": 100561477, "ret": 0.56}, {"id": "v317", "ph": "51f8ee6d", "equity": 100498339, "ret": 0.5}, {"id": "v315", "ph": "e6d5b283", "equity": 100458935, "ret": 0.46}, {"id": "v314", "ph": "7511570e", "equity": 100173078, "ret": 0.17}, {"id": "v81", "ph": "a6eac1e4", "equity": 99935386, "ret": -0.06}, {"id": "v95", "ph": "7e28e756", "equity": 99935386, "ret": -0.06}, {"id": "v91", "ph": "5674a3d7", "equity": 99861051, "ret": -0.14}, {"id": "v307", "ph": "6abce93d", "equity": 99777709, "ret": -0.22}, {"id": "v305", "ph": "8cc4eea6", "equity": 99743065, "ret": -0.26}, {"id": "v313", "ph": "b9f4ee72", "equity": 99742527, "ret": -0.26}, {"id": "v49", "ph": "cdba73e0", "equity": 99721831, "ret": -0.28}, {"id": "v51", "ph": "21a98e46", "equity": 99721831, "ret": -0.28}, {"id": "v316", "ph": "8dc1d197", "equity": 99373992, "ret": -0.63}, {"id": "v302", "ph": "3f30502d", "equity": 99359071, "ret": -0.64}, {"id": "v99", "ph": "fb39409b", "equity": 99351671, "ret": -0.65}, {"id": "v101", "ph": "c4354346", "equity": 99351671, "ret": -0.65}, {"id": "v304", "ph": "96c7e8e1", "equity": 99275158, "ret": -0.72}, {"id": "v320", "ph": "48d6a9ef", "equity": 99264932, "ret": -0.74}, {"id": "v319", "ph": "ca25f043", "equity": 99228748, "ret": -0.77}, {"id": "v189", "ph": "dfdbd0c8", "equity": 99184020, "ret": -0.82}, {"id": "v203", "ph": "2071defa", "equity": 99184020, "ret": -0.82}, {"id": "v199", "ph": "390bfab3", "equity": 99107760, "ret": -0.89}, {"id": "v207", "ph": "0f6601a0", "equity": 99107760, "ret": -0.89}, {"id": "v209", "ph": "8730802d", "equity": 99107760, "ret": -0.89}, {"id": "v57", "ph": "e7e98b6d", "equity": 99089809, "ret": -0.91}, {"id": "v59", "ph": "1858e2ec", "equity": 99089809, "ret": -0.91}, {"id": "v157", "ph": "80f3e23b", "equity": 98971766, "ret": -1.03}, {"id": "v159", "ph": "af80c67a", "equity": 98971766, "ret": -1.03}, {"id": "v161", "ph": "ed5677e6", "equity": 98847202, "ret": -1.15}, {"id": "v165", "ph": "8f862b27", "equity": 98847202, "ret": -1.15}, {"id": "v167", "ph": "b6d6aed8", "equity": 98847202, "ret": -1.15}, {"id": "v311", "ph": "8409c6e5", "equity": 98788881, "ret": -1.21}, {"id": "v301", "ph": "30da2021", "equity": 98678112, "ret": -1.32}, {"id": "v1", "ph": "4874f4c9", "equity": 98537662, "ret": -1.46}, {"id": "v217", "ph": "4c547a61", "equity": 98541610, "ret": -1.46}, {"id": "v218", "ph": "7304d2d4", "equity": 98541610, "ret": -1.46}, {"id": "v309", "ph": "07610040", "equity": 98525429, "ret": -1.47}, {"id": "v310", "ph": "ec9dd55c", "equity": 98512835, "ret": -1.49}, {"id": "v223", "ph": "b57356b8", "equity": 98469242, "ret": -1.53}, {"id": "v224", "ph": "888ab069", "equity": 98469242, "ret": -1.53}, {"id": "v229", "ph": "d9261dfb", "equity": 98469242, "ret": -1.53}, {"id": "v230", "ph": "141579fe", "equity": 98469242, "ret": -1.53}, {"id": "v235", "ph": "3e6c1666", "equity": 98469242, "ret": -1.53}, {"id": "v236", "ph": "f9c75560", "equity": 98469242, "ret": -1.53}, {"id": "v265", "ph": "7faed59d", "equity": 98469242, "ret": -1.53}, {"id": "v266", "ph": "c133b585", "equity": 98469242, "ret": -1.53}, {"id": "v271", "ph": "2b9ccdcd", "equity": 98469242, "ret": -1.53}, {"id": "v272", "ph": "2ed2027f", "equity": 98469242, "ret": -1.53}, {"id": "v277", "ph": "488b612a", "equity": 98469242, "ret": -1.53}, {"id": "v278", "ph": "861fb42b", "equity": 98469242, "ret": -1.53}, {"id": "v283", "ph": "479e4b25", "equity": 98469242, "ret": -1.53}, {"id": "v284", "ph": "261c5d58", "equity": 98469242, "ret": -1.53}, {"id": "v318", "ph": "c99872ef", "equity": 97999020, "ret": -2.0}, {"id": "v303", "ph": "1a084164", "equity": 97258359, "ret": -2.74}, {"id": "v300", "ph": "c6ddc17b", "equity": 96532942, "ret": -3.47}, {"id": "v312", "ph": "4c23846f", "equity": 96196017, "ret": -3.8}, {"id": "v298", "ph": "5d4bbec0", "equity": 94827463, "ret": -5.17}, {"id": "v296", "ph": "4c554378", "equity": 94813548, "ret": -5.19}, {"id": "v299", "ph": "25046b1a", "equity": 93333201, "ret": -6.67}], "20260701": [{"id": "v308", "ph": "cb12dd0b", "equity": 101360932, "ret": 1.36}, {"id": "v306", "ph": "6966b8f6", "equity": 101023539, "ret": 1.02}, {"id": "v321", "ph": "e82de49b", "equity": 100836847, "ret": 0.84}, {"id": "v315", "ph": "e6d5b283", "equity": 100570300, "ret": 0.57}, {"id": "v314", "ph": "7511570e", "equity": 100059178, "ret": 0.06}, {"id": "v87", "ph": "c0be98c0", "equity": 99918552, "ret": -0.08}, {"id": "v93", "ph": "f10d4e45", "equity": 99918552, "ret": -0.08}, {"id": "v103", "ph": "75b0a37c", "equity": 99860630, "ret": -0.14}, {"id": "v317", "ph": "51f8ee6d", "equity": 99859195, "ret": -0.14}, {"id": "v81", "ph": "a6eac1e4", "equity": 99804200, "ret": -0.2}, {"id": "v95", "ph": "7e28e756", "equity": 99804200, "ret": -0.2}, {"id": "v91", "ph": "5674a3d7", "equity": 99732447, "ret": -0.27}, {"id": "v147", "ph": "2fbeeedb", "equity": 99693486, "ret": -0.31}, {"id": "v151", "ph": "2eb1dd06", "equity": 99693486, "ret": -0.31}, {"id": "v49", "ph": "cdba73e0", "equity": 99613131, "ret": -0.39}, {"id": "v51", "ph": "21a98e46", "equity": 99613131, "ret": -0.39}, {"id": "v197", "ph": "5c290a32", "equity": 99601051, "ret": -0.4}, {"id": "v149", "ph": "c5329f8d", "equity": 99575229, "ret": -0.42}, {"id": "v89", "ph": "c49d5680", "equity": 99567185, "ret": -0.43}, {"id": "v105", "ph": "88395429", "equity": 99565829, "ret": -0.43}, {"id": "v107", "ph": "be5cd36b", "equity": 99546459, "ret": -0.45}, {"id": "v205", "ph": "02e5a3f5", "equity": 99543130, "ret": -0.46}, {"id": "v97", "ph": "ebf31977", "equity": 99509263, "ret": -0.49}, {"id": "v195", "ph": "dd89cf59", "equity": 99462748, "ret": -0.54}, {"id": "v201", "ph": "cb8a413e", "equity": 99462748, "ret": -0.54}, {"id": "v211", "ph": "9227673c", "equity": 99404827, "ret": -0.6}, {"id": "v47", "ph": "ed758fcf", "equity": 99370627, "ret": -0.63}, {"id": "v99", "ph": "fb39409b", "equity": 99226467, "ret": -0.77}, {"id": "v101", "ph": "c4354346", "equity": 99226467, "ret": -0.77}, {"id": "v213", "ph": "0e1d8e45", "equity": 99196638, "ret": -0.8}, {"id": "v302", "ph": "3f30502d", "equity": 99089671, "ret": -0.91}, {"id": "v40", "ph": "70731d89", "equity": 99078373, "ret": -0.92}, {"id": "v313", "ph": "b9f4ee72", "equity": 99063825, "ret": -0.94}, {"id": "v215", "ph": "a904a49d", "equity": 99027622, "ret": -0.97}, {"id": "v207", "ph": "0f6601a0", "equity": 99015662, "ret": -0.98}, {"id": "v209", "ph": "8730802d", "equity": 99015662, "ret": -0.98}, {"id": "v155", "ph": "31c0d84e", "equity": 98992814, "ret": -1.01}, {"id": "v189", "ph": "dfdbd0c8", "equity": 98988762, "ret": -1.01}, {"id": "v203", "ph": "2071defa", "equity": 98988762, "ret": -1.01}, {"id": "v57", "ph": "e7e98b6d", "equity": 98982309, "ret": -1.02}, {"id": "v59", "ph": "1858e2ec", "equity": 98982309, "ret": -1.02}, {"id": "v199", "ph": "390bfab3", "equity": 98915940, "ret": -1.08}, {"id": "v307", "ph": "6abce93d", "equity": 98890484, "ret": -1.11}, {"id": "v319", "ph": "ca25f043", "equity": 98830572, "ret": -1.17}, {"id": "v157", "ph": "80f3e23b", "equity": 98795294, "ret": -1.2}, {"id": "v159", "ph": "af80c67a", "equity": 98795294, "ret": -1.2}, {"id": "v161", "ph": "ed5677e6", "equity": 98767602, "ret": -1.23}, {"id": "v165", "ph": "8f862b27", "equity": 98767602, "ret": -1.23}, {"id": "v167", "ph": "b6d6aed8", "equity": 98767602, "ret": -1.23}, {"id": "v316", "ph": "8dc1d197", "equity": 98752327, "ret": -1.25}, {"id": "v41", "ph": "e9d84e84", "equity": 98699639, "ret": -1.3}, {"id": "v305", "ph": "8cc4eea6", "equity": 98581531, "ret": -1.42}, {"id": "v304", "ph": "96c7e8e1", "equity": 98559814, "ret": -1.44}, {"id": "v320", "ph": "48d6a9ef", "equity": 98556948, "ret": -1.44}, {"id": "v4", "ph": "b6219595", "equity": 98505594, "ret": -1.49}, {"id": "v301", "ph": "30da2021", "equity": 98413612, "ret": -1.59}, {"id": "v1", "ph": "4874f4c9", "equity": 98294162, "ret": -1.71}, {"id": "v310", "ph": "ec9dd55c", "equity": 97841463, "ret": -2.16}, {"id": "v217", "ph": "4c547a61", "equity": 97681778, "ret": -2.32}, {"id": "v218", "ph": "7304d2d4", "equity": 97681778, "ret": -2.32}, {"id": "v223", "ph": "b57356b8", "equity": 97609410, "ret": -2.39}, {"id": "v224", "ph": "888ab069", "equity": 97609410, "ret": -2.39}, {"id": "v229", "ph": "d9261dfb", "equity": 97609410, "ret": -2.39}, {"id": "v230", "ph": "141579fe", "equity": 97609410, "ret": -2.39}, {"id": "v235", "ph": "3e6c1666", "equity": 97609410, "ret": -2.39}, {"id": "v236", "ph": "f9c75560", "equity": 97609410, "ret": -2.39}, {"id": "v265", "ph": "7faed59d", "equity": 97609410, "ret": -2.39}, {"id": "v266", "ph": "c133b585", "equity": 97609410, "ret": -2.39}, {"id": "v271", "ph": "2b9ccdcd", "equity": 97609410, "ret": -2.39}, {"id": "v272", "ph": "2ed2027f", "equity": 97609410, "ret": -2.39}, {"id": "v277", "ph": "488b612a", "equity": 97609410, "ret": -2.39}, {"id": "v278", "ph": "861fb42b", "equity": 97609410, "ret": -2.39}, {"id": "v283", "ph": "479e4b25", "equity": 97609410, "ret": -2.39}, {"id": "v284", "ph": "261c5d58", "equity": 97609410, "ret": -2.39}, {"id": "v309", "ph": "07610040", "equity": 97561429, "ret": -2.44}, {"id": "v311", "ph": "8409c6e5", "equity": 97339411, "ret": -2.66}, {"id": "v318", "ph": "c99872ef", "equity": 96866665, "ret": -3.13}, {"id": "v303", "ph": "1a084164", "equity": 96567001, "ret": -3.43}, {"id": "v312", "ph": "4c23846f", "equity": 94754537, "ret": -5.25}, {"id": "v300", "ph": "c6ddc17b", "equity": 93711266, "ret": -6.29}, {"id": "v296", "ph": "4c554378", "equity": 93238208, "ret": -6.76}, {"id": "v298", "ph": "5d4bbec0", "equity": 91885138, "ret": -8.11}, {"id": "v299", "ph": "25046b1a", "equity": 90740541, "ret": -9.26}], "20260702": [{"id": "v321", "ph": "e82de49b", "equity": 98791447, "ret": -1.21}, {"id": "v319", "ph": "ca25f043", "equity": 98585872, "ret": -1.41}, {"id": "v313", "ph": "b9f4ee72", "equity": 98254344, "ret": -1.75}, {"id": "v317", "ph": "51f8ee6d", "equity": 98083547, "ret": -1.92}, {"id": "v316", "ph": "8dc1d197", "equity": 97958697, "ret": -2.04}, {"id": "v306", "ph": "6966b8f6", "equity": 97799665, "ret": -2.2}, {"id": "v320", "ph": "48d6a9ef", "equity": 97726108, "ret": -2.27}, {"id": "v314", "ph": "7511570e", "equity": 97620794, "ret": -2.38}, {"id": "v307", "ph": "6abce93d", "equity": 97389674, "ret": -2.61}, {"id": "v205", "ph": "02e5a3f5", "equity": 97246999, "ret": -2.75}, {"id": "v91", "ph": "5674a3d7", "equity": 97234833, "ret": -2.77}, {"id": "v81", "ph": "a6eac1e4", "equity": 96929027, "ret": -3.07}, {"id": "v95", "ph": "7e28e756", "equity": 96929027, "ret": -3.07}, {"id": "v99", "ph": "fb39409b", "equity": 96779933, "ret": -3.22}, {"id": "v101", "ph": "c4354346", "equity": 96779933, "ret": -3.22}, {"id": "v49", "ph": "cdba73e0", "equity": 96739834, "ret": -3.26}, {"id": "v51", "ph": "21a98e46", "equity": 96739834, "ret": -3.26}, {"id": "v199", "ph": "390bfab3", "equity": 96631456, "ret": -3.37}, {"id": "v304", "ph": "96c7e8e1", "equity": 96611170, "ret": -3.39}, {"id": "v197", "ph": "5c290a32", "equity": 96566014, "ret": -3.43}, {"id": "v207", "ph": "0f6601a0", "equity": 96572081, "ret": -3.43}, {"id": "v209", "ph": "8730802d", "equity": 96572081, "ret": -3.43}, {"id": "v57", "ph": "e7e98b6d", "equity": 96539505, "ret": -3.46}, {"id": "v59", "ph": "1858e2ec", "equity": 96539505, "ret": -3.46}, {"id": "v103", "ph": "75b0a37c", "equity": 96385631, "ret": -3.61}, {"id": "v161", "ph": "ed5677e6", "equity": 96318491, "ret": -3.68}, {"id": "v165", "ph": "8f862b27", "equity": 96318491, "ret": -3.68}, {"id": "v167", "ph": "b6d6aed8", "equity": 96318491, "ret": -3.68}, {"id": "v315", "ph": "e6d5b283", "equity": 96255988, "ret": -3.74}, {"id": "v195", "ph": "dd89cf59", "equity": 96182658, "ret": -3.82}, {"id": "v201", "ph": "cb8a413e", "equity": 96182658, "ret": -3.82}, {"id": "v189", "ph": "dfdbd0c8", "equity": 96136966, "ret": -3.86}, {"id": "v203", "ph": "2071defa", "equity": 96136966, "ret": -3.86}, {"id": "v217", "ph": "4c547a61", "equity": 96094928, "ret": -3.91}, {"id": "v218", "ph": "7304d2d4", "equity": 96094928, "ret": -3.91}, {"id": "v305", "ph": "8cc4eea6", "equity": 96059397, "ret": -3.94}, {"id": "v308", "ph": "cb12dd0b", "equity": 96046199, "ret": -3.95}, {"id": "v223", "ph": "b57356b8", "equity": 96022560, "ret": -3.98}, {"id": "v224", "ph": "888ab069", "equity": 96022560, "ret": -3.98}, {"id": "v229", "ph": "d9261dfb", "equity": 96022560, "ret": -3.98}, {"id": "v230", "ph": "141579fe", "equity": 96022560, "ret": -3.98}, {"id": "v235", "ph": "3e6c1666", "equity": 96022560, "ret": -3.98}, {"id": "v236", "ph": "f9c75560", "equity": 96022560, "ret": -3.98}, {"id": "v265", "ph": "7faed59d", "equity": 96022560, "ret": -3.98}, {"id": "v266", "ph": "c133b585", "equity": 96022560, "ret": -3.98}, {"id": "v271", "ph": "2b9ccdcd", "equity": 96022560, "ret": -3.98}, {"id": "v272", "ph": "2ed2027f", "equity": 96022560, "ret": -3.98}, {"id": "v277", "ph": "488b612a", "equity": 96022560, "ret": -3.98}, {"id": "v278", "ph": "861fb42b", "equity": 96022560, "ret": -3.98}, {"id": "v283", "ph": "479e4b25", "equity": 96022560, "ret": -3.98}, {"id": "v284", "ph": "261c5d58", "equity": 96022560, "ret": -3.98}, {"id": "v97", "ph": "ebf31977", "equity": 95995095, "ret": -4.0}, {"id": "v157", "ph": "80f3e23b", "equity": 95937374, "ret": -4.06}, {"id": "v159", "ph": "af80c67a", "equity": 95937374, "ret": -4.06}, {"id": "v211", "ph": "9227673c", "equity": 95933695, "ret": -4.07}, {"id": "v87", "ph": "c0be98c0", "equity": 95582492, "ret": -4.42}, {"id": "v93", "ph": "f10d4e45", "equity": 95582492, "ret": -4.42}, {"id": "v302", "ph": "3f30502d", "equity": 95445187, "ret": -4.55}, {"id": "v105", "ph": "88395429", "equity": 95443794, "ret": -4.56}, {"id": "v107", "ph": "be5cd36b", "equity": 95420371, "ret": -4.58}, {"id": "v47", "ph": "ed758fcf", "equity": 95248102, "ret": -4.75}, {"id": "v89", "ph": "c49d5680", "equity": 95191756, "ret": -4.81}, {"id": "v213", "ph": "0e1d8e45", "equity": 95032623, "ret": -4.97}, {"id": "v303", "ph": "1a084164", "equity": 94973975, "ret": -5.03}, {"id": "v301", "ph": "30da2021", "equity": 94918817, "ret": -5.08}, {"id": "v155", "ph": "31c0d84e", "equity": 94884928, "ret": -5.12}, {"id": "v149", "ph": "c5329f8d", "equity": 94835485, "ret": -5.16}, {"id": "v215", "ph": "a904a49d", "equity": 94714687, "ret": -5.29}, {"id": "v310", "ph": "ec9dd55c", "equity": 94667951, "ret": -5.33}, {"id": "v1", "ph": "4874f4c9", "equity": 94529504, "ret": -5.47}, {"id": "v318", "ph": "c99872ef", "equity": 94498663, "ret": -5.5}, {"id": "v147", "ph": "2fbeeedb", "equity": 93309835, "ret": -6.69}, {"id": "v151", "ph": "2eb1dd06", "equity": 93309835, "ret": -6.69}, {"id": "v41", "ph": "e9d84e84", "equity": 92888798, "ret": -7.11}, {"id": "v309", "ph": "07610040", "equity": 92000675, "ret": -8.0}, {"id": "v311", "ph": "8409c6e5", "equity": 91855356, "ret": -8.14}, {"id": "v4", "ph": "b6219595", "equity": 91060410, "ret": -8.94}, {"id": "v40", "ph": "70731d89", "equity": 90588484, "ret": -9.41}, {"id": "v312", "ph": "4c23846f", "equity": 90083317, "ret": -9.92}, {"id": "v296", "ph": "4c554378", "equity": 89998698, "ret": -10.0}, {"id": "v300", "ph": "c6ddc17b", "equity": 85532266, "ret": -14.47}, {"id": "v299", "ph": "25046b1a", "equity": 84271313, "ret": -15.73}, {"id": "v298", "ph": "5d4bbec0", "equity": 84062899, "ret": -15.94}], "20260703": [{"id": "v319", "ph": "ca25f043", "equity": 98425166, "ret": -1.57}, {"id": "v321", "ph": "e82de49b", "equity": 98254043, "ret": -1.75}, {"id": "v313", "ph": "b9f4ee72", "equity": 98201465, "ret": -1.8}, {"id": "v316", "ph": "8dc1d197", "equity": 97685295, "ret": -2.31}, {"id": "v317", "ph": "51f8ee6d", "equity": 97525130, "ret": -2.47}, {"id": "v320", "ph": "48d6a9ef", "equity": 97485037, "ret": -2.51}, {"id": "v314", "ph": "7511570e", "equity": 97275856, "ret": -2.72}, {"id": "v307", "ph": "6abce93d", "equity": 97013909, "ret": -2.99}, {"id": "v205", "ph": "02e5a3f5", "equity": 96883635, "ret": -3.12}, {"id": "v91", "ph": "5674a3d7", "equity": 96607445, "ret": -3.39}, {"id": "v306", "ph": "6966b8f6", "equity": 96557673, "ret": -3.44}, {"id": "v199", "ph": "390bfab3", "equity": 96554368, "ret": -3.45}, {"id": "v304", "ph": "96c7e8e1", "equity": 96441037, "ret": -3.56}, {"id": "v197", "ph": "5c290a32", "equity": 96399937, "ret": -3.6}, {"id": "v99", "ph": "fb39409b", "equity": 96145358, "ret": -3.85}, {"id": "v101", "ph": "c4354346", "equity": 96145358, "ret": -3.85}, {"id": "v207", "ph": "0f6601a0", "equity": 96048256, "ret": -3.95}, {"id": "v209", "ph": "8730802d", "equity": 96048256, "ret": -3.95}, {"id": "v57", "ph": "e7e98b6d", "equity": 95904930, "ret": -4.1}, {"id": "v59", "ph": "1858e2ec", "equity": 95904930, "ret": -4.1}, {"id": "v315", "ph": "e6d5b283", "equity": 95877764, "ret": -4.12}, {"id": "v103", "ph": "75b0a37c", "equity": 95790009, "ret": -4.21}, {"id": "v161", "ph": "ed5677e6", "equity": 95776078, "ret": -4.22}, {"id": "v165", "ph": "8f862b27", "equity": 95776078, "ret": -4.22}, {"id": "v167", "ph": "b6d6aed8", "equity": 95776078, "ret": -4.22}, {"id": "v49", "ph": "cdba73e0", "equity": 95750950, "ret": -4.25}, {"id": "v51", "ph": "21a98e46", "equity": 95750950, "ret": -4.25}, {"id": "v195", "ph": "dd89cf59", "equity": 95673198, "ret": -4.33}, {"id": "v201", "ph": "cb8a413e", "equity": 95673198, "ret": -4.33}, {"id": "v217", "ph": "4c547a61", "equity": 95667983, "ret": -4.33}, {"id": "v218", "ph": "7304d2d4", "equity": 95667983, "ret": -4.33}, {"id": "v81", "ph": "a6eac1e4", "equity": 95606729, "ret": -4.39}, {"id": "v95", "ph": "7e28e756", "equity": 95606729, "ret": -4.39}, {"id": "v223", "ph": "b57356b8", "equity": 95595615, "ret": -4.4}, {"id": "v224", "ph": "888ab069", "equity": 95595615, "ret": -4.4}, {"id": "v229", "ph": "d9261dfb", "equity": 95595615, "ret": -4.4}, {"id": "v230", "ph": "141579fe", "equity": 95595615, "ret": -4.4}, {"id": "v235", "ph": "3e6c1666", "equity": 95595615, "ret": -4.4}, {"id": "v236", "ph": "f9c75560", "equity": 95595615, "ret": -4.4}, {"id": "v265", "ph": "7faed59d", "equity": 95595615, "ret": -4.4}, {"id": "v266", "ph": "c133b585", "equity": 95595615, "ret": -4.4}, {"id": "v271", "ph": "2b9ccdcd", "equity": 95595615, "ret": -4.4}, {"id": "v272", "ph": "2ed2027f", "equity": 95595615, "ret": -4.4}, {"id": "v277", "ph": "488b612a", "equity": 95595615, "ret": -4.4}, {"id": "v278", "ph": "861fb42b", "equity": 95595615, "ret": -4.4}, {"id": "v283", "ph": "479e4b25", "equity": 95595615, "ret": -4.4}, {"id": "v284", "ph": "261c5d58", "equity": 95595615, "ret": -4.4}, {"id": "v305", "ph": "8cc4eea6", "equity": 95541925, "ret": -4.46}, {"id": "v211", "ph": "9227673c", "equity": 95426636, "ret": -4.57}, {"id": "v157", "ph": "80f3e23b", "equity": 95415410, "ret": -4.58}, {"id": "v159", "ph": "af80c67a", "equity": 95415410, "ret": -4.58}, {"id": "v189", "ph": "dfdbd0c8", "equity": 95279466, "ret": -4.72}, {"id": "v203", "ph": "2071defa", "equity": 95279466, "ret": -4.72}, {"id": "v97", "ph": "ebf31977", "equity": 95090844, "ret": -4.91}, {"id": "v87", "ph": "c0be98c0", "equity": 94984959, "ret": -5.02}, {"id": "v93", "ph": "f10d4e45", "equity": 94984959, "ret": -5.02}, {"id": "v308", "ph": "cb12dd0b", "equity": 94777607, "ret": -5.22}, {"id": "v302", "ph": "3f30502d", "equity": 94528879, "ret": -5.47}, {"id": "v303", "ph": "1a084164", "equity": 94528920, "ret": -5.47}, {"id": "v310", "ph": "ec9dd55c", "equity": 94363260, "ret": -5.64}, {"id": "v107", "ph": "be5cd36b", "equity": 94341505, "ret": -5.66}, {"id": "v89", "ph": "c49d5680", "equity": 94285756, "ret": -5.71}, {"id": "v155", "ph": "31c0d84e", "equity": 94292507, "ret": -5.71}, {"id": "v47", "ph": "ed758fcf", "equity": 94188860, "ret": -5.81}, {"id": "v213", "ph": "0e1d8e45", "equity": 94106686, "ret": -5.89}, {"id": "v105", "ph": "88395429", "equity": 94051138, "ret": -5.95}, {"id": "v301", "ph": "30da2021", "equity": 94001763, "ret": -6.0}, {"id": "v149", "ph": "c5329f8d", "equity": 93961371, "ret": -6.04}, {"id": "v318", "ph": "c99872ef", "equity": 93732003, "ret": -6.27}, {"id": "v215", "ph": "a904a49d", "equity": 93655835, "ret": -6.34}, {"id": "v1", "ph": "4874f4c9", "equity": 93473178, "ret": -6.53}, {"id": "v147", "ph": "2fbeeedb", "equity": 92615293, "ret": -7.38}, {"id": "v151", "ph": "2eb1dd06", "equity": 92615293, "ret": -7.38}, {"id": "v309", "ph": "07610040", "equity": 91881104, "ret": -8.12}, {"id": "v41", "ph": "e9d84e84", "equity": 91480991, "ret": -8.52}, {"id": "v311", "ph": "8409c6e5", "equity": 91180769, "ret": -8.82}, {"id": "v312", "ph": "4c23846f", "equity": 89938849, "ret": -10.06}, {"id": "v296", "ph": "4c554378", "equity": 89823803, "ret": -10.18}, {"id": "v4", "ph": "b6219595", "equity": 89703610, "ret": -10.3}, {"id": "v40", "ph": "70731d89", "equity": 89146216, "ret": -10.85}, {"id": "v300", "ph": "c6ddc17b", "equity": 84388306, "ret": -15.61}, {"id": "v298", "ph": "5d4bbec0", "equity": 83997991, "ret": -16.0}, {"id": "v299", "ph": "25046b1a", "equity": 83603796, "ret": -16.4}], "20260706": [{"id": "v319", "ph": "ca25f043", "equity": 98197566, "ret": -1.8}, {"id": "v313", "ph": "b9f4ee72", "equity": 97603564, "ret": -2.4}, {"id": "v316", "ph": "8dc1d197", "equity": 97234734, "ret": -2.77}, {"id": "v321", "ph": "e82de49b", "equity": 97144508, "ret": -2.86}, {"id": "v317", "ph": "51f8ee6d", "equity": 96840895, "ret": -3.16}, {"id": "v320", "ph": "48d6a9ef", "equity": 96760128, "ret": -3.24}, {"id": "v307", "ph": "6abce93d", "equity": 96230218, "ret": -3.77}, {"id": "v314", "ph": "7511570e", "equity": 95751362, "ret": -4.25}, {"id": "v205", "ph": "02e5a3f5", "equity": 95544491, "ret": -4.46}, {"id": "v91", "ph": "5674a3d7", "equity": 95510977, "ret": -4.49}, {"id": "v199", "ph": "390bfab3", "equity": 95397379, "ret": -4.6}, {"id": "v304", "ph": "96c7e8e1", "equity": 95339874, "ret": -4.66}, {"id": "v99", "ph": "fb39409b", "equity": 95236824, "ret": -4.76}, {"id": "v101", "ph": "c4354346", "equity": 95236824, "ret": -4.76}, {"id": "v207", "ph": "0f6601a0", "equity": 95075567, "ret": -4.92}, {"id": "v209", "ph": "8730802d", "equity": 95075567, "ret": -4.92}, {"id": "v81", "ph": "a6eac1e4", "equity": 95007002, "ret": -4.99}, {"id": "v95", "ph": "7e28e756", "equity": 95007002, "ret": -4.99}, {"id": "v197", "ph": "5c290a32", "equity": 94741409, "ret": -5.26}, {"id": "v57", "ph": "e7e98b6d", "equity": 94699077, "ret": -5.3}, {"id": "v59", "ph": "1858e2ec", "equity": 94699077, "ret": -5.3}, {"id": "v103", "ph": "75b0a37c", "equity": 94668122, "ret": -5.33}, {"id": "v306", "ph": "6966b8f6", "equity": 94605287, "ret": -5.39}, {"id": "v161", "ph": "ed5677e6", "equity": 94496826, "ret": -5.5}, {"id": "v165", "ph": "8f862b27", "equity": 94496826, "ret": -5.5}, {"id": "v167", "ph": "b6d6aed8", "equity": 94496826, "ret": -5.5}, {"id": "v189", "ph": "dfdbd0c8", "equity": 94488662, "ret": -5.51}, {"id": "v203", "ph": "2071defa", "equity": 94488662, "ret": -5.51}, {"id": "v217", "ph": "4c547a61", "equity": 94426233, "ret": -5.57}, {"id": "v218", "ph": "7304d2d4", "equity": 94426233, "ret": -5.57}, {"id": "v49", "ph": "cdba73e0", "equity": 94406113, "ret": -5.59}, {"id": "v51", "ph": "21a98e46", "equity": 94406113, "ret": -5.59}, {"id": "v223", "ph": "b57356b8", "equity": 94355882, "ret": -5.64}, {"id": "v224", "ph": "888ab069", "equity": 94355882, "ret": -5.64}, {"id": "v229", "ph": "d9261dfb", "equity": 94355882, "ret": -5.64}, {"id": "v230", "ph": "141579fe", "equity": 94355882, "ret": -5.64}, {"id": "v235", "ph": "3e6c1666", "equity": 94355882, "ret": -5.64}, {"id": "v236", "ph": "f9c75560", "equity": 94355882, "ret": -5.64}, {"id": "v265", "ph": "7faed59d", "equity": 94355882, "ret": -5.64}, {"id": "v266", "ph": "c133b585", "equity": 94355882, "ret": -5.64}, {"id": "v271", "ph": "2b9ccdcd", "equity": 94355882, "ret": -5.64}, {"id": "v272", "ph": "2ed2027f", "equity": 94355882, "ret": -5.64}, {"id": "v277", "ph": "488b612a", "equity": 94355882, "ret": -5.64}, {"id": "v278", "ph": "861fb42b", "equity": 94355882, "ret": -5.64}, {"id": "v283", "ph": "479e4b25", "equity": 94355882, "ret": -5.64}, {"id": "v284", "ph": "261c5d58", "equity": 94355882, "ret": -5.64}, {"id": "v211", "ph": "9227673c", "equity": 94235871, "ret": -5.76}, {"id": "v305", "ph": "8cc4eea6", "equity": 94224669, "ret": -5.78}, {"id": "v195", "ph": "dd89cf59", "equity": 94212019, "ret": -5.79}, {"id": "v201", "ph": "cb8a413e", "equity": 94212019, "ret": -5.79}, {"id": "v157", "ph": "80f3e23b", "equity": 93957691, "ret": -6.04}, {"id": "v159", "ph": "af80c67a", "equity": 93957691, "ret": -6.04}, {"id": "v310", "ph": "ec9dd55c", "equity": 93938789, "ret": -6.06}, {"id": "v107", "ph": "be5cd36b", "equity": 93866495, "ret": -6.13}, {"id": "v97", "ph": "ebf31977", "equity": 93770220, "ret": -6.23}, {"id": "v315", "ph": "e6d5b283", "equity": 93711754, "ret": -6.29}, {"id": "v87", "ph": "c0be98c0", "equity": 93450916, "ret": -6.55}, {"id": "v93", "ph": "f10d4e45", "equity": 93450916, "ret": -6.55}, {"id": "v303", "ph": "1a084164", "equity": 93378687, "ret": -6.62}, {"id": "v105", "ph": "88395429", "equity": 93223229, "ret": -6.78}, {"id": "v213", "ph": "0e1d8e45", "equity": 93085970, "ret": -6.91}, {"id": "v215", "ph": "a904a49d", "equity": 92982818, "ret": -7.02}, {"id": "v308", "ph": "cb12dd0b", "equity": 92964903, "ret": -7.04}, {"id": "v318", "ph": "c99872ef", "equity": 92867651, "ret": -7.13}, {"id": "v47", "ph": "ed758fcf", "equity": 92618653, "ret": -7.38}, {"id": "v155", "ph": "31c0d84e", "equity": 92607149, "ret": -7.39}, {"id": "v302", "ph": "3f30502d", "equity": 92518208, "ret": -7.48}, {"id": "v89", "ph": "c49d5680", "equity": 92511480, "ret": -7.49}, {"id": "v301", "ph": "30da2021", "equity": 92319361, "ret": -7.68}, {"id": "v1", "ph": "4874f4c9", "equity": 91573111, "ret": -8.43}, {"id": "v149", "ph": "c5329f8d", "equity": 91557578, "ret": -8.44}, {"id": "v147", "ph": "2fbeeedb", "equity": 89660568, "ret": -10.34}, {"id": "v151", "ph": "2eb1dd06", "equity": 89660568, "ret": -10.34}, {"id": "v309", "ph": "07610040", "equity": 89431315, "ret": -10.57}, {"id": "v311", "ph": "8409c6e5", "equity": 89401928, "ret": -10.6}, {"id": "v296", "ph": "4c554378", "equity": 89247261, "ret": -10.75}, {"id": "v41", "ph": "e9d84e84", "equity": 88846484, "ret": -11.15}, {"id": "v312", "ph": "4c23846f", "equity": 88019396, "ret": -11.98}, {"id": "v4", "ph": "b6219595", "equity": 86554007, "ret": -13.45}, {"id": "v40", "ph": "70731d89", "equity": 85831302, "ret": -14.17}, {"id": "v300", "ph": "c6ddc17b", "equity": 82944532, "ret": -17.06}, {"id": "v298", "ph": "5d4bbec0", "equity": 81095511, "ret": -18.9}, {"id": "v299", "ph": "25046b1a", "equity": 80278493, "ret": -19.72}], "20260707": [{"id": "v319", "ph": "ca25f043", "equity": 98693670, "ret": -1.31}, {"id": "v316", "ph": "8dc1d197", "equity": 98305505, "ret": -1.69}, {"id": "v313", "ph": "b9f4ee72", "equity": 98262263, "ret": -1.74}, {"id": "v320", "ph": "48d6a9ef", "equity": 98247893, "ret": -1.75}, {"id": "v317", "ph": "51f8ee6d", "equity": 97707033, "ret": -2.29}, {"id": "v314", "ph": "7511570e", "equity": 97509493, "ret": -2.49}, {"id": "v91", "ph": "5674a3d7", "equity": 97333001, "ret": -2.67}, {"id": "v199", "ph": "390bfab3", "equity": 97277991, "ret": -2.72}, {"id": "v321", "ph": "e82de49b", "equity": 97253215, "ret": -2.75}, {"id": "v81", "ph": "a6eac1e4", "equity": 97049213, "ret": -2.95}, {"id": "v95", "ph": "7e28e756", "equity": 97050436, "ret": -2.95}, {"id": "v306", "ph": "6966b8f6", "equity": 96847146, "ret": -3.15}, {"id": "v307", "ph": "6abce93d", "equity": 96696164, "ret": -3.3}, {"id": "v189", "ph": "dfdbd0c8", "equity": 96556561, "ret": -3.44}, {"id": "v203", "ph": "2071defa", "equity": 96557781, "ret": -3.44}, {"id": "v99", "ph": "fb39409b", "equity": 96461789, "ret": -3.54}, {"id": "v101", "ph": "c4354346", "equity": 96462037, "ret": -3.54}, {"id": "v205", "ph": "02e5a3f5", "equity": 96453452, "ret": -3.55}, {"id": "v304", "ph": "96c7e8e1", "equity": 96428577, "ret": -3.57}, {"id": "v305", "ph": "8cc4eea6", "equity": 96418011, "ret": -3.58}, {"id": "v103", "ph": "75b0a37c", "equity": 96298247, "ret": -3.7}, {"id": "v49", "ph": "cdba73e0", "equity": 96002579, "ret": -4.0}, {"id": "v51", "ph": "21a98e46", "equity": 96001353, "ret": -4.0}, {"id": "v107", "ph": "be5cd36b", "equity": 95993990, "ret": -4.01}, {"id": "v197", "ph": "5c290a32", "equity": 95968207, "ret": -4.03}, {"id": "v302", "ph": "3f30502d", "equity": 95614631, "ret": -4.39}, {"id": "v157", "ph": "80f3e23b", "equity": 95569082, "ret": -4.43}, {"id": "v159", "ph": "af80c67a", "equity": 95567859, "ret": -4.43}, {"id": "v57", "ph": "e7e98b6d", "equity": 95554443, "ret": -4.45}, {"id": "v59", "ph": "1858e2ec", "equity": 95554690, "ret": -4.45}, {"id": "v207", "ph": "0f6601a0", "equity": 95525632, "ret": -4.47}, {"id": "v209", "ph": "8730802d", "equity": 95525880, "ret": -4.47}, {"id": "v217", "ph": "4c547a61", "equity": 95450761, "ret": -4.55}, {"id": "v218", "ph": "7304d2d4", "equity": 95450761, "ret": -4.55}, {"id": "v223", "ph": "b57356b8", "equity": 95388809, "ret": -4.61}, {"id": "v224", "ph": "888ab069", "equity": 95388809, "ret": -4.61}, {"id": "v229", "ph": "d9261dfb", "equity": 95388809, "ret": -4.61}, {"id": "v230", "ph": "141579fe", "equity": 95388809, "ret": -4.61}, {"id": "v235", "ph": "3e6c1666", "equity": 95388809, "ret": -4.61}, {"id": "v236", "ph": "f9c75560", "equity": 95388809, "ret": -4.61}, {"id": "v265", "ph": "7faed59d", "equity": 95388809, "ret": -4.61}, {"id": "v266", "ph": "c133b585", "equity": 95388809, "ret": -4.61}, {"id": "v271", "ph": "2b9ccdcd", "equity": 95388809, "ret": -4.61}, {"id": "v272", "ph": "2ed2027f", "equity": 95388809, "ret": -4.61}, {"id": "v277", "ph": "488b612a", "equity": 95388809, "ret": -4.61}, {"id": "v278", "ph": "861fb42b", "equity": 95388809, "ret": -4.61}, {"id": "v283", "ph": "479e4b25", "equity": 95388809, "ret": -4.61}, {"id": "v284", "ph": "261c5d58", "equity": 95388809, "ret": -4.61}, {"id": "v105", "ph": "88395429", "equity": 95282295, "ret": -4.72}, {"id": "v87", "ph": "c0be98c0", "equity": 95222534, "ret": -4.78}, {"id": "v93", "ph": "f10d4e45", "equity": 95222534, "ret": -4.78}, {"id": "v195", "ph": "dd89cf59", "equity": 95180923, "ret": -4.82}, {"id": "v201", "ph": "cb8a413e", "equity": 95180923, "ret": -4.82}, {"id": "v213", "ph": "0e1d8e45", "equity": 95176202, "ret": -4.82}, {"id": "v211", "ph": "9227673c", "equity": 95089597, "ret": -4.91}, {"id": "v308", "ph": "cb12dd0b", "equity": 94879582, "ret": -5.12}, {"id": "v303", "ph": "1a084164", "equity": 94738991, "ret": -5.26}, {"id": "v97", "ph": "ebf31977", "equity": 94655179, "ret": -5.34}, {"id": "v161", "ph": "ed5677e6", "equity": 94577324, "ret": -5.42}, {"id": "v165", "ph": "8f862b27", "equity": 94577324, "ret": -5.42}, {"id": "v167", "ph": "b6d6aed8", "equity": 94577572, "ret": -5.42}, {"id": "v155", "ph": "31c0d84e", "equity": 94245039, "ret": -5.75}, {"id": "v47", "ph": "ed758fcf", "equity": 94237190, "ret": -5.76}, {"id": "v215", "ph": "a904a49d", "equity": 94242294, "ret": -5.76}, {"id": "v301", "ph": "30da2021", "equity": 93978996, "ret": -6.02}, {"id": "v310", "ph": "ec9dd55c", "equity": 93711421, "ret": -6.29}, {"id": "v89", "ph": "c49d5680", "equity": 93531243, "ret": -6.47}, {"id": "v315", "ph": "e6d5b283", "equity": 93396771, "ret": -6.6}, {"id": "v1", "ph": "4874f4c9", "equity": 93346275, "ret": -6.65}, {"id": "v149", "ph": "c5329f8d", "equity": 92610472, "ret": -7.39}, {"id": "v318", "ph": "c99872ef", "equity": 91695304, "ret": -8.3}, {"id": "v147", "ph": "2fbeeedb", "equity": 91607410, "ret": -8.39}, {"id": "v151", "ph": "2eb1dd06", "equity": 91608014, "ret": -8.39}, {"id": "v41", "ph": "e9d84e84", "equity": 89790563, "ret": -10.21}, {"id": "v311", "ph": "8409c6e5", "equity": 89611335, "ret": -10.39}, {"id": "v309", "ph": "07610040", "equity": 89551113, "ret": -10.45}, {"id": "v4", "ph": "b6219595", "equity": 88521115, "ret": -11.48}, {"id": "v296", "ph": "4c554378", "equity": 88093113, "ret": -11.91}, {"id": "v40", "ph": "70731d89", "equity": 87995606, "ret": -12.0}, {"id": "v312", "ph": "4c23846f", "equity": 86480137, "ret": -13.52}, {"id": "v300", "ph": "c6ddc17b", "equity": 85099596, "ret": -14.9}, {"id": "v298", "ph": "5d4bbec0", "equity": 81378493, "ret": -18.62}, {"id": "v299", "ph": "25046b1a", "equity": 81031423, "ret": -18.97}], "20260708": [{"id": "v319", "ph": "ca25f043", "equity": 97470051, "ret": -2.53}, {"id": "v321", "ph": "e82de49b", "equity": 95863837, "ret": -4.14}, {"id": "v313", "ph": "b9f4ee72", "equity": 95481223, "ret": -4.52}, {"id": "v101", "ph": "c4354346", "equity": 94493731, "ret": -5.51}, {"id": "v317", "ph": "51f8ee6d", "equity": 94450610, "ret": -5.55}, {"id": "v209", "ph": "8730802d", "equity": 94203324, "ret": -5.8}, {"id": "v59", "ph": "1858e2ec", "equity": 93894385, "ret": -6.11}, {"id": "v307", "ph": "6abce93d", "equity": 93837086, "ret": -6.16}, {"id": "v316", "ph": "8dc1d197", "equity": 93831128, "ret": -6.17}, {"id": "v99", "ph": "fb39409b", "equity": 93816583, "ret": -6.18}, {"id": "v167", "ph": "b6d6aed8", "equity": 93564546, "ret": -6.44}, {"id": "v207", "ph": "0f6601a0", "equity": 93526176, "ret": -6.47}, {"id": "v315", "ph": "e6d5b283", "equity": 93303825, "ret": -6.7}, {"id": "v205", "ph": "02e5a3f5", "equity": 93270613, "ret": -6.73}, {"id": "v57", "ph": "e7e98b6d", "equity": 93217237, "ret": -6.78}, {"id": "v320", "ph": "48d6a9ef", "equity": 93176307, "ret": -6.82}, {"id": "v161", "ph": "ed5677e6", "equity": 92887398, "ret": -7.11}, {"id": "v165", "ph": "8f862b27", "equity": 92887398, "ret": -7.11}, {"id": "v103", "ph": "75b0a37c", "equity": 92752222, "ret": -7.25}, {"id": "v314", "ph": "7511570e", "equity": 92717172, "ret": -7.28}, {"id": "v197", "ph": "5c290a32", "equity": 92525434, "ret": -7.47}, {"id": "v304", "ph": "96c7e8e1", "equity": 92465058, "ret": -7.53}, {"id": "v95", "ph": "7e28e756", "equity": 92376183, "ret": -7.62}, {"id": "v91", "ph": "5674a3d7", "equity": 92342374, "ret": -7.66}, {"id": "v211", "ph": "9227673c", "equity": 92194352, "ret": -7.81}, {"id": "v199", "ph": "390bfab3", "equity": 91895564, "ret": -8.1}, {"id": "v97", "ph": "ebf31977", "equity": 91886112, "ret": -8.11}, {"id": "v306", "ph": "6966b8f6", "equity": 91650241, "ret": -8.35}, {"id": "v195", "ph": "dd89cf59", "equity": 91566277, "ret": -8.43}, {"id": "v201", "ph": "cb8a413e", "equity": 91566277, "ret": -8.43}, {"id": "v49", "ph": "cdba73e0", "equity": 91326648, "ret": -8.67}, {"id": "v203", "ph": "2071defa", "equity": 91153904, "ret": -8.85}, {"id": "v107", "ph": "be5cd36b", "equity": 91033303, "ret": -8.97}, {"id": "v87", "ph": "c0be98c0", "equity": 90966948, "ret": -9.03}, {"id": "v93", "ph": "f10d4e45", "equity": 90966948, "ret": -9.03}, {"id": "v81", "ph": "a6eac1e4", "equity": 90865296, "ret": -9.13}, {"id": "v301", "ph": "30da2021", "equity": 90473273, "ret": -9.53}, {"id": "v318", "ph": "c99872ef", "equity": 90470932, "ret": -9.53}, {"id": "v157", "ph": "80f3e23b", "equity": 90163528, "ret": -9.84}, {"id": "v310", "ph": "ec9dd55c", "equity": 89945372, "ret": -10.05}, {"id": "v217", "ph": "4c547a61", "equity": 89912014, "ret": -10.09}, {"id": "v218", "ph": "7304d2d4", "equity": 89912014, "ret": -10.09}, {"id": "v223", "ph": "b57356b8", "equity": 89843062, "ret": -10.16}, {"id": "v224", "ph": "888ab069", "equity": 89843062, "ret": -10.16}, {"id": "v229", "ph": "d9261dfb", "equity": 89843062, "ret": -10.16}, {"id": "v230", "ph": "141579fe", "equity": 89843062, "ret": -10.16}, {"id": "v235", "ph": "3e6c1666", "equity": 89843062, "ret": -10.16}, {"id": "v236", "ph": "f9c75560", "equity": 89843062, "ret": -10.16}, {"id": "v265", "ph": "7faed59d", "equity": 89843062, "ret": -10.16}, {"id": "v266", "ph": "c133b585", "equity": 89843062, "ret": -10.16}, {"id": "v271", "ph": "2b9ccdcd", "equity": 89843062, "ret": -10.16}, {"id": "v272", "ph": "2ed2027f", "equity": 89843062, "ret": -10.16}, {"id": "v277", "ph": "488b612a", "equity": 89843062, "ret": -10.16}, {"id": "v278", "ph": "861fb42b", "equity": 89843062, "ret": -10.16}, {"id": "v283", "ph": "479e4b25", "equity": 89843062, "ret": -10.16}, {"id": "v284", "ph": "261c5d58", "equity": 89843062, "ret": -10.16}, {"id": "v1", "ph": "4874f4c9", "equity": 89831124, "ret": -10.17}, {"id": "v51", "ph": "21a98e46", "equity": 89813662, "ret": -10.19}, {"id": "v89", "ph": "c49d5680", "equity": 89757086, "ret": -10.24}, {"id": "v189", "ph": "dfdbd0c8", "equity": 89645117, "ret": -10.35}, {"id": "v303", "ph": "1a084164", "equity": 89566981, "ret": -10.43}, {"id": "v308", "ph": "cb12dd0b", "equity": 89416268, "ret": -10.58}, {"id": "v305", "ph": "8cc4eea6", "equity": 89391615, "ret": -10.61}, {"id": "v215", "ph": "a904a49d", "equity": 89291041, "ret": -10.71}, {"id": "v105", "ph": "88395429", "equity": 88899445, "ret": -11.1}, {"id": "v159", "ph": "af80c67a", "equity": 88652641, "ret": -11.35}, {"id": "v149", "ph": "c5329f8d", "equity": 88050190, "ret": -11.95}, {"id": "v213", "ph": "0e1d8e45", "equity": 88053066, "ret": -11.95}, {"id": "v47", "ph": "ed758fcf", "equity": 87850567, "ret": -12.15}, {"id": "v302", "ph": "3f30502d", "equity": 87442505, "ret": -12.56}, {"id": "v155", "ph": "31c0d84e", "equity": 87118129, "ret": -12.88}, {"id": "v296", "ph": "4c554378", "equity": 86292842, "ret": -13.71}, {"id": "v311", "ph": "8409c6e5", "equity": 86084678, "ret": -13.92}, {"id": "v151", "ph": "2eb1dd06", "equity": 86032047, "ret": -13.97}, {"id": "v312", "ph": "4c23846f", "equity": 85522576, "ret": -14.48}, {"id": "v41", "ph": "e9d84e84", "equity": 85291413, "ret": -14.71}, {"id": "v309", "ph": "07610040", "equity": 85107529, "ret": -14.89}, {"id": "v147", "ph": "2fbeeedb", "equity": 84376797, "ret": -15.62}, {"id": "v4", "ph": "b6219595", "equity": 82925280, "ret": -17.07}, {"id": "v40", "ph": "70731d89", "equity": 81170051, "ret": -18.83}, {"id": "v298", "ph": "5d4bbec0", "equity": 79196319, "ret": -20.8}, {"id": "v299", "ph": "25046b1a", "equity": 76919853, "ret": -23.08}, {"id": "v300", "ph": "c6ddc17b", "equity": 73167500, "ret": -26.83}], "20260709": [{"id": "v319", "ph": "ca25f043", "equity": 97029426, "ret": -2.97}, {"id": "v321", "ph": "e82de49b", "equity": 95372120, "ret": -4.63}, {"id": "v313", "ph": "b9f4ee72", "equity": 94897989, "ret": -5.1}, {"id": "v101", "ph": "c4354346", "equity": 94371518, "ret": -5.63}, {"id": "v317", "ph": "51f8ee6d", "equity": 94152545, "ret": -5.85}, {"id": "v99", "ph": "fb39409b", "equity": 93694369, "ret": -6.31}, {"id": "v59", "ph": "1858e2ec", "equity": 93648469, "ret": -6.35}, {"id": "v209", "ph": "8730802d", "equity": 93379392, "ret": -6.62}, {"id": "v316", "ph": "8dc1d197", "equity": 93225309, "ret": -6.77}, {"id": "v307", "ph": "6abce93d", "equity": 93189093, "ret": -6.81}, {"id": "v57", "ph": "e7e98b6d", "equity": 92971321, "ret": -7.03}, {"id": "v103", "ph": "75b0a37c", "equity": 92831928, "ret": -7.17}, {"id": "v207", "ph": "0f6601a0", "equity": 92702244, "ret": -7.3}, {"id": "v167", "ph": "b6d6aed8", "equity": 92619115, "ret": -7.38}, {"id": "v205", "ph": "02e5a3f5", "equity": 92574760, "ret": -7.43}, {"id": "v95", "ph": "7e28e756", "equity": 92521583, "ret": -7.48}, {"id": "v320", "ph": "48d6a9ef", "equity": 92421366, "ret": -7.58}, {"id": "v91", "ph": "5674a3d7", "equity": 92146760, "ret": -7.85}, {"id": "v315", "ph": "e6d5b283", "equity": 92046625, "ret": -7.95}, {"id": "v161", "ph": "ed5677e6", "equity": 91941966, "ret": -8.06}, {"id": "v165", "ph": "8f862b27", "equity": 91941966, "ret": -8.06}, {"id": "v314", "ph": "7511570e", "equity": 91879039, "ret": -8.12}, {"id": "v304", "ph": "96c7e8e1", "equity": 91855794, "ret": -8.14}, {"id": "v197", "ph": "5c290a32", "equity": 91841551, "ret": -8.16}, {"id": "v97", "ph": "ebf31977", "equity": 91705949, "ret": -8.29}, {"id": "v211", "ph": "9227673c", "equity": 91570738, "ret": -8.43}, {"id": "v49", "ph": "cdba73e0", "equity": 91460358, "ret": -8.54}, {"id": "v203", "ph": "2071defa", "equity": 91259889, "ret": -8.74}, {"id": "v199", "ph": "390bfab3", "equity": 91193283, "ret": -8.81}, {"id": "v87", "ph": "c0be98c0", "equity": 91057754, "ret": -8.94}, {"id": "v93", "ph": "f10d4e45", "equity": 91057754, "ret": -8.94}, {"id": "v81", "ph": "a6eac1e4", "equity": 91014210, "ret": -8.99}, {"id": "v195", "ph": "dd89cf59", "equity": 90952863, "ret": -9.05}, {"id": "v201", "ph": "cb8a413e", "equity": 90952863, "ret": -9.05}, {"id": "v107", "ph": "be5cd36b", "equity": 90911509, "ret": -9.09}, {"id": "v306", "ph": "6966b8f6", "equity": 90826472, "ret": -9.17}, {"id": "v157", "ph": "80f3e23b", "equity": 90259699, "ret": -9.74}, {"id": "v318", "ph": "c99872ef", "equity": 89956910, "ret": -10.04}, {"id": "v51", "ph": "21a98e46", "equity": 89951186, "ret": -10.05}, {"id": "v89", "ph": "c49d5680", "equity": 89823123, "ret": -10.18}, {"id": "v189", "ph": "dfdbd0c8", "equity": 89754616, "ret": -10.25}, {"id": "v301", "ph": "30da2021", "equity": 89630173, "ret": -10.37}, {"id": "v215", "ph": "a904a49d", "equity": 89171184, "ret": -10.83}, {"id": "v217", "ph": "4c547a61", "equity": 89102440, "ret": -10.9}, {"id": "v218", "ph": "7304d2d4", "equity": 89102440, "ret": -10.9}, {"id": "v223", "ph": "b57356b8", "equity": 89036088, "ret": -10.96}, {"id": "v224", "ph": "888ab069", "equity": 89036088, "ret": -10.96}, {"id": "v229", "ph": "d9261dfb", "equity": 89036088, "ret": -10.96}, {"id": "v230", "ph": "141579fe", "equity": 89036088, "ret": -10.96}, {"id": "v235", "ph": "3e6c1666", "equity": 89036088, "ret": -10.96}, {"id": "v236", "ph": "f9c75560", "equity": 89036088, "ret": -10.96}, {"id": "v265", "ph": "7faed59d", "equity": 89036088, "ret": -10.96}, {"id": "v266", "ph": "c133b585", "equity": 89036088, "ret": -10.96}, {"id": "v271", "ph": "2b9ccdcd", "equity": 89036088, "ret": -10.96}, {"id": "v272", "ph": "2ed2027f", "equity": 89036088, "ret": -10.96}, {"id": "v277", "ph": "488b612a", "equity": 89036088, "ret": -10.96}, {"id": "v278", "ph": "861fb42b", "equity": 89036088, "ret": -10.96}, {"id": "v283", "ph": "479e4b25", "equity": 89036088, "ret": -10.96}, {"id": "v284", "ph": "261c5d58", "equity": 89036088, "ret": -10.96}, {"id": "v1", "ph": "4874f4c9", "equity": 88779474, "ret": -11.22}, {"id": "v105", "ph": "88395429", "equity": 88758699, "ret": -11.24}, {"id": "v159", "ph": "af80c67a", "equity": 88749577, "ret": -11.25}, {"id": "v305", "ph": "8cc4eea6", "equity": 88509485, "ret": -11.49}, {"id": "v308", "ph": "cb12dd0b", "equity": 88508656, "ret": -11.49}, {"id": "v303", "ph": "1a084164", "equity": 88400399, "ret": -11.6}, {"id": "v310", "ph": "ec9dd55c", "equity": 88282336, "ret": -11.72}, {"id": "v213", "ph": "0e1d8e45", "equity": 87872908, "ret": -12.13}, {"id": "v47", "ph": "ed758fcf", "equity": 87700307, "ret": -12.3}, {"id": "v149", "ph": "c5329f8d", "equity": 87295308, "ret": -12.7}, {"id": "v302", "ph": "3f30502d", "equity": 87005003, "ret": -12.99}, {"id": "v155", "ph": "31c0d84e", "equity": 86926728, "ret": -13.07}, {"id": "v311", "ph": "8409c6e5", "equity": 85710417, "ret": -14.29}, {"id": "v151", "ph": "2eb1dd06", "equity": 85488465, "ret": -14.51}, {"id": "v41", "ph": "e9d84e84", "equity": 85404189, "ret": -14.6}, {"id": "v312", "ph": "4c23846f", "equity": 84462620, "ret": -15.54}, {"id": "v296", "ph": "4c554378", "equity": 84397596, "ret": -15.6}, {"id": "v309", "ph": "07610040", "equity": 84155459, "ret": -15.84}, {"id": "v147", "ph": "2fbeeedb", "equity": 83834534, "ret": -16.17}, {"id": "v4", "ph": "b6219595", "equity": 82094579, "ret": -17.91}, {"id": "v40", "ph": "70731d89", "equity": 80360480, "ret": -19.64}, {"id": "v298", "ph": "5d4bbec0", "equity": 78505369, "ret": -21.49}, {"id": "v299", "ph": "25046b1a", "equity": 75857462, "ret": -24.14}, {"id": "v300", "ph": "c6ddc17b", "equity": 73074500, "ret": -26.93}], "20260710": [{"id": "v321", "ph": "e82de49b", "equity": 98078466, "ret": -1.92}, {"id": "v319", "ph": "ca25f043", "equity": 97310052, "ret": -2.69}, {"id": "v313", "ph": "b9f4ee72", "equity": 97070899, "ret": -2.93}, {"id": "v317", "ph": "51f8ee6d", "equity": 96658854, "ret": -3.34}, {"id": "v307", "ph": "6abce93d", "equity": 95735759, "ret": -4.26}, {"id": "v316", "ph": "8dc1d197", "equity": 95238005, "ret": -4.76}, {"id": "v320", "ph": "48d6a9ef", "equity": 95010028, "ret": -4.99}, {"id": "v205", "ph": "02e5a3f5", "equity": 94946029, "ret": -5.05}, {"id": "v197", "ph": "5c290a32", "equity": 94826304, "ret": -5.17}, {"id": "v95", "ph": "7e28e756", "equity": 94712823, "ret": -5.29}, {"id": "v101", "ph": "c4354346", "equity": 94284391, "ret": -5.72}, {"id": "v203", "ph": "2071defa", "equity": 94078563, "ret": -5.92}, {"id": "v103", "ph": "75b0a37c", "equity": 94044661, "ret": -5.96}, {"id": "v91", "ph": "5674a3d7", "equity": 94024918, "ret": -5.98}, {"id": "v314", "ph": "7511570e", "equity": 93928332, "ret": -6.07}, {"id": "v199", "ph": "390bfab3", "equity": 93733922, "ret": -6.27}, {"id": "v59", "ph": "1858e2ec", "equity": 93680067, "ret": -6.32}, {"id": "v99", "ph": "fb39409b", "equity": 93607255, "ret": -6.39}, {"id": "v49", "ph": "cdba73e0", "equity": 93559466, "ret": -6.44}, {"id": "v306", "ph": "6966b8f6", "equity": 93513081, "ret": -6.49}, {"id": "v97", "ph": "ebf31977", "equity": 93408327, "ret": -6.59}, {"id": "v209", "ph": "8730802d", "equity": 93286824, "ret": -6.71}, {"id": "v81", "ph": "a6eac1e4", "equity": 93172304, "ret": -6.83}, {"id": "v304", "ph": "96c7e8e1", "equity": 93155434, "ret": -6.84}, {"id": "v157", "ph": "80f3e23b", "equity": 93020895, "ret": -6.98}, {"id": "v57", "ph": "e7e98b6d", "equity": 93002931, "ret": -7.0}, {"id": "v211", "ph": "9227673c", "equity": 92778517, "ret": -7.22}, {"id": "v207", "ph": "0f6601a0", "equity": 92609916, "ret": -7.39}, {"id": "v167", "ph": "b6d6aed8", "equity": 92577084, "ret": -7.42}, {"id": "v189", "ph": "dfdbd0c8", "equity": 92540144, "ret": -7.46}, {"id": "v315", "ph": "e6d5b283", "equity": 92532857, "ret": -7.47}, {"id": "v87", "ph": "c0be98c0", "equity": 92305303, "ret": -7.69}, {"id": "v93", "ph": "f10d4e45", "equity": 92305303, "ret": -7.69}, {"id": "v217", "ph": "4c547a61", "equity": 92223428, "ret": -7.78}, {"id": "v218", "ph": "7304d2d4", "equity": 92223428, "ret": -7.78}, {"id": "v195", "ph": "dd89cf59", "equity": 92194654, "ret": -7.81}, {"id": "v201", "ph": "cb8a413e", "equity": 92194654, "ret": -7.81}, {"id": "v223", "ph": "b57356b8", "equity": 92151976, "ret": -7.85}, {"id": "v224", "ph": "888ab069", "equity": 92151976, "ret": -7.85}, {"id": "v229", "ph": "d9261dfb", "equity": 92151976, "ret": -7.85}, {"id": "v230", "ph": "141579fe", "equity": 92151976, "ret": -7.85}, {"id": "v235", "ph": "3e6c1666", "equity": 92151976, "ret": -7.85}, {"id": "v236", "ph": "f9c75560", "equity": 92151976, "ret": -7.85}, {"id": "v265", "ph": "7faed59d", "equity": 92151976, "ret": -7.85}, {"id": "v266", "ph": "c133b585", "equity": 92151976, "ret": -7.85}, {"id": "v271", "ph": "2b9ccdcd", "equity": 92151976, "ret": -7.85}, {"id": "v272", "ph": "2ed2027f", "equity": 92151976, "ret": -7.85}, {"id": "v277", "ph": "488b612a", "equity": 92151976, "ret": -7.85}, {"id": "v278", "ph": "861fb42b", "equity": 92151976, "ret": -7.85}, {"id": "v283", "ph": "479e4b25", "equity": 92151976, "ret": -7.85}, {"id": "v284", "ph": "261c5d58", "equity": 92151976, "ret": -7.85}, {"id": "v89", "ph": "c49d5680", "equity": 92126436, "ret": -7.87}, {"id": "v51", "ph": "21a98e46", "equity": 92016918, "ret": -7.98}, {"id": "v161", "ph": "ed5677e6", "equity": 91902967, "ret": -8.1}, {"id": "v165", "ph": "8f862b27", "equity": 91902967, "ret": -8.1}, {"id": "v107", "ph": "be5cd36b", "equity": 91871987, "ret": -8.13}, {"id": "v305", "ph": "8cc4eea6", "equity": 91737647, "ret": -8.26}, {"id": "v159", "ph": "af80c67a", "equity": 91478297, "ret": -8.52}, {"id": "v303", "ph": "1a084164", "equity": 91467512, "ret": -8.53}, {"id": "v318", "ph": "c99872ef", "equity": 91229350, "ret": -8.77}, {"id": "v308", "ph": "cb12dd0b", "equity": 91016667, "ret": -8.98}, {"id": "v105", "ph": "88395429", "equity": 91002544, "ret": -9.0}, {"id": "v310", "ph": "ec9dd55c", "equity": 90929061, "ret": -9.07}, {"id": "v213", "ph": "0e1d8e45", "equity": 90733969, "ret": -9.27}, {"id": "v149", "ph": "c5329f8d", "equity": 90683014, "ret": -9.32}, {"id": "v215", "ph": "a904a49d", "equity": 90127065, "ret": -9.87}, {"id": "v302", "ph": "3f30502d", "equity": 90012486, "ret": -9.99}, {"id": "v301", "ph": "30da2021", "equity": 89977588, "ret": -10.02}, {"id": "v47", "ph": "ed758fcf", "equity": 89839040, "ret": -10.16}, {"id": "v155", "ph": "31c0d84e", "equity": 89712039, "ret": -10.29}, {"id": "v151", "ph": "2eb1dd06", "equity": 89274993, "ret": -10.73}, {"id": "v1", "ph": "4874f4c9", "equity": 89233426, "ret": -10.77}, {"id": "v311", "ph": "8409c6e5", "equity": 88466825, "ret": -11.53}, {"id": "v41", "ph": "e9d84e84", "equity": 88070920, "ret": -11.93}, {"id": "v147", "ph": "2fbeeedb", "equity": 87599302, "ret": -12.4}, {"id": "v312", "ph": "4c23846f", "equity": 86750962, "ret": -13.25}, {"id": "v309", "ph": "07610040", "equity": 86198031, "ret": -13.8}, {"id": "v296", "ph": "4c554378", "equity": 86036993, "ret": -13.96}, {"id": "v4", "ph": "b6219595", "equity": 85584881, "ret": -14.42}, {"id": "v40", "ph": "70731d89", "equity": 83785743, "ret": -16.21}, {"id": "v298", "ph": "5d4bbec0", "equity": 81408367, "ret": -18.59}, {"id": "v299", "ph": "25046b1a", "equity": 78985821, "ret": -21.01}, {"id": "v300", "ph": "c6ddc17b", "equity": 75750936, "ret": -24.25}], "20260713": [{"id": "v321", "ph": "e82de49b", "equity": 97993285, "ret": -2.01}, {"id": "v319", "ph": "ca25f043", "equity": 97450702, "ret": -2.55}, {"id": "v317", "ph": "51f8ee6d", "equity": 96646823, "ret": -3.35}, {"id": "v313", "ph": "b9f4ee72", "equity": 95903205, "ret": -4.1}, {"id": "v205", "ph": "02e5a3f5", "equity": 94889018, "ret": -5.11}, {"id": "v307", "ph": "6abce93d", "equity": 94694981, "ret": -5.31}, {"id": "v197", "ph": "5c290a32", "equity": 94654242, "ret": -5.35}, {"id": "v316", "ph": "8dc1d197", "equity": 94551424, "ret": -5.45}, {"id": "v320", "ph": "48d6a9ef", "equity": 94356057, "ret": -5.64}, {"id": "v95", "ph": "7e28e756", "equity": 94208212, "ret": -5.79}, {"id": "v203", "ph": "2071defa", "equity": 94145780, "ret": -5.85}, {"id": "v103", "ph": "75b0a37c", "equity": 94078397, "ret": -5.92}, {"id": "v199", "ph": "390bfab3", "equity": 93659485, "ret": -6.34}, {"id": "v101", "ph": "c4354346", "equity": 93648515, "ret": -6.35}, {"id": "v306", "ph": "6966b8f6", "equity": 93424603, "ret": -6.58}, {"id": "v91", "ph": "5674a3d7", "equity": 93323862, "ret": -6.68}, {"id": "v59", "ph": "1858e2ec", "equity": 93231925, "ret": -6.77}, {"id": "v157", "ph": "80f3e23b", "equity": 93198393, "ret": -6.8}, {"id": "v49", "ph": "cdba73e0", "equity": 93181463, "ret": -6.82}, {"id": "v314", "ph": "7511570e", "equity": 93184031, "ret": -6.82}, {"id": "v99", "ph": "fb39409b", "equity": 92972759, "ret": -7.03}, {"id": "v211", "ph": "9227673c", "equity": 92963129, "ret": -7.04}, {"id": "v97", "ph": "ebf31977", "equity": 92725192, "ret": -7.27}, {"id": "v304", "ph": "96c7e8e1", "equity": 92687756, "ret": -7.31}, {"id": "v81", "ph": "a6eac1e4", "equity": 92677068, "ret": -7.32}, {"id": "v189", "ph": "dfdbd0c8", "equity": 92628577, "ret": -7.37}, {"id": "v209", "ph": "8730802d", "equity": 92592451, "ret": -7.41}, {"id": "v57", "ph": "e7e98b6d", "equity": 92556169, "ret": -7.44}, {"id": "v315", "ph": "e6d5b283", "equity": 92418791, "ret": -7.58}, {"id": "v195", "ph": "dd89cf59", "equity": 92402967, "ret": -7.6}, {"id": "v201", "ph": "cb8a413e", "equity": 92402967, "ret": -7.6}, {"id": "v87", "ph": "c0be98c0", "equity": 92365980, "ret": -7.63}, {"id": "v93", "ph": "f10d4e45", "equity": 92365980, "ret": -7.63}, {"id": "v167", "ph": "b6d6aed8", "equity": 92215482, "ret": -7.78}, {"id": "v107", "ph": "be5cd36b", "equity": 91987442, "ret": -8.01}, {"id": "v318", "ph": "c99872ef", "equity": 91961004, "ret": -8.04}, {"id": "v207", "ph": "0f6601a0", "equity": 91936002, "ret": -8.06}, {"id": "v51", "ph": "21a98e46", "equity": 91665291, "ret": -8.33}, {"id": "v159", "ph": "af80c67a", "equity": 91669242, "ret": -8.33}, {"id": "v161", "ph": "ed5677e6", "equity": 91538846, "ret": -8.46}, {"id": "v165", "ph": "8f862b27", "equity": 91538846, "ret": -8.46}, {"id": "v89", "ph": "c49d5680", "equity": 91454254, "ret": -8.55}, {"id": "v217", "ph": "4c547a61", "equity": 90753087, "ret": -9.25}, {"id": "v218", "ph": "7304d2d4", "equity": 90753087, "ret": -9.25}, {"id": "v213", "ph": "0e1d8e45", "equity": 90711698, "ret": -9.29}, {"id": "v223", "ph": "b57356b8", "equity": 90682636, "ret": -9.32}, {"id": "v224", "ph": "888ab069", "equity": 90682636, "ret": -9.32}, {"id": "v229", "ph": "d9261dfb", "equity": 90682636, "ret": -9.32}, {"id": "v230", "ph": "141579fe", "equity": 90682636, "ret": -9.32}, {"id": "v235", "ph": "3e6c1666", "equity": 90682636, "ret": -9.32}, {"id": "v236", "ph": "f9c75560", "equity": 90682636, "ret": -9.32}, {"id": "v265", "ph": "7faed59d", "equity": 90682636, "ret": -9.32}, {"id": "v266", "ph": "c133b585", "equity": 90682636, "ret": -9.32}, {"id": "v271", "ph": "2b9ccdcd", "equity": 90682636, "ret": -9.32}, {"id": "v272", "ph": "2ed2027f", "equity": 90682636, "ret": -9.32}, {"id": "v277", "ph": "488b612a", "equity": 90682636, "ret": -9.32}, {"id": "v278", "ph": "861fb42b", "equity": 90682636, "ret": -9.32}, {"id": "v283", "ph": "479e4b25", "equity": 90682636, "ret": -9.32}, {"id": "v284", "ph": "261c5d58", "equity": 90682636, "ret": -9.32}, {"id": "v308", "ph": "cb12dd0b", "equity": 90558789, "ret": -9.44}, {"id": "v215", "ph": "a904a49d", "equity": 90427248, "ret": -9.57}, {"id": "v303", "ph": "1a084164", "equity": 90424464, "ret": -9.58}, {"id": "v105", "ph": "88395429", "equity": 90398777, "ret": -9.6}, {"id": "v310", "ph": "ec9dd55c", "equity": 90385822, "ret": -9.61}, {"id": "v305", "ph": "8cc4eea6", "equity": 90346041, "ret": -9.65}, {"id": "v149", "ph": "c5329f8d", "equity": 90280128, "ret": -9.72}, {"id": "v301", "ph": "30da2021", "equity": 89786566, "ret": -10.21}, {"id": "v155", "ph": "31c0d84e", "equity": 89782507, "ret": -10.22}, {"id": "v47", "ph": "ed758fcf", "equity": 89371696, "ret": -10.63}, {"id": "v302", "ph": "3f30502d", "equity": 89344229, "ret": -10.66}, {"id": "v1", "ph": "4874f4c9", "equity": 89166050, "ret": -10.83}, {"id": "v151", "ph": "2eb1dd06", "equity": 89091286, "ret": -10.91}, {"id": "v311", "ph": "8409c6e5", "equity": 88615165, "ret": -11.38}, {"id": "v312", "ph": "4c23846f", "equity": 88055182, "ret": -11.94}, {"id": "v309", "ph": "07610040", "equity": 87642331, "ret": -12.36}, {"id": "v147", "ph": "2fbeeedb", "equity": 87432951, "ret": -12.57}, {"id": "v41", "ph": "e9d84e84", "equity": 87023320, "ret": -12.98}, {"id": "v4", "ph": "b6219595", "equity": 85761199, "ret": -14.24}, {"id": "v296", "ph": "4c554378", "equity": 84594910, "ret": -15.41}, {"id": "v40", "ph": "70731d89", "equity": 83960853, "ret": -16.04}, {"id": "v298", "ph": "5d4bbec0", "equity": 82134287, "ret": -17.87}, {"id": "v299", "ph": "25046b1a", "equity": 78453749, "ret": -21.55}, {"id": "v300", "ph": "c6ddc17b", "equity": 74901773, "ret": -25.1}], "20260714": [{"id": "v321", "ph": "e82de49b", "equity": 97789385, "ret": -2.21}, {"id": "v319", "ph": "ca25f043", "equity": 97582805, "ret": -2.42}, {"id": "v317", "ph": "51f8ee6d", "equity": 96466283, "ret": -3.53}, {"id": "v313", "ph": "b9f4ee72", "equity": 95558095, "ret": -4.44}, {"id": "v205", "ph": "02e5a3f5", "equity": 94974938, "ret": -5.03}, {"id": "v316", "ph": "8dc1d197", "equity": 94811844, "ret": -5.19}, {"id": "v197", "ph": "5c290a32", "equity": 94781792, "ret": -5.22}, {"id": "v320", "ph": "48d6a9ef", "equity": 94552797, "ret": -5.45}, {"id": "v307", "ph": "6abce93d", "equity": 94443551, "ret": -5.56}, {"id": "v103", "ph": "75b0a37c", "equity": 94273847, "ret": -5.73}, {"id": "v203", "ph": "2071defa", "equity": 94162800, "ret": -5.84}, {"id": "v199", "ph": "390bfab3", "equity": 93730535, "ret": -6.27}, {"id": "v95", "ph": "7e28e756", "equity": 93688530, "ret": -6.31}, {"id": "v306", "ph": "6966b8f6", "equity": 93128874, "ret": -6.87}, {"id": "v157", "ph": "80f3e23b", "equity": 93099933, "ret": -6.9}, {"id": "v101", "ph": "c4354346", "equity": 93085645, "ret": -6.91}, {"id": "v91", "ph": "5674a3d7", "equity": 93035902, "ret": -6.96}, {"id": "v211", "ph": "9227673c", "equity": 92979319, "ret": -7.02}, {"id": "v314", "ph": "7511570e", "equity": 92922331, "ret": -7.08}, {"id": "v49", "ph": "cdba73e0", "equity": 92903643, "ret": -7.1}, {"id": "v59", "ph": "1858e2ec", "equity": 92684865, "ret": -7.32}, {"id": "v189", "ph": "dfdbd0c8", "equity": 92671757, "ret": -7.33}, {"id": "v304", "ph": "96c7e8e1", "equity": 92642276, "ret": -7.36}, {"id": "v87", "ph": "c0be98c0", "equity": 92587920, "ret": -7.41}, {"id": "v93", "ph": "f10d4e45", "equity": 92587920, "ret": -7.41}, {"id": "v97", "ph": "ebf31977", "equity": 92465332, "ret": -7.53}, {"id": "v195", "ph": "dd89cf59", "equity": 92445067, "ret": -7.55}, {"id": "v201", "ph": "cb8a413e", "equity": 92445067, "ret": -7.55}, {"id": "v99", "ph": "fb39409b", "equity": 92410299, "ret": -7.59}, {"id": "v318", "ph": "c99872ef", "equity": 92219004, "ret": -7.78}, {"id": "v81", "ph": "a6eac1e4", "equity": 92177746, "ret": -7.82}, {"id": "v57", "ph": "e7e98b6d", "equity": 92009519, "ret": -7.99}, {"id": "v107", "ph": "be5cd36b", "equity": 92000429, "ret": -8.0}, {"id": "v209", "ph": "8730802d", "equity": 91790701, "ret": -8.21}, {"id": "v159", "ph": "af80c67a", "equity": 91582652, "ret": -8.42}, {"id": "v167", "ph": "b6d6aed8", "equity": 91427362, "ret": -8.57}, {"id": "v51", "ph": "21a98e46", "equity": 91402341, "ret": -8.6}, {"id": "v89", "ph": "c49d5680", "equity": 91243384, "ret": -8.76}, {"id": "v315", "ph": "e6d5b283", "equity": 91168571, "ret": -8.83}, {"id": "v207", "ph": "0f6601a0", "equity": 91144662, "ret": -8.86}, {"id": "v161", "ph": "ed5677e6", "equity": 90748936, "ret": -9.25}, {"id": "v165", "ph": "8f862b27", "equity": 90748936, "ret": -9.25}, {"id": "v310", "ph": "ec9dd55c", "equity": 90753202, "ret": -9.25}, {"id": "v213", "ph": "0e1d8e45", "equity": 90718328, "ret": -9.28}, {"id": "v217", "ph": "4c547a61", "equity": 90375417, "ret": -9.62}, {"id": "v218", "ph": "7304d2d4", "equity": 90375417, "ret": -9.62}, {"id": "v149", "ph": "c5329f8d", "equity": 90342768, "ret": -9.66}, {"id": "v223", "ph": "b57356b8", "equity": 90306266, "ret": -9.69}, {"id": "v224", "ph": "888ab069", "equity": 90306266, "ret": -9.69}, {"id": "v229", "ph": "d9261dfb", "equity": 90306266, "ret": -9.69}, {"id": "v230", "ph": "141579fe", "equity": 90306266, "ret": -9.69}, {"id": "v235", "ph": "3e6c1666", "equity": 90306266, "ret": -9.69}, {"id": "v236", "ph": "f9c75560", "equity": 90306266, "ret": -9.69}, {"id": "v265", "ph": "7faed59d", "equity": 90306266, "ret": -9.69}, {"id": "v266", "ph": "c133b585", "equity": 90306266, "ret": -9.69}, {"id": "v271", "ph": "2b9ccdcd", "equity": 90306266, "ret": -9.69}, {"id": "v272", "ph": "2ed2027f", "equity": 90306266, "ret": -9.69}, {"id": "v277", "ph": "488b612a", "equity": 90306266, "ret": -9.69}, {"id": "v278", "ph": "861fb42b", "equity": 90306266, "ret": -9.69}, {"id": "v283", "ph": "479e4b25", "equity": 90306266, "ret": -9.69}, {"id": "v284", "ph": "261c5d58", "equity": 90306266, "ret": -9.69}, {"id": "v215", "ph": "a904a49d", "equity": 90240432, "ret": -9.76}, {"id": "v308", "ph": "cb12dd0b", "equity": 90214089, "ret": -9.79}, {"id": "v305", "ph": "8cc4eea6", "equity": 90063781, "ret": -9.94}, {"id": "v303", "ph": "1a084164", "equity": 89879294, "ret": -10.12}, {"id": "v105", "ph": "88395429", "equity": 89867245, "ret": -10.13}, {"id": "v155", "ph": "31c0d84e", "equity": 89637757, "ret": -10.36}, {"id": "v151", "ph": "2eb1dd06", "equity": 89445646, "ret": -10.55}, {"id": "v302", "ph": "3f30502d", "equity": 89306717, "ret": -10.69}, {"id": "v47", "ph": "ed758fcf", "equity": 89082566, "ret": -10.92}, {"id": "v301", "ph": "30da2021", "equity": 88985970, "ret": -11.01}, {"id": "v312", "ph": "4c23846f", "equity": 88434822, "ret": -11.57}, {"id": "v1", "ph": "4874f4c9", "equity": 88164415, "ret": -11.84}, {"id": "v311", "ph": "8409c6e5", "equity": 88024704, "ret": -11.98}, {"id": "v147", "ph": "2fbeeedb", "equity": 87818641, "ret": -12.18}, {"id": "v309", "ph": "07610040", "equity": 87561431, "ret": -12.44}, {"id": "v41", "ph": "e9d84e84", "equity": 87034620, "ret": -12.97}, {"id": "v4", "ph": "b6219595", "equity": 85775725, "ret": -14.22}, {"id": "v296", "ph": "4c554378", "equity": 84158665, "ret": -15.84}, {"id": "v40", "ph": "70731d89", "equity": 83965736, "ret": -16.03}, {"id": "v298", "ph": "5d4bbec0", "equity": 83302908, "ret": -16.7}, {"id": "v299", "ph": "25046b1a", "equity": 78333222, "ret": -21.67}, {"id": "v300", "ph": "c6ddc17b", "equity": 75953953, "ret": -24.05}], "20260715": [{"id": "v321", "ph": "e82de49b", "equity": 97881585, "ret": -2.12}, {"id": "v319", "ph": "ca25f043", "equity": 96941125, "ret": -3.06}, {"id": "v317", "ph": "51f8ee6d", "equity": 96721623, "ret": -3.28}, {"id": "v205", "ph": "02e5a3f5", "equity": 96494865, "ret": -3.51}, {"id": "v197", "ph": "5c290a32", "equity": 96288031, "ret": -3.71}, {"id": "v313", "ph": "b9f4ee72", "equity": 96177243, "ret": -3.82}, {"id": "v203", "ph": "2071defa", "equity": 95945420, "ret": -4.05}, {"id": "v103", "ph": "75b0a37c", "equity": 95590478, "ret": -4.41}, {"id": "v307", "ph": "6abce93d", "equity": 95511253, "ret": -4.49}, {"id": "v199", "ph": "390bfab3", "equity": 95234481, "ret": -4.77}, {"id": "v95", "ph": "7e28e756", "equity": 95172330, "ret": -4.83}, {"id": "v157", "ph": "80f3e23b", "equity": 94561247, "ret": -5.44}, {"id": "v316", "ph": "8dc1d197", "equity": 94512037, "ret": -5.49}, {"id": "v49", "ph": "cdba73e0", "equity": 94452030, "ret": -5.55}, {"id": "v320", "ph": "48d6a9ef", "equity": 94452811, "ret": -5.55}, {"id": "v189", "ph": "dfdbd0c8", "equity": 94413537, "ret": -5.59}, {"id": "v211", "ph": "9227673c", "equity": 94345283, "ret": -5.65}, {"id": "v91", "ph": "5674a3d7", "equity": 94341738, "ret": -5.66}, {"id": "v101", "ph": "c4354346", "equity": 94241434, "ret": -5.76}, {"id": "v314", "ph": "7511570e", "equity": 94137586, "ret": -5.86}, {"id": "v59", "ph": "1858e2ec", "equity": 94073717, "ret": -5.93}, {"id": "v87", "ph": "c0be98c0", "equity": 93886718, "ret": -6.11}, {"id": "v93", "ph": "f10d4e45", "equity": 93886718, "ret": -6.11}, {"id": "v195", "ph": "dd89cf59", "equity": 93793440, "ret": -6.21}, {"id": "v201", "ph": "cb8a413e", "equity": 93793440, "ret": -6.21}, {"id": "v97", "ph": "ebf31977", "equity": 93769938, "ret": -6.23}, {"id": "v306", "ph": "6966b8f6", "equity": 93693114, "ret": -6.31}, {"id": "v81", "ph": "a6eac1e4", "equity": 93645606, "ret": -6.35}, {"id": "v99", "ph": "fb39409b", "equity": 93565198, "ret": -6.43}, {"id": "v107", "ph": "be5cd36b", "equity": 93472999, "ret": -6.53}, {"id": "v57", "ph": "e7e98b6d", "equity": 93396997, "ret": -6.6}, {"id": "v318", "ph": "c99872ef", "equity": 93105804, "ret": -6.89}, {"id": "v159", "ph": "af80c67a", "equity": 93021557, "ret": -6.98}, {"id": "v209", "ph": "8730802d", "equity": 92996410, "ret": -7.0}, {"id": "v51", "ph": "21a98e46", "equity": 92918693, "ret": -7.08}, {"id": "v304", "ph": "96c7e8e1", "equity": 92841909, "ret": -7.16}, {"id": "v167", "ph": "b6d6aed8", "equity": 92783723, "ret": -7.22}, {"id": "v89", "ph": "c49d5680", "equity": 92506353, "ret": -7.49}, {"id": "v213", "ph": "0e1d8e45", "equity": 92448858, "ret": -7.55}, {"id": "v207", "ph": "0f6601a0", "equity": 92322401, "ret": -7.68}, {"id": "v161", "ph": "ed5677e6", "equity": 92101406, "ret": -7.9}, {"id": "v165", "ph": "8f862b27", "equity": 92101406, "ret": -7.9}, {"id": "v149", "ph": "c5329f8d", "equity": 92091172, "ret": -7.91}, {"id": "v217", "ph": "4c547a61", "equity": 92083378, "ret": -7.92}, {"id": "v218", "ph": "7304d2d4", "equity": 92083378, "ret": -7.92}, {"id": "v223", "ph": "b57356b8", "equity": 92014227, "ret": -7.99}, {"id": "v224", "ph": "888ab069", "equity": 92014227, "ret": -7.99}, {"id": "v229", "ph": "d9261dfb", "equity": 92014227, "ret": -7.99}, {"id": "v230", "ph": "141579fe", "equity": 92014227, "ret": -7.99}, {"id": "v235", "ph": "3e6c1666", "equity": 92014227, "ret": -7.99}, {"id": "v236", "ph": "f9c75560", "equity": 92014227, "ret": -7.99}, {"id": "v265", "ph": "7faed59d", "equity": 92014227, "ret": -7.99}, {"id": "v266", "ph": "c133b585", "equity": 92014227, "ret": -7.99}, {"id": "v271", "ph": "2b9ccdcd", "equity": 92014227, "ret": -7.99}, {"id": "v272", "ph": "2ed2027f", "equity": 92014227, "ret": -7.99}, {"id": "v277", "ph": "488b612a", "equity": 92014227, "ret": -7.99}, {"id": "v278", "ph": "861fb42b", "equity": 92014227, "ret": -7.99}, {"id": "v283", "ph": "479e4b25", "equity": 92014227, "ret": -7.99}, {"id": "v284", "ph": "261c5d58", "equity": 92014227, "ret": -7.99}, {"id": "v315", "ph": "e6d5b283", "equity": 91954633, "ret": -8.05}, {"id": "v215", "ph": "a904a49d", "equity": 91742192, "ret": -8.26}, {"id": "v308", "ph": "cb12dd0b", "equity": 91602089, "ret": -8.4}, {"id": "v310", "ph": "ec9dd55c", "equity": 91437214, "ret": -8.56}, {"id": "v305", "ph": "8cc4eea6", "equity": 91318887, "ret": -8.68}, {"id": "v105", "ph": "88395429", "equity": 91294695, "ret": -8.71}, {"id": "v303", "ph": "1a084164", "equity": 91280975, "ret": -8.72}, {"id": "v151", "ph": "2eb1dd06", "equity": 91151628, "ret": -8.85}, {"id": "v155", "ph": "31c0d84e", "equity": 91066702, "ret": -8.93}, {"id": "v302", "ph": "3f30502d", "equity": 90999999, "ret": -9.0}, {"id": "v47", "ph": "ed758fcf", "equity": 90556310, "ret": -9.44}, {"id": "v301", "ph": "30da2021", "equity": 90510544, "ret": -9.49}, {"id": "v1", "ph": "4874f4c9", "equity": 89753670, "ret": -10.25}, {"id": "v312", "ph": "4c23846f", "equity": 89629262, "ret": -10.37}, {"id": "v147", "ph": "2fbeeedb", "equity": 89491453, "ret": -10.51}, {"id": "v41", "ph": "e9d84e84", "equity": 89149905, "ret": -10.85}, {"id": "v309", "ph": "07610040", "equity": 88927631, "ret": -11.07}, {"id": "v311", "ph": "8409c6e5", "equity": 88877600, "ret": -11.12}, {"id": "v4", "ph": "b6219595", "equity": 86786797, "ret": -13.21}, {"id": "v40", "ph": "70731d89", "equity": 84949022, "ret": -15.05}, {"id": "v296", "ph": "4c554378", "equity": 84318050, "ret": -15.68}, {"id": "v298", "ph": "5d4bbec0", "equity": 84182209, "ret": -15.82}, {"id": "v299", "ph": "25046b1a", "equity": 79402935, "ret": -20.6}, {"id": "v300", "ph": "c6ddc17b", "equity": 77045856, "ret": -22.95}], "20260716": [{"id": "v321", "ph": "e82de49b", "equity": 97662800, "ret": -2.34}, {"id": "v317", "ph": "51f8ee6d", "equity": 96342751, "ret": -3.66}, {"id": "v205", "ph": "02e5a3f5", "equity": 96098532, "ret": -3.9}, {"id": "v319", "ph": "ca25f043", "equity": 95637660, "ret": -4.36}, {"id": "v197", "ph": "5c290a32", "equity": 95579791, "ret": -4.42}, {"id": "v203", "ph": "2071defa", "equity": 95582104, "ret": -4.42}, {"id": "v103", "ph": "75b0a37c", "equity": 95449502, "ret": -4.55}, {"id": "v313", "ph": "b9f4ee72", "equity": 95008900, "ret": -4.99}, {"id": "v95", "ph": "7e28e756", "equity": 94748728, "ret": -5.25}, {"id": "v199", "ph": "390bfab3", "equity": 94565021, "ret": -5.43}, {"id": "v307", "ph": "6abce93d", "equity": 94270692, "ret": -5.73}, {"id": "v101", "ph": "c4354346", "equity": 94237231, "ret": -5.76}, {"id": "v59", "ph": "1858e2ec", "equity": 94226283, "ret": -5.77}, {"id": "v157", "ph": "80f3e23b", "equity": 94217123, "ret": -5.78}, {"id": "v49", "ph": "cdba73e0", "equity": 94125926, "ret": -5.87}, {"id": "v211", "ph": "9227673c", "equity": 94095386, "ret": -5.9}, {"id": "v189", "ph": "dfdbd0c8", "equity": 93681511, "ret": -6.32}, {"id": "v314", "ph": "7511570e", "equity": 93578380, "ret": -6.42}, {"id": "v99", "ph": "fb39409b", "equity": 93562035, "ret": -6.44}, {"id": "v316", "ph": "8dc1d197", "equity": 93564398, "ret": -6.44}, {"id": "v57", "ph": "e7e98b6d", "equity": 93550050, "ret": -6.45}, {"id": "v91", "ph": "5674a3d7", "equity": 93540268, "ret": -6.46}, {"id": "v107", "ph": "be5cd36b", "equity": 93475030, "ret": -6.52}, {"id": "v87", "ph": "c0be98c0", "equity": 93437735, "ret": -6.56}, {"id": "v93", "ph": "f10d4e45", "equity": 93437735, "ret": -6.56}, {"id": "v306", "ph": "6966b8f6", "equity": 93314376, "ret": -6.69}, {"id": "v320", "ph": "48d6a9ef", "equity": 93302940, "ret": -6.7}, {"id": "v97", "ph": "ebf31977", "equity": 93246574, "ret": -6.75}, {"id": "v195", "ph": "dd89cf59", "equity": 93233458, "ret": -6.77}, {"id": "v201", "ph": "cb8a413e", "equity": 93233458, "ret": -6.77}, {"id": "v318", "ph": "c99872ef", "equity": 92972504, "ret": -7.03}, {"id": "v209", "ph": "8730802d", "equity": 92923788, "ret": -7.08}, {"id": "v81", "ph": "a6eac1e4", "equity": 92858315, "ret": -7.14}, {"id": "v167", "ph": "b6d6aed8", "equity": 92804598, "ret": -7.2}, {"id": "v159", "ph": "af80c67a", "equity": 92313584, "ret": -7.69}, {"id": "v304", "ph": "96c7e8e1", "equity": 92306951, "ret": -7.69}, {"id": "v207", "ph": "0f6601a0", "equity": 92265672, "ret": -7.73}, {"id": "v51", "ph": "21a98e46", "equity": 92228353, "ret": -7.77}, {"id": "v315", "ph": "e6d5b283", "equity": 92176927, "ret": -7.82}, {"id": "v161", "ph": "ed5677e6", "equity": 92123621, "ret": -7.88}, {"id": "v165", "ph": "8f862b27", "equity": 92123621, "ret": -7.88}, {"id": "v213", "ph": "0e1d8e45", "equity": 92105005, "ret": -7.89}, {"id": "v89", "ph": "c49d5680", "equity": 91672443, "ret": -8.33}, {"id": "v215", "ph": "a904a49d", "equity": 91600859, "ret": -8.4}, {"id": "v149", "ph": "c5329f8d", "equity": 91348894, "ret": -8.65}, {"id": "v308", "ph": "cb12dd0b", "equity": 91129257, "ret": -8.87}, {"id": "v105", "ph": "88395429", "equity": 90897351, "ret": -9.1}, {"id": "v155", "ph": "31c0d84e", "equity": 90751770, "ret": -9.25}, {"id": "v217", "ph": "4c547a61", "equity": 90452057, "ret": -9.55}, {"id": "v218", "ph": "7304d2d4", "equity": 90452057, "ret": -9.55}, {"id": "v223", "ph": "b57356b8", "equity": 90381905, "ret": -9.62}, {"id": "v224", "ph": "888ab069", "equity": 90381905, "ret": -9.62}, {"id": "v229", "ph": "d9261dfb", "equity": 90381905, "ret": -9.62}, {"id": "v230", "ph": "141579fe", "equity": 90381905, "ret": -9.62}, {"id": "v235", "ph": "3e6c1666", "equity": 90381905, "ret": -9.62}, {"id": "v236", "ph": "f9c75560", "equity": 90381905, "ret": -9.62}, {"id": "v265", "ph": "7faed59d", "equity": 90381905, "ret": -9.62}, {"id": "v266", "ph": "c133b585", "equity": 90381905, "ret": -9.62}, {"id": "v271", "ph": "2b9ccdcd", "equity": 90381905, "ret": -9.62}, {"id": "v272", "ph": "2ed2027f", "equity": 90381905, "ret": -9.62}, {"id": "v277", "ph": "488b612a", "equity": 90381905, "ret": -9.62}, {"id": "v278", "ph": "861fb42b", "equity": 90381905, "ret": -9.62}, {"id": "v283", "ph": "479e4b25", "equity": 90381905, "ret": -9.62}, {"id": "v284", "ph": "261c5d58", "equity": 90381905, "ret": -9.62}, {"id": "v301", "ph": "30da2021", "equity": 90291973, "ret": -9.71}, {"id": "v47", "ph": "ed758fcf", "equity": 90254293, "ret": -9.75}, {"id": "v305", "ph": "8cc4eea6", "equity": 90139532, "ret": -9.86}, {"id": "v310", "ph": "ec9dd55c", "equity": 89818318, "ret": -10.18}, {"id": "v303", "ph": "1a084164", "equity": 89794120, "ret": -10.21}, {"id": "v151", "ph": "2eb1dd06", "equity": 89703330, "ret": -10.3}, {"id": "v1", "ph": "4874f4c9", "equity": 89683916, "ret": -10.32}, {"id": "v302", "ph": "3f30502d", "equity": 89587578, "ret": -10.41}, {"id": "v312", "ph": "4c23846f", "equity": 89359819, "ret": -10.64}, {"id": "v309", "ph": "07610040", "equity": 88934323, "ret": -11.07}, {"id": "v311", "ph": "8409c6e5", "equity": 88468299, "ret": -11.53}, {"id": "v41", "ph": "e9d84e84", "equity": 88438727, "ret": -11.56}, {"id": "v147", "ph": "2fbeeedb", "equity": 88051474, "ret": -11.95}, {"id": "v4", "ph": "b6219595", "equity": 85931638, "ret": -14.07}, {"id": "v40", "ph": "70731d89", "equity": 84117298, "ret": -15.88}, {"id": "v296", "ph": "4c554378", "equity": 82994880, "ret": -17.01}, {"id": "v298", "ph": "5d4bbec0", "equity": 82799229, "ret": -17.2}, {"id": "v299", "ph": "25046b1a", "equity": 79039512, "ret": -20.96}, {"id": "v300", "ph": "c6ddc17b", "equity": 75498773, "ret": -24.5}], "20260720": [{"id": "v321", "ph": "e82de49b", "equity": 96303358, "ret": -3.7}, {"id": "v319", "ph": "ca25f043", "equity": 96044191, "ret": -3.96}, {"id": "v317", "ph": "51f8ee6d", "equity": 95288497, "ret": -4.71}, {"id": "v103", "ph": "75b0a37c", "equity": 93981281, "ret": -6.02}, {"id": "v205", "ph": "02e5a3f5", "equity": 93885806, "ret": -6.11}, {"id": "v203", "ph": "2071defa", "equity": 93581916, "ret": -6.42}, {"id": "v313", "ph": "b9f4ee72", "equity": 93201667, "ret": -6.8}, {"id": "v95", "ph": "7e28e756", "equity": 93141972, "ret": -6.86}, {"id": "v101", "ph": "c4354346", "equity": 92822611, "ret": -7.18}, {"id": "v197", "ph": "5c290a32", "equity": 92785025, "ret": -7.21}, {"id": "v107", "ph": "be5cd36b", "equity": 92365156, "ret": -7.63}, {"id": "v211", "ph": "9227673c", "equity": 92222608, "ret": -7.78}, {"id": "v59", "ph": "1858e2ec", "equity": 92203842, "ret": -7.8}, {"id": "v99", "ph": "fb39409b", "equity": 92148835, "ret": -7.85}, {"id": "v49", "ph": "cdba73e0", "equity": 92068274, "ret": -7.93}, {"id": "v316", "ph": "8dc1d197", "equity": 92048108, "ret": -7.95}, {"id": "v307", "ph": "6abce93d", "equity": 91964764, "ret": -8.04}, {"id": "v157", "ph": "80f3e23b", "equity": 91915976, "ret": -8.08}, {"id": "v199", "ph": "390bfab3", "equity": 91829052, "ret": -8.17}, {"id": "v318", "ph": "c99872ef", "equity": 91722878, "ret": -8.28}, {"id": "v57", "ph": "e7e98b6d", "equity": 91530428, "ret": -8.47}, {"id": "v320", "ph": "48d6a9ef", "equity": 91403769, "ret": -8.6}, {"id": "v87", "ph": "c0be98c0", "equity": 91390375, "ret": -8.61}, {"id": "v93", "ph": "f10d4e45", "equity": 91390375, "ret": -8.61}, {"id": "v97", "ph": "ebf31977", "equity": 91306098, "ret": -8.69}, {"id": "v304", "ph": "96c7e8e1", "equity": 91190931, "ret": -8.81}, {"id": "v189", "ph": "dfdbd0c8", "equity": 91179391, "ret": -8.82}, {"id": "v91", "ph": "5674a3d7", "equity": 91038152, "ret": -8.96}, {"id": "v209", "ph": "8730802d", "equity": 90834039, "ret": -9.17}, {"id": "v195", "ph": "dd89cf59", "equity": 90778699, "ret": -9.22}, {"id": "v201", "ph": "cb8a413e", "equity": 90778699, "ret": -9.22}, {"id": "v314", "ph": "7511570e", "equity": 90564147, "ret": -9.44}, {"id": "v81", "ph": "a6eac1e4", "equity": 90539154, "ret": -9.46}, {"id": "v306", "ph": "6966b8f6", "equity": 90332758, "ret": -9.67}, {"id": "v167", "ph": "b6d6aed8", "equity": 90306583, "ret": -9.69}, {"id": "v207", "ph": "0f6601a0", "equity": 90235466, "ret": -9.76}, {"id": "v215", "ph": "a904a49d", "equity": 90166566, "ret": -9.83}, {"id": "v213", "ph": "0e1d8e45", "equity": 90160174, "ret": -9.84}, {"id": "v161", "ph": "ed5677e6", "equity": 89630326, "ret": -10.37}, {"id": "v165", "ph": "8f862b27", "equity": 89630326, "ret": -10.37}, {"id": "v159", "ph": "af80c67a", "equity": 89531050, "ret": -10.47}, {"id": "v51", "ph": "21a98e46", "equity": 89486279, "ret": -10.51}, {"id": "v315", "ph": "e6d5b283", "equity": 89455929, "ret": -10.54}, {"id": "v105", "ph": "88395429", "equity": 89360548, "ret": -10.64}, {"id": "v89", "ph": "c49d5680", "equity": 89150562, "ret": -10.85}, {"id": "v308", "ph": "cb12dd0b", "equity": 88841934, "ret": -11.16}, {"id": "v310", "ph": "ec9dd55c", "equity": 88693215, "ret": -11.31}, {"id": "v155", "ph": "31c0d84e", "equity": 88538444, "ret": -11.46}, {"id": "v47", "ph": "ed758fcf", "equity": 88311396, "ret": -11.69}, {"id": "v305", "ph": "8cc4eea6", "equity": 87805982, "ret": -12.19}, {"id": "v149", "ph": "c5329f8d", "equity": 87377221, "ret": -12.62}, {"id": "v301", "ph": "30da2021", "equity": 87115160, "ret": -12.88}, {"id": "v312", "ph": "4c23846f", "equity": 86824419, "ret": -13.18}, {"id": "v217", "ph": "4c547a61", "equity": 86727416, "ret": -13.27}, {"id": "v218", "ph": "7304d2d4", "equity": 86727416, "ret": -13.27}, {"id": "v223", "ph": "b57356b8", "equity": 86665159, "ret": -13.33}, {"id": "v224", "ph": "888ab069", "equity": 86665159, "ret": -13.33}, {"id": "v229", "ph": "d9261dfb", "equity": 86665159, "ret": -13.33}, {"id": "v230", "ph": "141579fe", "equity": 86665159, "ret": -13.33}, {"id": "v235", "ph": "3e6c1666", "equity": 86665159, "ret": -13.33}, {"id": "v236", "ph": "f9c75560", "equity": 86665159, "ret": -13.33}, {"id": "v265", "ph": "7faed59d", "equity": 86665159, "ret": -13.33}, {"id": "v266", "ph": "c133b585", "equity": 86665159, "ret": -13.33}, {"id": "v271", "ph": "2b9ccdcd", "equity": 86665159, "ret": -13.33}, {"id": "v272", "ph": "2ed2027f", "equity": 86665159, "ret": -13.33}, {"id": "v277", "ph": "488b612a", "equity": 86665159, "ret": -13.33}, {"id": "v278", "ph": "861fb42b", "equity": 86665159, "ret": -13.33}, {"id": "v283", "ph": "479e4b25", "equity": 86665159, "ret": -13.33}, {"id": "v284", "ph": "261c5d58", "equity": 86665159, "ret": -13.33}, {"id": "v1", "ph": "4874f4c9", "equity": 86623058, "ret": -13.38}, {"id": "v309", "ph": "07610040", "equity": 86303983, "ret": -13.7}, {"id": "v311", "ph": "8409c6e5", "equity": 86212810, "ret": -13.79}, {"id": "v303", "ph": "1a084164", "equity": 86195681, "ret": -13.8}, {"id": "v151", "ph": "2eb1dd06", "equity": 85016045, "ret": -14.98}, {"id": "v41", "ph": "e9d84e84", "equity": 84517336, "ret": -15.48}, {"id": "v302", "ph": "3f30502d", "equity": 84451669, "ret": -15.55}, {"id": "v147", "ph": "2fbeeedb", "equity": 83598548, "ret": -16.4}, {"id": "v4", "ph": "b6219595", "equity": 81621988, "ret": -18.38}, {"id": "v296", "ph": "4c554378", "equity": 80332295, "ret": -19.67}, {"id": "v40", "ph": "70731d89", "equity": 79967856, "ret": -20.03}, {"id": "v298", "ph": "5d4bbec0", "equity": 78569163, "ret": -21.43}, {"id": "v299", "ph": "25046b1a", "equity": 74944589, "ret": -25.06}, {"id": "v300", "ph": "c6ddc17b", "equity": 71115223, "ret": -28.88}], "20260721": [{"id": "v321", "ph": "e82de49b", "equity": 96591994, "ret": -3.41}, {"id": "v319", "ph": "ca25f043", "equity": 96446024, "ret": -3.55}, {"id": "v317", "ph": "51f8ee6d", "equity": 95147797, "ret": -4.85}, {"id": "v103", "ph": "75b0a37c", "equity": 93883981, "ret": -6.12}, {"id": "v205", "ph": "02e5a3f5", "equity": 93630760, "ret": -6.37}, {"id": "v313", "ph": "b9f4ee72", "equity": 93214559, "ret": -6.79}, {"id": "v203", "ph": "2071defa", "equity": 93087341, "ret": -6.91}, {"id": "v101", "ph": "c4354346", "equity": 92722111, "ret": -7.28}, {"id": "v197", "ph": "5c290a32", "equity": 92429405, "ret": -7.57}, {"id": "v95", "ph": "7e28e756", "equity": 92395930, "ret": -7.6}, {"id": "v59", "ph": "1858e2ec", "equity": 92162442, "ret": -7.84}, {"id": "v211", "ph": "9227673c", "equity": 92124448, "ret": -7.88}, {"id": "v99", "ph": "fb39409b", "equity": 92048335, "ret": -7.95}, {"id": "v316", "ph": "8dc1d197", "equity": 92025212, "ret": -7.97}, {"id": "v107", "ph": "be5cd36b", "equity": 91820632, "ret": -8.18}, {"id": "v307", "ph": "6abce93d", "equity": 91510486, "ret": -8.49}, {"id": "v57", "ph": "e7e98b6d", "equity": 91488608, "ret": -8.51}, {"id": "v49", "ph": "cdba73e0", "equity": 91443759, "ret": -8.56}, {"id": "v157", "ph": "80f3e23b", "equity": 91414714, "ret": -8.59}, {"id": "v320", "ph": "48d6a9ef", "equity": 91379973, "ret": -8.62}, {"id": "v199", "ph": "390bfab3", "equity": 91374084, "ret": -8.63}, {"id": "v318", "ph": "c99872ef", "equity": 91356580, "ret": -8.64}, {"id": "v97", "ph": "ebf31977", "equity": 91347946, "ret": -8.65}, {"id": "v304", "ph": "96c7e8e1", "equity": 91228811, "ret": -8.77}, {"id": "v87", "ph": "c0be98c0", "equity": 91188775, "ret": -8.81}, {"id": "v93", "ph": "f10d4e45", "equity": 91188775, "ret": -8.81}, {"id": "v91", "ph": "5674a3d7", "equity": 90877452, "ret": -9.12}, {"id": "v209", "ph": "8730802d", "equity": 90733539, "ret": -9.27}, {"id": "v195", "ph": "dd89cf59", "equity": 90576255, "ret": -9.42}, {"id": "v201", "ph": "cb8a413e", "equity": 90576255, "ret": -9.42}, {"id": "v189", "ph": "dfdbd0c8", "equity": 90513367, "ret": -9.49}, {"id": "v314", "ph": "7511570e", "equity": 90457850, "ret": -9.54}, {"id": "v306", "ph": "6966b8f6", "equity": 90451761, "ret": -9.55}, {"id": "v167", "ph": "b6d6aed8", "equity": 90194183, "ret": -9.81}, {"id": "v207", "ph": "0f6601a0", "equity": 90128866, "ret": -9.87}, {"id": "v213", "ph": "0e1d8e45", "equity": 89791224, "ret": -10.21}, {"id": "v81", "ph": "a6eac1e4", "equity": 89684613, "ret": -10.32}, {"id": "v215", "ph": "a904a49d", "equity": 89631706, "ret": -10.37}, {"id": "v161", "ph": "ed5677e6", "equity": 89518526, "ret": -10.48}, {"id": "v165", "ph": "8f862b27", "equity": 89518526, "ret": -10.48}, {"id": "v315", "ph": "e6d5b283", "equity": 89479409, "ret": -10.52}, {"id": "v89", "ph": "c49d5680", "equity": 89096535, "ret": -10.9}, {"id": "v159", "ph": "af80c67a", "equity": 88860327, "ret": -11.14}, {"id": "v51", "ph": "21a98e46", "equity": 88745286, "ret": -11.25}, {"id": "v105", "ph": "88395429", "equity": 88751830, "ret": -11.25}, {"id": "v308", "ph": "cb12dd0b", "equity": 88706257, "ret": -11.29}, {"id": "v310", "ph": "ec9dd55c", "equity": 88585915, "ret": -11.41}, {"id": "v155", "ph": "31c0d84e", "equity": 88148500, "ret": -11.85}, {"id": "v305", "ph": "8cc4eea6", "equity": 87864506, "ret": -12.14}, {"id": "v47", "ph": "ed758fcf", "equity": 87810183, "ret": -12.19}, {"id": "v301", "ph": "30da2021", "equity": 87082070, "ret": -12.92}, {"id": "v312", "ph": "4c23846f", "equity": 87081619, "ret": -12.92}, {"id": "v149", "ph": "c5329f8d", "equity": 86977446, "ret": -13.02}, {"id": "v1", "ph": "4874f4c9", "equity": 86563348, "ret": -13.44}, {"id": "v309", "ph": "07610040", "equity": 86463979, "ret": -13.54}, {"id": "v311", "ph": "8409c6e5", "equity": 86101230, "ret": -13.9}, {"id": "v217", "ph": "4c547a61", "equity": 86090367, "ret": -13.91}, {"id": "v218", "ph": "7304d2d4", "equity": 86090367, "ret": -13.91}, {"id": "v223", "ph": "b57356b8", "equity": 86028111, "ret": -13.97}, {"id": "v224", "ph": "888ab069", "equity": 86028111, "ret": -13.97}, {"id": "v229", "ph": "d9261dfb", "equity": 86028111, "ret": -13.97}, {"id": "v230", "ph": "141579fe", "equity": 86028111, "ret": -13.97}, {"id": "v235", "ph": "3e6c1666", "equity": 86028111, "ret": -13.97}, {"id": "v236", "ph": "f9c75560", "equity": 86028111, "ret": -13.97}, {"id": "v265", "ph": "7faed59d", "equity": 86028111, "ret": -13.97}, {"id": "v266", "ph": "c133b585", "equity": 86028111, "ret": -13.97}, {"id": "v271", "ph": "2b9ccdcd", "equity": 86028111, "ret": -13.97}, {"id": "v272", "ph": "2ed2027f", "equity": 86028111, "ret": -13.97}, {"id": "v277", "ph": "488b612a", "equity": 86028111, "ret": -13.97}, {"id": "v278", "ph": "861fb42b", "equity": 86028111, "ret": -13.97}, {"id": "v283", "ph": "479e4b25", "equity": 86028111, "ret": -13.97}, {"id": "v284", "ph": "261c5d58", "equity": 86028111, "ret": -13.97}, {"id": "v303", "ph": "1a084164", "equity": 85800353, "ret": -14.2}, {"id": "v151", "ph": "2eb1dd06", "equity": 84317520, "ret": -15.68}, {"id": "v302", "ph": "3f30502d", "equity": 84240679, "ret": -15.76}, {"id": "v41", "ph": "e9d84e84", "equity": 84181614, "ret": -15.82}, {"id": "v147", "ph": "2fbeeedb", "equity": 82857327, "ret": -17.14}, {"id": "v4", "ph": "b6219595", "equity": 81505657, "ret": -18.49}, {"id": "v296", "ph": "4c554378", "equity": 80029835, "ret": -19.97}, {"id": "v40", "ph": "70731d89", "equity": 79724166, "ret": -20.28}, {"id": "v298", "ph": "5d4bbec0", "equity": 78134788, "ret": -21.87}, {"id": "v299", "ph": "25046b1a", "equity": 75186062, "ret": -24.81}, {"id": "v300", "ph": "c6ddc17b", "equity": 70909523, "ret": -29.09}], "20260722": [{"id": "v319", "ph": "ca25f043", "equity": 96641404, "ret": -3.36}, {"id": "v321", "ph": "e82de49b", "equity": 95537377, "ret": -4.46}, {"id": "v317", "ph": "51f8ee6d", "equity": 94531711, "ret": -5.47}, {"id": "v103", "ph": "75b0a37c", "equity": 93201324, "ret": -6.8}, {"id": "v313", "ph": "b9f4ee72", "equity": 92977447, "ret": -7.02}, {"id": "v203", "ph": "2071defa", "equity": 92580836, "ret": -7.42}, {"id": "v101", "ph": "c4354346", "equity": 92115111, "ret": -7.88}, {"id": "v205", "ph": "02e5a3f5", "equity": 92057986, "ret": -7.94}, {"id": "v95", "ph": "7e28e756", "equity": 91889124, "ret": -8.11}, {"id": "v59", "ph": "1858e2ec", "equity": 91558042, "ret": -8.44}, {"id": "v316", "ph": "8dc1d197", "equity": 91493287, "ret": -8.51}, {"id": "v99", "ph": "fb39409b", "equity": 91441335, "ret": -8.56}, {"id": "v211", "ph": "9227673c", "equity": 91363538, "ret": -8.64}, {"id": "v107", "ph": "be5cd36b", "equity": 91245339, "ret": -8.75}, {"id": "v49", "ph": "cdba73e0", "equity": 90956284, "ret": -9.04}, {"id": "v57", "ph": "e7e98b6d", "equity": 90884208, "ret": -9.12}, {"id": "v157", "ph": "80f3e23b", "equity": 90863739, "ret": -9.14}, {"id": "v320", "ph": "48d6a9ef", "equity": 90822660, "ret": -9.18}, {"id": "v307", "ph": "6abce93d", "equity": 90804817, "ret": -9.2}, {"id": "v199", "ph": "390bfab3", "equity": 90742209, "ret": -9.26}, {"id": "v197", "ph": "5c290a32", "equity": 90666801, "ret": -9.33}, {"id": "v318", "ph": "c99872ef", "equity": 90516380, "ret": -9.48}, {"id": "v87", "ph": "c0be98c0", "equity": 90307213, "ret": -9.69}, {"id": "v93", "ph": "f10d4e45", "equity": 90307213, "ret": -9.69}, {"id": "v304", "ph": "96c7e8e1", "equity": 90277144, "ret": -9.72}, {"id": "v209", "ph": "8730802d", "equity": 90126539, "ret": -9.87}, {"id": "v91", "ph": "5674a3d7", "equity": 90021177, "ret": -9.98}, {"id": "v314", "ph": "7511570e", "equity": 89783375, "ret": -10.22}, {"id": "v189", "ph": "dfdbd0c8", "equity": 89633593, "ret": -10.37}, {"id": "v195", "ph": "dd89cf59", "equity": 89617275, "ret": -10.38}, {"id": "v201", "ph": "cb8a413e", "equity": 89617275, "ret": -10.38}, {"id": "v167", "ph": "b6d6aed8", "equity": 89610883, "ret": -10.39}, {"id": "v97", "ph": "ebf31977", "equity": 89568560, "ret": -10.43}, {"id": "v207", "ph": "0f6601a0", "equity": 89545866, "ret": -10.45}, {"id": "v215", "ph": "a904a49d", "equity": 88987147, "ret": -11.01}, {"id": "v161", "ph": "ed5677e6", "equity": 88936526, "ret": -11.06}, {"id": "v165", "ph": "8f862b27", "equity": 88936526, "ret": -11.06}, {"id": "v81", "ph": "a6eac1e4", "equity": 88933538, "ret": -11.07}, {"id": "v315", "ph": "e6d5b283", "equity": 88851609, "ret": -11.15}, {"id": "v306", "ph": "6966b8f6", "equity": 88712580, "ret": -11.29}, {"id": "v213", "ph": "0e1d8e45", "equity": 88203339, "ret": -11.8}, {"id": "v310", "ph": "ec9dd55c", "equity": 88037815, "ret": -11.96}, {"id": "v51", "ph": "21a98e46", "equity": 88001642, "ret": -12.0}, {"id": "v159", "ph": "af80c67a", "equity": 87978483, "ret": -12.02}, {"id": "v105", "ph": "88395429", "equity": 87164209, "ret": -12.84}, {"id": "v89", "ph": "c49d5680", "equity": 87152293, "ret": -12.85}, {"id": "v308", "ph": "cb12dd0b", "equity": 86987617, "ret": -13.01}, {"id": "v305", "ph": "8cc4eea6", "equity": 86676626, "ret": -13.32}, {"id": "v155", "ph": "31c0d84e", "equity": 86517483, "ret": -13.48}, {"id": "v301", "ph": "30da2021", "equity": 86299570, "ret": -13.7}, {"id": "v47", "ph": "ed758fcf", "equity": 86262582, "ret": -13.74}, {"id": "v312", "ph": "4c23846f", "equity": 85729419, "ret": -14.27}, {"id": "v1", "ph": "4874f4c9", "equity": 85660548, "ret": -14.34}, {"id": "v149", "ph": "c5329f8d", "equity": 85242679, "ret": -14.76}, {"id": "v303", "ph": "1a084164", "equity": 85186241, "ret": -14.81}, {"id": "v311", "ph": "8409c6e5", "equity": 85184230, "ret": -14.82}, {"id": "v218", "ph": "7304d2d4", "equity": 85145383, "ret": -14.85}, {"id": "v217", "ph": "4c547a61", "equity": 85097376, "ret": -14.9}, {"id": "v223", "ph": "b57356b8", "equity": 85083127, "ret": -14.92}, {"id": "v224", "ph": "888ab069", "equity": 85083127, "ret": -14.92}, {"id": "v229", "ph": "d9261dfb", "equity": 85083127, "ret": -14.92}, {"id": "v230", "ph": "141579fe", "equity": 85083127, "ret": -14.92}, {"id": "v235", "ph": "3e6c1666", "equity": 85083127, "ret": -14.92}, {"id": "v236", "ph": "f9c75560", "equity": 85083127, "ret": -14.92}, {"id": "v265", "ph": "7faed59d", "equity": 85083127, "ret": -14.92}, {"id": "v266", "ph": "c133b585", "equity": 85083127, "ret": -14.92}, {"id": "v271", "ph": "2b9ccdcd", "equity": 85083127, "ret": -14.92}, {"id": "v272", "ph": "2ed2027f", "equity": 85083127, "ret": -14.92}, {"id": "v277", "ph": "488b612a", "equity": 85083127, "ret": -14.92}, {"id": "v278", "ph": "861fb42b", "equity": 85083127, "ret": -14.92}, {"id": "v283", "ph": "479e4b25", "equity": 85083127, "ret": -14.92}, {"id": "v284", "ph": "261c5d58", "equity": 85083127, "ret": -14.92}, {"id": "v309", "ph": "07610040", "equity": 84801897, "ret": -15.2}, {"id": "v302", "ph": "3f30502d", "equity": 82984780, "ret": -17.02}, {"id": "v41", "ph": "e9d84e84", "equity": 82442562, "ret": -17.56}, {"id": "v151", "ph": "2eb1dd06", "equity": 82206766, "ret": -17.79}, {"id": "v147", "ph": "2fbeeedb", "equity": 80675705, "ret": -19.32}, {"id": "v4", "ph": "b6219595", "equity": 79163178, "ret": -20.84}, {"id": "v296", "ph": "4c554378", "equity": 79015755, "ret": -20.98}, {"id": "v40", "ph": "70731d89", "equity": 77413917, "ret": -22.59}, {"id": "v298", "ph": "5d4bbec0", "equity": 77045963, "ret": -22.95}, {"id": "v299", "ph": "25046b1a", "equity": 73699362, "ret": -26.3}, {"id": "v300", "ph": "c6ddc17b", "equity": 70020634, "ret": -29.98}], "20260723": [{"id": "v319", "ph": "ca25f043", "equity": 97344281, "ret": -2.66}, {"id": "v321", "ph": "e82de49b", "equity": 96850290, "ret": -3.15}, {"id": "v317", "ph": "51f8ee6d", "equity": 95483411, "ret": -4.52}, {"id": "v103", "ph": "75b0a37c", "equity": 94719243, "ret": -5.28}, {"id": "v203", "ph": "2071defa", "equity": 94158254, "ret": -5.84}, {"id": "v313", "ph": "b9f4ee72", "equity": 93714884, "ret": -6.29}, {"id": "v101", "ph": "c4354346", "equity": 93675266, "ret": -6.32}, {"id": "v95", "ph": "7e28e756", "equity": 93472137, "ret": -6.53}, {"id": "v205", "ph": "02e5a3f5", "equity": 93469960, "ret": -6.53}, {"id": "v59", "ph": "1858e2ec", "equity": 93262679, "ret": -6.74}, {"id": "v99", "ph": "fb39409b", "equity": 92998776, "ret": -7.0}, {"id": "v211", "ph": "9227673c", "equity": 92839096, "ret": -7.16}, {"id": "v107", "ph": "be5cd36b", "equity": 92768400, "ret": -7.23}, {"id": "v49", "ph": "cdba73e0", "equity": 92637002, "ret": -7.36}, {"id": "v57", "ph": "e7e98b6d", "equity": 92587857, "ret": -7.41}, {"id": "v157", "ph": "80f3e23b", "equity": 92198402, "ret": -7.8}, {"id": "v197", "ph": "5c290a32", "equity": 92020162, "ret": -7.98}, {"id": "v318", "ph": "c99872ef", "equity": 91922879, "ret": -8.08}, {"id": "v199", "ph": "390bfab3", "equity": 91822113, "ret": -8.18}, {"id": "v87", "ph": "c0be98c0", "equity": 91746796, "ret": -8.25}, {"id": "v93", "ph": "f10d4e45", "equity": 91746796, "ret": -8.25}, {"id": "v316", "ph": "8dc1d197", "equity": 91739958, "ret": -8.26}, {"id": "v209", "ph": "8730802d", "equity": 91679109, "ret": -8.32}, {"id": "v307", "ph": "6abce93d", "equity": 91621406, "ret": -8.38}, {"id": "v91", "ph": "5674a3d7", "equity": 91420862, "ret": -8.58}, {"id": "v167", "ph": "b6d6aed8", "equity": 91099221, "ret": -8.9}, {"id": "v320", "ph": "48d6a9ef", "equity": 91086838, "ret": -8.91}, {"id": "v207", "ph": "0f6601a0", "equity": 91055209, "ret": -8.94}, {"id": "v315", "ph": "e6d5b283", "equity": 91044857, "ret": -8.96}, {"id": "v195", "ph": "dd89cf59", "equity": 91023841, "ret": -8.98}, {"id": "v201", "ph": "cb8a413e", "equity": 91023841, "ret": -8.98}, {"id": "v189", "ph": "dfdbd0c8", "equity": 90930405, "ret": -9.07}, {"id": "v97", "ph": "ebf31977", "equity": 90916706, "ret": -9.08}, {"id": "v304", "ph": "96c7e8e1", "equity": 90835706, "ret": -9.16}, {"id": "v314", "ph": "7511570e", "equity": 90554102, "ret": -9.45}, {"id": "v215", "ph": "a904a49d", "equity": 90456632, "ret": -9.54}, {"id": "v161", "ph": "ed5677e6", "equity": 90423951, "ret": -9.58}, {"id": "v165", "ph": "8f862b27", "equity": 90423951, "ret": -9.58}, {"id": "v81", "ph": "a6eac1e4", "equity": 90376813, "ret": -9.62}, {"id": "v306", "ph": "6966b8f6", "equity": 90321719, "ret": -9.68}, {"id": "v213", "ph": "0e1d8e45", "equity": 89961686, "ret": -10.04}, {"id": "v51", "ph": "21a98e46", "equity": 89571712, "ret": -10.43}, {"id": "v159", "ph": "af80c67a", "equity": 89135465, "ret": -10.86}, {"id": "v105", "ph": "88395429", "equity": 88920614, "ret": -11.08}, {"id": "v310", "ph": "ec9dd55c", "equity": 88699473, "ret": -11.3}, {"id": "v308", "ph": "cb12dd0b", "equity": 88514255, "ret": -11.49}, {"id": "v89", "ph": "c49d5680", "equity": 88441737, "ret": -11.56}, {"id": "v301", "ph": "30da2021", "equity": 88202693, "ret": -11.8}, {"id": "v1", "ph": "4874f4c9", "equity": 88009125, "ret": -11.99}, {"id": "v47", "ph": "ed758fcf", "equity": 87718830, "ret": -12.28}, {"id": "v312", "ph": "4c23846f", "equity": 87724114, "ret": -12.28}, {"id": "v305", "ph": "8cc4eea6", "equity": 87671213, "ret": -12.33}, {"id": "v155", "ph": "31c0d84e", "equity": 87570429, "ret": -12.43}, {"id": "v309", "ph": "07610040", "equity": 86809577, "ret": -13.19}, {"id": "v311", "ph": "8409c6e5", "equity": 86747172, "ret": -13.25}, {"id": "v149", "ph": "c5329f8d", "equity": 86595308, "ret": -13.4}, {"id": "v303", "ph": "1a084164", "equity": 86502167, "ret": -13.5}, {"id": "v217", "ph": "4c547a61", "equity": 86319467, "ret": -13.68}, {"id": "v223", "ph": "b57356b8", "equity": 86305218, "ret": -13.69}, {"id": "v229", "ph": "d9261dfb", "equity": 86305218, "ret": -13.69}, {"id": "v235", "ph": "3e6c1666", "equity": 86305218, "ret": -13.69}, {"id": "v265", "ph": "7faed59d", "equity": 86305218, "ret": -13.69}, {"id": "v271", "ph": "2b9ccdcd", "equity": 86305218, "ret": -13.69}, {"id": "v277", "ph": "488b612a", "equity": 86305218, "ret": -13.69}, {"id": "v283", "ph": "479e4b25", "equity": 86305218, "ret": -13.69}, {"id": "v218", "ph": "7304d2d4", "equity": 86106155, "ret": -13.89}, {"id": "v224", "ph": "888ab069", "equity": 86043899, "ret": -13.96}, {"id": "v230", "ph": "141579fe", "equity": 86043899, "ret": -13.96}, {"id": "v236", "ph": "f9c75560", "equity": 86043899, "ret": -13.96}, {"id": "v266", "ph": "c133b585", "equity": 86043899, "ret": -13.96}, {"id": "v272", "ph": "2ed2027f", "equity": 86043899, "ret": -13.96}, {"id": "v278", "ph": "861fb42b", "equity": 86043899, "ret": -13.96}, {"id": "v284", "ph": "261c5d58", "equity": 86043899, "ret": -13.96}, {"id": "v302", "ph": "3f30502d", "equity": 84642676, "ret": -15.36}, {"id": "v41", "ph": "e9d84e84", "equity": 84069115, "ret": -15.93}, {"id": "v151", "ph": "2eb1dd06", "equity": 83455339, "ret": -16.54}, {"id": "v147", "ph": "2fbeeedb", "equity": 81819890, "ret": -18.18}, {"id": "v4", "ph": "b6219595", "equity": 81192265, "ret": -18.81}, {"id": "v296", "ph": "4c554378", "equity": 80153572, "ret": -19.85}, {"id": "v298", "ph": "5d4bbec0", "equity": 79608330, "ret": -20.39}, {"id": "v40", "ph": "70731d89", "equity": 79425329, "ret": -20.57}, {"id": "v299", "ph": "25046b1a", "equity": 75593122, "ret": -24.41}, {"id": "v300", "ph": "c6ddc17b", "equity": 70280913, "ret": -29.72}], "20260724": [{"id": "v321", "ph": "e82de49b", "equity": 96237233, "ret": -3.76}, {"id": "v319", "ph": "ca25f043", "equity": 96203069, "ret": -3.8}, {"id": "v317", "ph": "51f8ee6d", "equity": 95142012, "ret": -4.86}, {"id": "v103", "ph": "75b0a37c", "equity": 94389132, "ret": -5.61}, {"id": "v203", "ph": "2071defa", "equity": 94123912, "ret": -5.88}, {"id": "v101", "ph": "c4354346", "equity": 93837838, "ret": -6.16}, {"id": "v59", "ph": "1858e2ec", "equity": 93439966, "ret": -6.56}, {"id": "v95", "ph": "7e28e756", "equity": 93440053, "ret": -6.56}, {"id": "v99", "ph": "fb39409b", "equity": 93161488, "ret": -6.84}, {"id": "v313", "ph": "b9f4ee72", "equity": 93040980, "ret": -6.96}, {"id": "v57", "ph": "e7e98b6d", "equity": 92766145, "ret": -7.23}, {"id": "v205", "ph": "02e5a3f5", "equity": 92735433, "ret": -7.26}, {"id": "v49", "ph": "cdba73e0", "equity": 92627409, "ret": -7.37}, {"id": "v211", "ph": "9227673c", "equity": 92514138, "ret": -7.49}, {"id": "v157", "ph": "80f3e23b", "equity": 92321501, "ret": -7.68}, {"id": "v107", "ph": "be5cd36b", "equity": 92301034, "ret": -7.7}, {"id": "v318", "ph": "c99872ef", "equity": 92080434, "ret": -7.92}, {"id": "v209", "ph": "8730802d", "equity": 91841028, "ret": -8.16}, {"id": "v87", "ph": "c0be98c0", "equity": 91427126, "ret": -8.57}, {"id": "v93", "ph": "f10d4e45", "equity": 91427126, "ret": -8.57}, {"id": "v199", "ph": "390bfab3", "equity": 91380551, "ret": -8.62}, {"id": "v167", "ph": "b6d6aed8", "equity": 91262815, "ret": -8.74}, {"id": "v207", "ph": "0f6601a0", "equity": 91216803, "ret": -8.78}, {"id": "v197", "ph": "5c290a32", "equity": 91077525, "ret": -8.92}, {"id": "v316", "ph": "8dc1d197", "equity": 91062293, "ret": -8.94}, {"id": "v91", "ph": "5674a3d7", "equity": 91042619, "ret": -8.96}, {"id": "v307", "ph": "6abce93d", "equity": 90976224, "ret": -9.02}, {"id": "v315", "ph": "e6d5b283", "equity": 90845783, "ret": -9.15}, {"id": "v195", "ph": "dd89cf59", "equity": 90706261, "ret": -9.29}, {"id": "v201", "ph": "cb8a413e", "equity": 90706261, "ret": -9.29}, {"id": "v161", "ph": "ed5677e6", "equity": 90585528, "ret": -9.41}, {"id": "v165", "ph": "8f862b27", "equity": 90585528, "ret": -9.41}, {"id": "v189", "ph": "dfdbd0c8", "equity": 90470422, "ret": -9.53}, {"id": "v320", "ph": "48d6a9ef", "equity": 90368822, "ret": -9.63}, {"id": "v314", "ph": "7511570e", "equity": 90252487, "ret": -9.75}, {"id": "v304", "ph": "96c7e8e1", "equity": 90177917, "ret": -9.82}, {"id": "v97", "ph": "ebf31977", "equity": 90152329, "ret": -9.85}, {"id": "v215", "ph": "a904a49d", "equity": 90016445, "ret": -9.98}, {"id": "v81", "ph": "a6eac1e4", "equity": 89712670, "ret": -10.29}, {"id": "v306", "ph": "6966b8f6", "equity": 89501964, "ret": -10.5}, {"id": "v213", "ph": "0e1d8e45", "equity": 89150614, "ret": -10.85}, {"id": "v51", "ph": "21a98e46", "equity": 88932420, "ret": -11.07}, {"id": "v159", "ph": "af80c67a", "equity": 88745758, "ret": -11.25}, {"id": "v301", "ph": "30da2021", "equity": 88250018, "ret": -11.75}, {"id": "v1", "ph": "4874f4c9", "equity": 88118722, "ret": -11.88}, {"id": "v105", "ph": "88395429", "equity": 88117432, "ret": -11.88}, {"id": "v310", "ph": "ec9dd55c", "equity": 88076730, "ret": -11.92}, {"id": "v308", "ph": "cb12dd0b", "equity": 87474376, "ret": -12.53}, {"id": "v312", "ph": "4c23846f", "equity": 87471024, "ret": -12.53}, {"id": "v89", "ph": "c49d5680", "equity": 87455787, "ret": -12.54}, {"id": "v305", "ph": "8cc4eea6", "equity": 86976768, "ret": -13.02}, {"id": "v47", "ph": "ed758fcf", "equity": 86781583, "ret": -13.22}, {"id": "v309", "ph": "07610040", "equity": 86727542, "ret": -13.27}, {"id": "v155", "ph": "31c0d84e", "equity": 86636675, "ret": -13.36}, {"id": "v311", "ph": "8409c6e5", "equity": 86322712, "ret": -13.68}, {"id": "v303", "ph": "1a084164", "equity": 85646622, "ret": -14.35}, {"id": "v217", "ph": "4c547a61", "equity": 85578880, "ret": -14.42}, {"id": "v223", "ph": "b57356b8", "equity": 85564631, "ret": -14.44}, {"id": "v229", "ph": "d9261dfb", "equity": 85564631, "ret": -14.44}, {"id": "v235", "ph": "3e6c1666", "equity": 85564631, "ret": -14.44}, {"id": "v265", "ph": "7faed59d", "equity": 85564631, "ret": -14.44}, {"id": "v271", "ph": "2b9ccdcd", "equity": 85564631, "ret": -14.44}, {"id": "v277", "ph": "488b612a", "equity": 85564631, "ret": -14.44}, {"id": "v283", "ph": "479e4b25", "equity": 85564631, "ret": -14.44}, {"id": "v149", "ph": "c5329f8d", "equity": 85370732, "ret": -14.63}, {"id": "v218", "ph": "7304d2d4", "equity": 85156011, "ret": -14.84}, {"id": "v224", "ph": "888ab069", "equity": 85093755, "ret": -14.91}, {"id": "v230", "ph": "141579fe", "equity": 85093755, "ret": -14.91}, {"id": "v236", "ph": "f9c75560", "equity": 85093755, "ret": -14.91}, {"id": "v266", "ph": "c133b585", "equity": 85093755, "ret": -14.91}, {"id": "v272", "ph": "2ed2027f", "equity": 85093755, "ret": -14.91}, {"id": "v278", "ph": "861fb42b", "equity": 85093755, "ret": -14.91}, {"id": "v284", "ph": "261c5d58", "equity": 85093755, "ret": -14.91}, {"id": "v302", "ph": "3f30502d", "equity": 83847192, "ret": -16.15}, {"id": "v41", "ph": "e9d84e84", "equity": 82899458, "ret": -17.1}, {"id": "v151", "ph": "2eb1dd06", "equity": 81773497, "ret": -18.23}, {"id": "v147", "ph": "2fbeeedb", "equity": 80283719, "ret": -19.72}, {"id": "v296", "ph": "4c554378", "equity": 79663192, "ret": -20.34}, {"id": "v4", "ph": "b6219595", "equity": 79399957, "ret": -20.6}, {"id": "v298", "ph": "5d4bbec0", "equity": 79128726, "ret": -20.87}, {"id": "v40", "ph": "70731d89", "equity": 77672758, "ret": -22.33}, {"id": "v299", "ph": "25046b1a", "equity": 74613187, "ret": -25.39}, {"id": "v300", "ph": "c6ddc17b", "equity": 68893661, "ret": -31.11}], "20260727": [{"id": "v319", "ph": "ca25f043", "equity": 96215398, "ret": -3.78}, {"id": "v321", "ph": "e82de49b", "equity": 96119353, "ret": -3.88}, {"id": "v317", "ph": "51f8ee6d", "equity": 94365997, "ret": -5.63}, {"id": "v313", "ph": "b9f4ee72", "equity": 92087348, "ret": -7.91}, {"id": "v205", "ph": "02e5a3f5", "equity": 91566888, "ret": -8.43}, {"id": "v103", "ph": "75b0a37c", "equity": 91527732, "ret": -8.47}, {"id": "v318", "ph": "c99872ef", "equity": 91436234, "ret": -8.56}, {"id": "v101", "ph": "c4354346", "equity": 91386557, "ret": -8.61}, {"id": "v316", "ph": "8dc1d197", "equity": 91315493, "ret": -8.68}, {"id": "v203", "ph": "2071defa", "equity": 91263472, "ret": -8.74}, {"id": "v59", "ph": "1858e2ec", "equity": 91203098, "ret": -8.8}, {"id": "v99", "ph": "fb39409b", "equity": 90724166, "ret": -9.28}, {"id": "v95", "ph": "7e28e756", "equity": 90643772, "ret": -9.36}, {"id": "v320", "ph": "48d6a9ef", "equity": 90640222, "ret": -9.36}, {"id": "v57", "ph": "e7e98b6d", "equity": 90538996, "ret": -9.46}, {"id": "v304", "ph": "96c7e8e1", "equity": 90010466, "ret": -9.99}, {"id": "v197", "ph": "5c290a32", "equity": 89994081, "ret": -10.01}, {"id": "v49", "ph": "cdba73e0", "equity": 89967305, "ret": -10.03}, {"id": "v307", "ph": "6abce93d", "equity": 89797098, "ret": -10.2}, {"id": "v211", "ph": "9227673c", "equity": 89696806, "ret": -10.3}, {"id": "v157", "ph": "80f3e23b", "equity": 89520572, "ret": -10.48}, {"id": "v97", "ph": "ebf31977", "equity": 89499524, "ret": -10.5}, {"id": "v209", "ph": "8730802d", "equity": 89427970, "ret": -10.57}, {"id": "v315", "ph": "e6d5b283", "equity": 89407562, "ret": -10.59}, {"id": "v314", "ph": "7511570e", "equity": 89232014, "ret": -10.77}, {"id": "v199", "ph": "390bfab3", "equity": 89136479, "ret": -10.86}, {"id": "v107", "ph": "be5cd36b", "equity": 88997031, "ret": -11.0}, {"id": "v306", "ph": "6966b8f6", "equity": 88898954, "ret": -11.1}, {"id": "v167", "ph": "b6d6aed8", "equity": 88855562, "ret": -11.14}, {"id": "v91", "ph": "5674a3d7", "equity": 88823953, "ret": -11.18}, {"id": "v207", "ph": "0f6601a0", "equity": 88816070, "ret": -11.18}, {"id": "v87", "ph": "c0be98c0", "equity": 88636523, "ret": -11.36}, {"id": "v93", "ph": "f10d4e45", "equity": 88636523, "ret": -11.36}, {"id": "v161", "ph": "ed5677e6", "equity": 88195113, "ret": -11.8}, {"id": "v165", "ph": "8f862b27", "equity": 88195113, "ret": -11.8}, {"id": "v195", "ph": "dd89cf59", "equity": 87928163, "ret": -12.07}, {"id": "v201", "ph": "cb8a413e", "equity": 87928163, "ret": -12.07}, {"id": "v310", "ph": "ec9dd55c", "equity": 87713974, "ret": -12.29}, {"id": "v189", "ph": "dfdbd0c8", "equity": 87256821, "ret": -12.74}, {"id": "v213", "ph": "0e1d8e45", "equity": 87225882, "ret": -12.77}, {"id": "v89", "ph": "c49d5680", "equity": 86914225, "ret": -13.09}, {"id": "v215", "ph": "a904a49d", "equity": 86794256, "ret": -13.21}, {"id": "v305", "ph": "8cc4eea6", "equity": 86692434, "ret": -13.31}, {"id": "v81", "ph": "a6eac1e4", "equity": 86512696, "ret": -13.49}, {"id": "v308", "ph": "cb12dd0b", "equity": 86242151, "ret": -13.76}, {"id": "v312", "ph": "4c23846f", "equity": 86237324, "ret": -13.76}, {"id": "v105", "ph": "88395429", "equity": 86181944, "ret": -13.82}, {"id": "v47", "ph": "ed758fcf", "equity": 85970426, "ret": -14.03}, {"id": "v51", "ph": "21a98e46", "equity": 85923618, "ret": -14.08}, {"id": "v311", "ph": "8409c6e5", "equity": 85840299, "ret": -14.16}, {"id": "v159", "ph": "af80c67a", "equity": 85556128, "ret": -14.44}, {"id": "v309", "ph": "07610040", "equity": 85212542, "ret": -14.79}, {"id": "v301", "ph": "30da2021", "equity": 85064270, "ret": -14.94}, {"id": "v155", "ph": "31c0d84e", "equity": 84722023, "ret": -15.28}, {"id": "v1", "ph": "4874f4c9", "equity": 84354514, "ret": -15.65}, {"id": "v149", "ph": "c5329f8d", "equity": 84276130, "ret": -15.72}, {"id": "v303", "ph": "1a084164", "equity": 84040178, "ret": -15.96}, {"id": "v223", "ph": "b57356b8", "equity": 83914010, "ret": -16.09}, {"id": "v235", "ph": "3e6c1666", "equity": 83914010, "ret": -16.09}, {"id": "v265", "ph": "7faed59d", "equity": 83914010, "ret": -16.09}, {"id": "v271", "ph": "2b9ccdcd", "equity": 83914010, "ret": -16.09}, {"id": "v217", "ph": "4c547a61", "equity": 83870676, "ret": -16.13}, {"id": "v229", "ph": "d9261dfb", "equity": 83856427, "ret": -16.14}, {"id": "v277", "ph": "488b612a", "equity": 83856427, "ret": -16.14}, {"id": "v283", "ph": "479e4b25", "equity": 83856427, "ret": -16.14}, {"id": "v224", "ph": "888ab069", "equity": 82980608, "ret": -17.02}, {"id": "v236", "ph": "f9c75560", "equity": 82980608, "ret": -17.02}, {"id": "v266", "ph": "c133b585", "equity": 82980608, "ret": -17.02}, {"id": "v272", "ph": "2ed2027f", "equity": 82980608, "ret": -17.02}, {"id": "v218", "ph": "7304d2d4", "equity": 82969395, "ret": -17.03}, {"id": "v230", "ph": "141579fe", "equity": 82907139, "ret": -17.09}, {"id": "v278", "ph": "861fb42b", "equity": 82907139, "ret": -17.09}, {"id": "v284", "ph": "261c5d58", "equity": 82907139, "ret": -17.09}, {"id": "v41", "ph": "e9d84e84", "equity": 81926428, "ret": -18.07}, {"id": "v302", "ph": "3f30502d", "equity": 81093448, "ret": -18.91}, {"id": "v151", "ph": "2eb1dd06", "equity": 80871239, "ret": -19.13}, {"id": "v147", "ph": "2fbeeedb", "equity": 79336726, "ret": -20.66}, {"id": "v296", "ph": "4c554378", "equity": 79038392, "ret": -20.96}, {"id": "v4", "ph": "b6219595", "equity": 78306323, "ret": -21.69}, {"id": "v298", "ph": "5d4bbec0", "equity": 77972386, "ret": -22.03}, {"id": "v40", "ph": "70731d89", "equity": 76598748, "ret": -23.4}, {"id": "v299", "ph": "25046b1a", "equity": 73737330, "ret": -26.26}, {"id": "v300", "ph": "c6ddc17b", "equity": 67419334, "ret": -32.58}], "20260728": [{"id": "v321", "ph": "e82de49b", "equity": 95058610, "ret": -4.94}, {"id": "v319", "ph": "ca25f043", "equity": 94278998, "ret": -5.72}, {"id": "v317", "ph": "51f8ee6d", "equity": 93501993, "ret": -6.5}, {"id": "v318", "ph": "c99872ef", "equity": 90762837, "ret": -9.24}, {"id": "v316", "ph": "8dc1d197", "equity": 90381365, "ret": -9.62}, {"id": "v313", "ph": "b9f4ee72", "equity": 90179251, "ret": -9.82}, {"id": "v320", "ph": "48d6a9ef", "equity": 89554005, "ret": -10.45}, {"id": "v203", "ph": "2071defa", "equity": 89343448, "ret": -10.66}, {"id": "v59", "ph": "1858e2ec", "equity": 89333757, "ret": -10.67}, {"id": "v205", "ph": "02e5a3f5", "equity": 89314987, "ret": -10.69}, {"id": "v95", "ph": "7e28e756", "equity": 89152772, "ret": -10.85}, {"id": "v101", "ph": "c4354346", "equity": 89078335, "ret": -10.92}, {"id": "v103", "ph": "75b0a37c", "equity": 88931347, "ret": -11.07}, {"id": "v57", "ph": "e7e98b6d", "equity": 88674323, "ret": -11.33}, {"id": "v49", "ph": "cdba73e0", "equity": 88478333, "ret": -11.52}, {"id": "v99", "ph": "fb39409b", "equity": 88425192, "ret": -11.57}, {"id": "v307", "ph": "6abce93d", "equity": 88341787, "ret": -11.66}, {"id": "v315", "ph": "e6d5b283", "equity": 88059990, "ret": -11.94}, {"id": "v314", "ph": "7511570e", "equity": 87815919, "ret": -12.18}, {"id": "v197", "ph": "5c290a32", "equity": 87649278, "ret": -12.35}, {"id": "v97", "ph": "ebf31977", "equity": 87494603, "ret": -12.51}, {"id": "v304", "ph": "96c7e8e1", "equity": 87477988, "ret": -12.52}, {"id": "v306", "ph": "6966b8f6", "equity": 87258167, "ret": -12.74}, {"id": "v157", "ph": "80f3e23b", "equity": 87251515, "ret": -12.75}, {"id": "v209", "ph": "8730802d", "equity": 87152019, "ret": -12.85}, {"id": "v211", "ph": "9227673c", "equity": 87129408, "ret": -12.87}, {"id": "v199", "ph": "390bfab3", "equity": 86980353, "ret": -13.02}, {"id": "v91", "ph": "5674a3d7", "equity": 86736102, "ret": -13.26}, {"id": "v167", "ph": "b6d6aed8", "equity": 86572733, "ret": -13.43}, {"id": "v207", "ph": "0f6601a0", "equity": 86559017, "ret": -13.44}, {"id": "v310", "ph": "ec9dd55c", "equity": 86539949, "ret": -13.46}, {"id": "v107", "ph": "be5cd36b", "equity": 86118013, "ret": -13.88}, {"id": "v87", "ph": "c0be98c0", "equity": 86086741, "ret": -13.91}, {"id": "v93", "ph": "f10d4e45", "equity": 86086741, "ret": -13.91}, {"id": "v161", "ph": "ed5677e6", "equity": 85938401, "ret": -14.06}, {"id": "v165", "ph": "8f862b27", "equity": 85938401, "ret": -14.06}, {"id": "v195", "ph": "dd89cf59", "equity": 85385069, "ret": -14.61}, {"id": "v201", "ph": "cb8a413e", "equity": 85385069, "ret": -14.61}, {"id": "v312", "ph": "4c23846f", "equity": 84707127, "ret": -15.29}, {"id": "v213", "ph": "0e1d8e45", "equity": 84620529, "ret": -15.38}, {"id": "v311", "ph": "8409c6e5", "equity": 84620888, "ret": -15.38}, {"id": "v81", "ph": "a6eac1e4", "equity": 84501334, "ret": -15.5}, {"id": "v308", "ph": "cb12dd0b", "equity": 84492044, "ret": -15.51}, {"id": "v89", "ph": "c49d5680", "equity": 84419073, "ret": -15.58}, {"id": "v189", "ph": "dfdbd0c8", "equity": 84299095, "ret": -15.7}, {"id": "v305", "ph": "8cc4eea6", "equity": 84000731, "ret": -16.0}, {"id": "v215", "ph": "a904a49d", "equity": 83983415, "ret": -16.02}, {"id": "v51", "ph": "21a98e46", "equity": 83908507, "ret": -16.09}, {"id": "v47", "ph": "ed758fcf", "equity": 83660987, "ret": -16.34}, {"id": "v105", "ph": "88395429", "equity": 83578935, "ret": -16.42}, {"id": "v309", "ph": "07610040", "equity": 82949428, "ret": -17.05}, {"id": "v159", "ph": "af80c67a", "equity": 82639296, "ret": -17.36}, {"id": "v301", "ph": "30da2021", "equity": 82468997, "ret": -17.53}, {"id": "v155", "ph": "31c0d84e", "equity": 82058836, "ret": -17.94}, {"id": "v1", "ph": "4874f4c9", "equity": 81613783, "ret": -18.39}, {"id": "v223", "ph": "b57356b8", "equity": 81495839, "ret": -18.5}, {"id": "v235", "ph": "3e6c1666", "equity": 81495839, "ret": -18.5}, {"id": "v265", "ph": "7faed59d", "equity": 81495839, "ret": -18.5}, {"id": "v271", "ph": "2b9ccdcd", "equity": 81495839, "ret": -18.5}, {"id": "v303", "ph": "1a084164", "equity": 81241910, "ret": -18.76}, {"id": "v149", "ph": "c5329f8d", "equity": 81219353, "ret": -18.78}, {"id": "v217", "ph": "4c547a61", "equity": 81123906, "ret": -18.88}, {"id": "v229", "ph": "d9261dfb", "equity": 81109656, "ret": -18.89}, {"id": "v277", "ph": "488b612a", "equity": 81109656, "ret": -18.89}, {"id": "v283", "ph": "479e4b25", "equity": 81109656, "ret": -18.89}, {"id": "v224", "ph": "888ab069", "equity": 80452478, "ret": -19.55}, {"id": "v236", "ph": "f9c75560", "equity": 80452478, "ret": -19.55}, {"id": "v266", "ph": "c133b585", "equity": 80452478, "ret": -19.55}, {"id": "v272", "ph": "2ed2027f", "equity": 80452478, "ret": -19.55}, {"id": "v218", "ph": "7304d2d4", "equity": 80079935, "ret": -19.92}, {"id": "v230", "ph": "141579fe", "equity": 80017679, "ret": -19.98}, {"id": "v278", "ph": "861fb42b", "equity": 80017679, "ret": -19.98}, {"id": "v284", "ph": "261c5d58", "equity": 80017679, "ret": -19.98}, {"id": "v41", "ph": "e9d84e84", "equity": 79192636, "ret": -20.81}, {"id": "v302", "ph": "3f30502d", "equity": 78215021, "ret": -21.78}, {"id": "v151", "ph": "2eb1dd06", "equity": 76870364, "ret": -23.13}, {"id": "v296", "ph": "4c554378", "equity": 76753047, "ret": -23.25}, {"id": "v4", "ph": "b6219595", "equity": 75006311, "ret": -24.99}, {"id": "v147", "ph": "2fbeeedb", "equity": 74883917, "ret": -25.12}, {"id": "v298", "ph": "5d4bbec0", "equity": 74713064, "ret": -25.29}, {"id": "v40", "ph": "70731d89", "equity": 73783421, "ret": -26.22}, {"id": "v299", "ph": "25046b1a", "equity": 71014082, "ret": -28.99}, {"id": "v300", "ph": "c6ddc17b", "equity": 63878657, "ret": -36.12}], "20260729": [{"id": "v319", "ph": "ca25f043", "equity": 93924794, "ret": -6.08}, {"id": "v321", "ph": "e82de49b", "equity": 93558232, "ret": -6.44}, {"id": "v317", "ph": "51f8ee6d", "equity": 93184274, "ret": -6.82}, {"id": "v318", "ph": "c99872ef", "equity": 90393054, "ret": -9.61}, {"id": "v313", "ph": "b9f4ee72", "equity": 89637483, "ret": -10.36}, {"id": "v316", "ph": "8dc1d197", "equity": 89571241, "ret": -10.43}, {"id": "v320", "ph": "48d6a9ef", "equity": 88741464, "ret": -11.26}, {"id": "v203", "ph": "2071defa", "equity": 88327524, "ret": -11.67}, {"id": "v205", "ph": "02e5a3f5", "equity": 88146013, "ret": -11.85}, {"id": "v95", "ph": "7e28e756", "equity": 88139927, "ret": -11.86}, {"id": "v101", "ph": "c4354346", "equity": 87952375, "ret": -12.05}, {"id": "v59", "ph": "1858e2ec", "equity": 87864837, "ret": -12.14}, {"id": "v307", "ph": "6abce93d", "equity": 87433836, "ret": -12.57}, {"id": "v49", "ph": "cdba73e0", "equity": 87140436, "ret": -12.86}, {"id": "v103", "ph": "75b0a37c", "equity": 87073993, "ret": -12.93}, {"id": "v97", "ph": "ebf31977", "equity": 86702025, "ret": -13.3}, {"id": "v99", "ph": "fb39409b", "equity": 86471133, "ret": -13.53}, {"id": "v57", "ph": "e7e98b6d", "equity": 86378895, "ret": -13.62}, {"id": "v304", "ph": "96c7e8e1", "equity": 86314603, "ret": -13.69}, {"id": "v314", "ph": "7511570e", "equity": 86266631, "ret": -13.73}, {"id": "v315", "ph": "e6d5b283", "equity": 86107458, "ret": -13.89}, {"id": "v157", "ph": "80f3e23b", "equity": 86070444, "ret": -13.93}, {"id": "v209", "ph": "8730802d", "equity": 86055971, "ret": -13.94}, {"id": "v197", "ph": "5c290a32", "equity": 85743750, "ret": -14.26}, {"id": "v306", "ph": "6966b8f6", "equity": 85367861, "ret": -14.63}, {"id": "v211", "ph": "9227673c", "equity": 85304568, "ret": -14.7}, {"id": "v167", "ph": "b6d6aed8", "equity": 85168500, "ret": -14.83}, {"id": "v91", "ph": "5674a3d7", "equity": 85151678, "ret": -14.85}, {"id": "v310", "ph": "ec9dd55c", "equity": 85089189, "ret": -14.91}, {"id": "v199", "ph": "390bfab3", "equity": 85045878, "ret": -14.95}, {"id": "v207", "ph": "0f6601a0", "equity": 84635702, "ret": -15.36}, {"id": "v107", "ph": "be5cd36b", "equity": 84546461, "ret": -15.45}, {"id": "v87", "ph": "c0be98c0", "equity": 84205394, "ret": -15.79}, {"id": "v93", "ph": "f10d4e45", "equity": 84205394, "ret": -15.79}, {"id": "v161", "ph": "ed5677e6", "equity": 83734310, "ret": -16.27}, {"id": "v165", "ph": "8f862b27", "equity": 83734310, "ret": -16.27}, {"id": "v312", "ph": "4c23846f", "equity": 83623636, "ret": -16.38}, {"id": "v308", "ph": "cb12dd0b", "equity": 83558346, "ret": -16.44}, {"id": "v195", "ph": "dd89cf59", "equity": 83510907, "ret": -16.49}, {"id": "v201", "ph": "cb8a413e", "equity": 83510907, "ret": -16.49}, {"id": "v311", "ph": "8409c6e5", "equity": 83248130, "ret": -16.75}, {"id": "v89", "ph": "c49d5680", "equity": 83114030, "ret": -16.89}, {"id": "v81", "ph": "a6eac1e4", "equity": 82809348, "ret": -17.19}, {"id": "v213", "ph": "0e1d8e45", "equity": 82789292, "ret": -17.21}, {"id": "v305", "ph": "8cc4eea6", "equity": 82546113, "ret": -17.45}, {"id": "v215", "ph": "a904a49d", "equity": 82446659, "ret": -17.55}, {"id": "v47", "ph": "ed758fcf", "equity": 82288252, "ret": -17.71}, {"id": "v51", "ph": "21a98e46", "equity": 82069944, "ret": -17.93}, {"id": "v189", "ph": "dfdbd0c8", "equity": 82004327, "ret": -18.0}, {"id": "v105", "ph": "88395429", "equity": 81751282, "ret": -18.25}, {"id": "v309", "ph": "07610040", "equity": 81181453, "ret": -18.82}, {"id": "v155", "ph": "31c0d84e", "equity": 80844973, "ret": -19.16}, {"id": "v149", "ph": "c5329f8d", "equity": 80462420, "ret": -19.54}, {"id": "v159", "ph": "af80c67a", "equity": 80403834, "ret": -19.6}, {"id": "v223", "ph": "b57356b8", "equity": 79877386, "ret": -20.12}, {"id": "v235", "ph": "3e6c1666", "equity": 79877386, "ret": -20.12}, {"id": "v265", "ph": "7faed59d", "equity": 79877386, "ret": -20.12}, {"id": "v271", "ph": "2b9ccdcd", "equity": 79877386, "ret": -20.12}, {"id": "v303", "ph": "1a084164", "equity": 79465334, "ret": -20.53}, {"id": "v301", "ph": "30da2021", "equity": 79386653, "ret": -20.61}, {"id": "v217", "ph": "4c547a61", "equity": 79354859, "ret": -20.65}, {"id": "v229", "ph": "d9261dfb", "equity": 79340610, "ret": -20.66}, {"id": "v277", "ph": "488b612a", "equity": 79340610, "ret": -20.66}, {"id": "v283", "ph": "479e4b25", "equity": 79340610, "ret": -20.66}, {"id": "v224", "ph": "888ab069", "equity": 79007784, "ret": -20.99}, {"id": "v236", "ph": "f9c75560", "equity": 79007784, "ret": -20.99}, {"id": "v266", "ph": "c133b585", "equity": 79007784, "ret": -20.99}, {"id": "v272", "ph": "2ed2027f", "equity": 79007784, "ret": -20.99}, {"id": "v41", "ph": "e9d84e84", "equity": 78585112, "ret": -21.41}, {"id": "v1", "ph": "4874f4c9", "equity": 78526871, "ret": -21.47}, {"id": "v218", "ph": "7304d2d4", "equity": 78085121, "ret": -21.91}, {"id": "v230", "ph": "141579fe", "equity": 78024379, "ret": -21.98}, {"id": "v278", "ph": "861fb42b", "equity": 78024379, "ret": -21.98}, {"id": "v284", "ph": "261c5d58", "equity": 78024379, "ret": -21.98}, {"id": "v302", "ph": "3f30502d", "equity": 76159193, "ret": -23.84}, {"id": "v296", "ph": "4c554378", "equity": 75146009, "ret": -24.85}, {"id": "v151", "ph": "2eb1dd06", "equity": 75139302, "ret": -24.86}, {"id": "v4", "ph": "b6219595", "equity": 73004341, "ret": -27.0}, {"id": "v147", "ph": "2fbeeedb", "equity": 72819395, "ret": -27.18}, {"id": "v298", "ph": "5d4bbec0", "equity": 71875541, "ret": -28.12}, {"id": "v40", "ph": "70731d89", "equity": 71467688, "ret": -28.53}, {"id": "v299", "ph": "25046b1a", "equity": 69468812, "ret": -30.53}, {"id": "v300", "ph": "c6ddc17b", "equity": 61283495, "ret": -38.72}], "20260730": [{"id": "v319", "ph": "ca25f043", "equity": 93703887, "ret": -6.3}, {"id": "v321", "ph": "e82de49b", "equity": 92762525, "ret": -7.24}, {"id": "v317", "ph": "51f8ee6d", "equity": 92742162, "ret": -7.26}, {"id": "v318", "ph": "c99872ef", "equity": 89767027, "ret": -10.23}, {"id": "v316", "ph": "8dc1d197", "equity": 89059740, "ret": -10.94}, {"id": "v313", "ph": "b9f4ee72", "equity": 88893682, "ret": -11.11}, {"id": "v320", "ph": "48d6a9ef", "equity": 87867184, "ret": -12.13}, {"id": "v205", "ph": "02e5a3f5", "equity": 87579290, "ret": -12.42}, {"id": "v59", "ph": "1858e2ec", "equity": 87423506, "ret": -12.58}, {"id": "v101", "ph": "c4354346", "equity": 87047837, "ret": -12.95}, {"id": "v103", "ph": "75b0a37c", "equity": 86749860, "ret": -13.25}, {"id": "v203", "ph": "2071defa", "equity": 86731484, "ret": -13.27}, {"id": "v95", "ph": "7e28e756", "equity": 86545080, "ret": -13.45}, {"id": "v307", "ph": "6abce93d", "equity": 86312983, "ret": -13.69}, {"id": "v49", "ph": "cdba73e0", "equity": 86232908, "ret": -13.77}, {"id": "v57", "ph": "e7e98b6d", "equity": 86127681, "ret": -13.87}, {"id": "v314", "ph": "7511570e", "equity": 85870243, "ret": -14.13}, {"id": "v315", "ph": "e6d5b283", "equity": 85860248, "ret": -14.14}, {"id": "v304", "ph": "96c7e8e1", "equity": 85844816, "ret": -14.16}, {"id": "v99", "ph": "fb39409b", "equity": 85760586, "ret": -14.24}, {"id": "v97", "ph": "ebf31977", "equity": 85500235, "ret": -14.5}, {"id": "v197", "ph": "5c290a32", "equity": 85207207, "ret": -14.79}, {"id": "v209", "ph": "8730802d", "equity": 85148894, "ret": -14.85}, {"id": "v211", "ph": "9227673c", "equity": 84965011, "ret": -15.03}, {"id": "v306", "ph": "6966b8f6", "equity": 84789943, "ret": -15.21}, {"id": "v157", "ph": "80f3e23b", "equity": 84720571, "ret": -15.28}, {"id": "v91", "ph": "5674a3d7", "equity": 84433158, "ret": -15.57}, {"id": "v199", "ph": "390bfab3", "equity": 84373299, "ret": -15.63}, {"id": "v167", "ph": "b6d6aed8", "equity": 84322513, "ret": -15.68}, {"id": "v107", "ph": "be5cd36b", "equity": 84142299, "ret": -15.86}, {"id": "v87", "ph": "c0be98c0", "equity": 84045488, "ret": -15.95}, {"id": "v93", "ph": "f10d4e45", "equity": 84045488, "ret": -15.95}, {"id": "v207", "ph": "0f6601a0", "equity": 83965327, "ret": -16.03}, {"id": "v310", "ph": "ec9dd55c", "equity": 83966658, "ret": -16.03}, {"id": "v195", "ph": "dd89cf59", "equity": 83348690, "ret": -16.65}, {"id": "v201", "ph": "cb8a413e", "equity": 83348690, "ret": -16.65}, {"id": "v311", "ph": "8409c6e5", "equity": 83089806, "ret": -16.91}, {"id": "v161", "ph": "ed5677e6", "equity": 83078748, "ret": -16.92}, {"id": "v165", "ph": "8f862b27", "equity": 83078748, "ret": -16.92}, {"id": "v312", "ph": "4c23846f", "equity": 82361166, "ret": -17.64}, {"id": "v308", "ph": "cb12dd0b", "equity": 82296612, "ret": -17.7}, {"id": "v213", "ph": "0e1d8e45", "equity": 82166042, "ret": -17.83}, {"id": "v215", "ph": "a904a49d", "equity": 82026672, "ret": -17.97}, {"id": "v89", "ph": "c49d5680", "equity": 81913451, "ret": -18.09}, {"id": "v305", "ph": "8cc4eea6", "equity": 81765778, "ret": -18.23}, {"id": "v81", "ph": "a6eac1e4", "equity": 81470712, "ret": -18.53}, {"id": "v51", "ph": "21a98e46", "equity": 81243443, "ret": -18.76}, {"id": "v47", "ph": "ed758fcf", "equity": 81156371, "ret": -18.84}, {"id": "v105", "ph": "88395429", "equity": 80959271, "ret": -19.04}, {"id": "v189", "ph": "dfdbd0c8", "equity": 80671673, "ret": -19.33}, {"id": "v309", "ph": "07610040", "equity": 80488827, "ret": -19.51}, {"id": "v155", "ph": "31c0d84e", "equity": 79575623, "ret": -20.42}, {"id": "v159", "ph": "af80c67a", "equity": 79111745, "ret": -20.89}, {"id": "v301", "ph": "30da2021", "equity": 79007040, "ret": -20.99}, {"id": "v149", "ph": "c5329f8d", "equity": 78971856, "ret": -21.03}, {"id": "v223", "ph": "b57356b8", "equity": 78577100, "ret": -21.42}, {"id": "v235", "ph": "3e6c1666", "equity": 78577100, "ret": -21.42}, {"id": "v265", "ph": "7faed59d", "equity": 78577100, "ret": -21.42}, {"id": "v271", "ph": "2b9ccdcd", "equity": 78577100, "ret": -21.42}, {"id": "v303", "ph": "1a084164", "equity": 78294822, "ret": -21.71}, {"id": "v217", "ph": "4c547a61", "equity": 77993088, "ret": -22.01}, {"id": "v229", "ph": "d9261dfb", "equity": 77979170, "ret": -22.02}, {"id": "v277", "ph": "488b612a", "equity": 77979170, "ret": -22.02}, {"id": "v283", "ph": "479e4b25", "equity": 77979170, "ret": -22.02}, {"id": "v1", "ph": "4874f4c9", "equity": 77750338, "ret": -22.25}, {"id": "v224", "ph": "888ab069", "equity": 77325360, "ret": -22.67}, {"id": "v236", "ph": "f9c75560", "equity": 77325360, "ret": -22.67}, {"id": "v266", "ph": "c133b585", "equity": 77325360, "ret": -22.67}, {"id": "v272", "ph": "2ed2027f", "equity": 77325360, "ret": -22.67}, {"id": "v41", "ph": "e9d84e84", "equity": 77077851, "ret": -22.92}, {"id": "v218", "ph": "7304d2d4", "equity": 76415796, "ret": -23.58}, {"id": "v230", "ph": "141579fe", "equity": 76355235, "ret": -23.64}, {"id": "v278", "ph": "861fb42b", "equity": 76355235, "ret": -23.64}, {"id": "v284", "ph": "261c5d58", "equity": 76355235, "ret": -23.64}, {"id": "v302", "ph": "3f30502d", "equity": 75753500, "ret": -24.25}, {"id": "v296", "ph": "4c554378", "equity": 74175667, "ret": -25.82}, {"id": "v151", "ph": "2eb1dd06", "equity": 73703963, "ret": -26.3}, {"id": "v4", "ph": "b6219595", "equity": 72023274, "ret": -27.98}, {"id": "v298", "ph": "5d4bbec0", "equity": 71575206, "ret": -28.42}, {"id": "v147", "ph": "2fbeeedb", "equity": 71247007, "ret": -28.75}, {"id": "v40", "ph": "70731d89", "equity": 70674474, "ret": -29.33}, {"id": "v299", "ph": "25046b1a", "equity": 68512019, "ret": -31.49}, {"id": "v300", "ph": "c6ddc17b", "equity": 60257551, "ret": -39.74}]}
\ No newline at end of file
diff --git a/agents/stock/workspace/state/sim/index_history.json b/agents/stock/workspace/state/sim/index_history.json
index 28a777d..017f5fe 100644
--- a/agents/stock/workspace/state/sim/index_history.json
+++ b/agents/stock/workspace/state/sim/index_history.json
@@ -1 +1 @@
-{"KOSPI": {"20260608": 7484.41, "20260605": 8160.59, "20260604": 8639.41, "20260602": 8801.49, "20260601": 8788.38, "20260529": 8476.15, "20260528": 8185.29, "20260527": 8228.7, "20260526": 8047.51, "20260522": 7847.71, "20260521": 7815.59, "20260520": 7208.95, "20260519": 7271.66, "20260518": 7516.04, "20260515": 7493.18, "20260514": 7981.41, "20260513": 7844.01, "20260512": 7643.15, "20260511": 7822.24, "20260508": 7498.0, "20260507": 7490.05, "20260506": 7384.56, "20260504": 6936.99, "20260430": 6598.87, "20260429": 6690.9, "20260428": 6641.02, "20260427": 6615.03, "20260424": 6475.63, "20260423": 6475.81, "20260422": 6417.93, "20260421": 6388.47, "20260420": 6219.09, "20260417": 6191.92, "20260416": 6226.05, "20260415": 6091.39, "20260414": 5967.75, "20260413": 5808.62, "20260410": 5858.87, "20260409": 5778.01, "20260408": 5872.34, "20260407": 5494.78, "20260406": 5450.33, "20260403": 5377.3, "20260402": 5234.05, "20260401": 5478.7, "20260331": 5052.46, "20260330": 5277.3, "20260327": 5438.87, "20260326": 5460.46, "20260325": 5642.21, "20260324": 5553.92, "20260323": 5405.75, "20260320": 5781.2, "20260319": 5763.22, "20260318": 5925.03, "20260317": 5640.48, "20260316": 5549.85, "20260313": 5487.24, "20260312": 5583.25, "20260311": 5609.95, "20260310": 5532.59, "20260309": 5251.87, "20260306": 5584.87, "20260305": 5583.9, "20260304": 5093.54, "20260303": 5791.91, "20260227": 6244.13, "20260226": 6307.27, "20260225": 6083.86, "20260224": 5969.64, "20260223": 5846.09, "20260220": 5808.53, "20260219": 5677.25, "20260213": 5507.01, "20260212": 5522.27, "20260211": 5354.49, "20260210": 5301.69, "20260209": 5298.04, "20260206": 5089.14, "20260205": 5163.57, "20260204": 5371.1, "20260203": 5288.08, "20260202": 4949.67, "20260130": 5224.36, "20260129": 5221.25, "20260128": 5170.81, "20260127": 5084.85, "20260126": 4949.59, "20260123": 4990.07, "20260122": 4952.53, "20260121": 4909.93, "20260120": 4885.75, "20260119": 4904.66, "20260116": 4840.74, "20260115": 4797.55, "20260114": 4723.1, "20260113": 4692.64, "20260112": 4624.79, "20260109": 4586.32, "20260108": 4552.37, "20260107": 4551.06, "20260106": 4525.48, "20260105": 4457.52, "20260102": 4309.63, "20251230": 4214.17, "20251229": 4220.56, "20251226": 4129.68, "20251224": 4108.62, "20251223": 4117.32, "20251222": 4105.93, "20251219": 4020.55, "20251218": 3994.51, "20251217": 4056.41, "20251216": 3999.13, "20251215": 4090.59, "20251212": 4167.16, "20251211": 4110.62, "20251210": 4135.0, "20251209": 4143.55, "20251208": 4154.85, "20251205": 4100.05, "20251204": 4028.51, "20251203": 4036.3, "20251202": 3994.93, "20251201": 3920.37, "20251128": 3926.59, "20251127": 3986.91, "20251126": 3960.87, "20251125": 3857.78, "20251124": 3846.06, "20251121": 3853.26, "20251120": 4004.85, "20251119": 3929.51, "20251118": 3953.62, "20251117": 4089.25, "20251114": 4011.57, "20251113": 4170.63, "20251112": 4150.39, "20251111": 4106.39, "20251110": 4073.24, "20251107": 3953.76, "20251106": 4026.45, "20251105": 4004.42, "20251104": 4121.74, "20251103": 4221.87, "20251031": 4107.5, "20251030": 4086.89, "20251029": 4081.15, "20251028": 4010.41, "20251027": 4042.83, "20251024": 3941.59, "20251023": 3845.56, "20251022": 3883.68, "20251021": 3823.84, "20251020": 3814.69, "20251017": 3748.89, "20251016": 3748.37, "20251015": 3657.28, "20251014": 3561.81, "20251013": 3584.55, "20251010": 3610.6, "20251002": 3549.21, "20251001": 3455.83, "20250930": 3424.6, "20250929": 3431.21, "20250926": 3386.05, "20250925": 3471.11, "20250924": 3472.14, "20250923": 3486.19, "20250922": 3468.65, "20250919": 3445.24, "20250918": 3461.3, "20250917": 3413.4, "20250916": 3449.62, "20250915": 3407.31, "20250912": 3395.54, "20250911": 3344.2, "20250910": 3314.53, "20250909": 3260.05, "20250908": 3219.59, "20250905": 3205.12, "20250904": 3200.83, "20250903": 3184.42, "20250902": 3172.35, "20250901": 3142.93, "20250829": 3186.01, "20250828": 3196.32, "20250827": 3187.16, "20250826": 3179.36, "20250825": 3209.86, "20250822": 3168.73, "20250821": 3141.74, "20250820": 3130.09, "20250819": 3151.56, "20250818": 3177.28, "20250814": 3225.66, "20250813": 3224.37, "20250812": 3189.91, "20250811": 3206.77, "20250808": 3210.01, "20250807": 3227.68, "20250806": 3198.14, "20250805": 3198.0, "20250804": 3147.75, "20250801": 3119.41, "20250731": 3245.44, "20250730": 3254.47, "20250729": 3230.57, "20250728": 3209.52, "20250725": 3196.05, "20250724": 3190.45, "20250723": 3183.77, "20250722": 3169.94, "20250721": 3210.81, "20250718": 3188.07, "20250717": 3192.29, "20250716": 3186.38, "20250715": 3215.28, "20250714": 3202.03, "20250711": 3175.77, "20250710": 3183.23, "20250709": 3133.74, "20250708": 3114.95, "20250707": 3059.47, "20250704": 3054.28, "20250703": 3116.27, "20250702": 3075.06, "20250701": 3089.65, "20250630": 3071.7, "20250627": 3055.94, "20250626": 3079.56, "20250625": 3108.25, "20250624": 3103.64, "20250623": 3014.47, "20250620": 3021.84, "20250619": 2977.74, "20250618": 2972.19, "20250617": 2950.3, "20250616": 2946.66, "20250613": 2894.62, "20250612": 2920.03, "20250611": 2907.04, "20250610": 2871.85, "20250609": 2855.77, "20250605": 2812.05, "20250604": 2770.84, "20250602": 2698.97, "20250530": 2697.67, "20250529": 2720.64, "20250528": 2670.15, "20250527": 2637.22, "20250526": 2644.4, "20250523": 2592.09, "20250522": 2593.67, "20250521": 2625.58, "20250520": 2601.8, "20250519": 2603.42, "20250516": 2626.87, "20250515": 2621.36, "20250514": 2640.57, "20250513": 2608.42, "20250512": 2607.33, "20250509": 2577.27, "20250508": 2579.48, "20250507": 2573.8, "20250502": 2559.79, "20250430": 2556.61, "20250429": 2565.42, "20250428": 2548.86, "20250425": 2546.3, "20250424": 2522.33, "20250423": 2525.56, "20250422": 2486.64, "20250421": 2488.42, "20250418": 2483.42, "20250417": 2470.41, "20250416": 2447.43, "20250415": 2477.41, "20250414": 2455.89, "20250411": 2432.72, "20250410": 2445.06, "20250409": 2293.7, "20250408": 2334.23, "20250407": 2328.2, "20250404": 2465.42, "20250403": 2486.7, "20250402": 2505.86, "20250401": 2521.39, "20250331": 2481.12, "20250328": 2557.98, "20250327": 2607.15, "20250326": 2643.94, "20250325": 2615.81, "20250324": 2632.07, "20250321": 2643.13, "20250320": 2637.1, "20250319": 2628.62, "20250318": 2612.34, "20250317": 2610.69, "20250314": 2566.36, "20250313": 2573.64, "20250312": 2574.82, "20250311": 2537.6, "20250310": 2570.39, "20250307": 2563.48, "20250306": 2576.16, "20250305": 2558.13, "20250304": 2528.92, "20250228": 2532.78, "20250227": 2621.75, "20250226": 2641.09, "20250225": 2630.29, "20250224": 2645.27, "20250221": 2654.58, "20250220": 2654.06, "20250219": 2671.52, "20250218": 2626.81, "20250217": 2610.42, "20250214": 2591.05, "20250213": 2583.17, "20250212": 2548.39, "20250211": 2539.05, "20250210": 2521.27, "20250207": 2521.92, "20250206": 2536.75, "20250205": 2509.27, "20250204": 2481.69, "20250203": 2453.95, "20250131": 2517.37, "20250124": 2536.8, "20250123": 2515.49, "20250122": 2547.06, "20250121": 2518.03, "20250120": 2520.05, "20250117": 2523.55, "20250116": 2527.49, "20250115": 2496.81, "20250114": 2497.4, "20250113": 2489.56, "20250110": 2515.78, "20250109": 2521.9, "20250108": 2521.05, "20250107": 2492.1, "20250106": 2488.64, "20250103": 2441.92, "20250102": 2398.94, "20241230": 2399.49, "20241227": 2404.77, "20241226": 2429.67, "20241224": 2440.52, "20241223": 2442.01, "20241220": 2404.15, "20241219": 2435.93, "20241218": 2484.43, "20241217": 2456.81, "20241216": 2488.97, "20241213": 2494.46, "20241212": 2482.12, "20241211": 2442.51, "20241210": 2417.84, "20241209": 2360.58, "20241206": 2428.16, "20241205": 2441.85, "20241204": 2464.0, "20241203": 2500.1, "20241202": 2454.48, "20241129": 2455.91, "20241128": 2504.67, "20241127": 2503.06, "20241126": 2520.36, "20241125": 2534.34, "20241122": 2501.24, "20241121": 2480.63, "20241120": 2482.29, "20241119": 2471.95, "20241118": 2469.07, "20241115": 2416.86, "20241114": 2418.86, "20241113": 2417.08, "20241112": 2482.57, "20241111": 2531.66, "20241108": 2561.15, "20241107": 2564.63, "20241106": 2563.51, "20241105": 2576.88, "20241104": 2588.97, "20241101": 2542.36, "20241031": 2556.15, "20241030": 2593.79, "20241029": 2617.8, "20241028": 2612.43, "20241025": 2583.27, "20241024": 2581.03, "20241023": 2599.62, "20241022": 2570.7, "20241021": 2604.92, "20241018": 2593.82, "20241017": 2609.3, "20241016": 2610.36, "20241015": 2633.45, "20260609": 8096.93, "20260610": 7730.82, "20260611": 7763.95, "20260612": 8123.62, "20260615": 8545.98, "20260616": 8726.6, "20260617": 8864.24, "20260618": 9063.84, "20260619": 9052.42, "20260622": 9114.55, "20260623": 8203.84, "20260624": 8471.02, "20260625": 8930.3, "20260626": 8411.21, "20260629": 8394.65, "20260630": 8476.48, "20260701": 8303.41, "20260702": 7648.09, "20260703": 8088.34, "20260706": 8051.33, "20260707": 7656.31, "20260708": 7246.79, "20260709": 7291.91, "20260710": 7475.94, "20260713": 6806.93, "20260714": 6856.83, "20260715": 7284.41, "20260716": 6820.6, "20260720": 6516.27, "20260721": 6747.95, "20260722": 6797.7, "20260723": 7096.89, "20260724": 6690.62, "20260727": 6755.75, "20260728": 6023.66, "20260729": 5665.44}, "KOSDAQ": {"20260608": 911.39, "20260605": 1002.44, "20260604": 1049.73, "20260602": 1026.03, "20260601": 1050.03, "20260529": 1074.8, "20260528": 1104.36, "20260527": 1133.13, "20260526": 1172.52, "20260522": 1161.13, "20260521": 1105.97, "20260520": 1056.07, "20260519": 1084.36, "20260518": 1111.09, "20260515": 1129.82, "20260514": 1191.09, "20260513": 1176.93, "20260512": 1179.29, "20260511": 1207.34, "20260508": 1207.72, "20260507": 1199.18, "20260506": 1210.17, "20260504": 1213.74, "20260430": 1192.35, "20260429": 1220.26, "20260428": 1215.58, "20260427": 1226.18, "20260424": 1203.84, "20260423": 1174.31, "20260422": 1181.12, "20260421": 1179.03, "20260420": 1174.85, "20260417": 1170.04, "20260416": 1162.97, "20260415": 1152.43, "20260414": 1121.88, "20260413": 1099.84, "20260410": 1093.63, "20260409": 1076.0, "20260408": 1089.85, "20260407": 1036.73, "20260406": 1047.37, "20260403": 1063.75, "20260402": 1056.34, "20260401": 1116.18, "20260331": 1052.39, "20260330": 1107.05, "20260327": 1141.51, "20260326": 1136.64, "20260325": 1159.55, "20260324": 1121.44, "20260323": 1096.89, "20260320": 1161.52, "20260319": 1143.48, "20260318": 1164.38, "20260317": 1136.94, "20260316": 1138.29, "20260313": 1152.96, "20260312": 1148.4, "20260311": 1136.83, "20260310": 1137.68, "20260309": 1102.28, "20260306": 1154.67, "20260305": 1116.41, "20260304": 978.44, "20260303": 1137.7, "20260227": 1192.78, "20260226": 1188.15, "20260225": 1165.25, "20260224": 1165.0, "20260223": 1151.99, "20260220": 1154.0, "20260219": 1160.71, "20260213": 1106.08, "20260212": 1125.99, "20260211": 1114.87, "20260210": 1115.2, "20260209": 1127.55, "20260206": 1080.77, "20260205": 1108.41, "20260204": 1149.43, "20260203": 1144.33, "20260202": 1098.36, "20260130": 1149.44, "20260129": 1164.41, "20260128": 1133.52, "20260127": 1082.59, "20260126": 1064.41, "20260123": 993.93, "20260122": 970.35, "20260121": 951.29, "20260120": 976.37, "20260119": 968.36, "20260116": 954.59, "20260115": 951.16, "20260114": 942.18, "20260113": 948.98, "20260112": 949.81, "20260109": 947.92, "20260108": 944.06, "20260107": 947.39, "20260106": 955.97, "20260105": 957.5, "20260102": 945.57, "20251230": 925.47, "20251229": 932.59, "20251226": 919.67, "20251224": 915.2, "20251223": 919.56, "20251222": 929.14, "20251219": 915.27, "20251218": 901.33, "20251217": 911.07, "20251216": 916.11, "20251215": 938.83, "20251212": 937.34, "20251211": 934.64, "20251210": 935.0, "20251209": 931.35, "20251208": 927.79, "20251205": 924.74, "20251204": 929.83, "20251203": 932.01, "20251202": 928.42, "20251201": 922.38, "20251128": 912.67, "20251127": 880.06, "20251126": 877.32, "20251125": 856.03, "20251124": 856.44, "20251121": 863.95, "20251120": 891.94, "20251119": 871.32, "20251118": 878.7, "20251117": 902.67, "20251114": 897.9, "20251113": 918.37, "20251112": 906.51, "20251111": 884.27, "20251110": 888.35, "20251107": 876.81, "20251106": 898.17, "20251105": 901.89, "20251104": 926.57, "20251103": 914.55, "20251031": 900.42, "20251030": 890.86, "20251029": 901.59, "20251028": 903.3, "20251027": 902.7, "20251024": 883.08, "20251023": 872.03, "20251022": 879.15, "20251021": 872.5, "20251020": 875.77, "20251017": 859.54, "20251016": 865.41, "20251015": 864.72, "20251014": 847.96, "20251013": 860.49, "20251010": 859.49, "20251002": 854.25, "20251001": 845.34, "20250930": 841.99, "20250929": 846.71, "20250926": 835.19, "20250925": 852.48, "20250924": 860.94, "20250923": 872.21, "20250922": 874.36, "20250919": 863.11, "20250918": 857.11, "20250917": 845.53, "20250916": 851.84, "20250915": 852.69, "20250912": 847.08, "20250911": 834.76, "20250910": 833.0, "20250909": 824.82, "20250908": 818.6, "20250905": 811.4, "20250904": 805.42, "20250903": 796.81, "20250902": 794.0, "20250901": 785.0, "20250829": 796.91, "20250828": 798.43, "20250827": 801.72, "20250826": 801.66, "20250825": 798.02, "20250822": 782.51, "20250821": 777.24, "20250820": 777.61, "20250819": 787.96, "20250818": 798.05, "20250814": 815.26, "20250813": 814.1, "20250812": 807.19, "20250811": 811.85, "20250808": 809.27, "20250807": 805.81, "20250806": 803.49, "20250805": 798.6, "20250804": 784.06, "20250801": 772.79, "20250731": 805.24, "20250730": 803.67, "20250729": 804.45, "20250728": 804.4, "20250725": 806.95, "20250724": 809.89, "20250723": 813.56, "20250722": 812.97, "20250721": 821.69, "20250718": 820.67, "20250717": 818.27, "20250716": 812.23, "20250715": 812.88, "20250714": 799.37, "20250711": 800.47, "20250710": 797.7, "20250709": 790.36, "20250708": 784.24, "20250707": 778.46, "20250704": 775.8, "20250703": 793.33, "20250702": 782.17, "20250701": 783.67, "20250630": 781.5, "20250627": 781.56, "20250626": 787.95, "20250625": 798.21, "20250624": 800.93, "20250623": 784.79, "20250620": 791.53, "20250619": 782.51, "20250618": 779.73, "20250617": 775.65, "20250616": 777.26, "20250613": 768.86, "20250612": 789.45, "20250611": 786.29, "20250610": 771.2, "20250609": 764.21, "20250605": 756.23, "20250604": 750.21, "20250602": 740.29, "20250530": 734.35, "20250529": 736.29, "20250528": 728.79, "20250527": 727.11, "20250526": 725.27, "20250523": 715.98, "20250522": 717.67, "20250521": 723.62, "20250520": 715.55, "20250519": 713.75, "20250516": 725.07, "20250515": 733.23, "20250514": 739.05, "20250513": 731.88, "20250512": 725.4, "20250509": 722.52, "20250508": 729.59, "20250507": 722.81, "20250502": 721.86, "20250430": 717.24, "20250429": 726.46, "20250428": 719.41, "20250425": 729.69, "20250424": 726.08, "20250423": 726.08, "20250422": 716.12, "20250421": 715.45, "20250418": 717.77, "20250417": 711.75, "20250416": 699.11, "20250415": 711.92, "20250414": 708.98, "20250411": 695.59, "20250410": 681.79, "20250409": 643.39, "20250408": 658.45, "20250407": 651.3, "20250404": 687.39, "20250403": 683.49, "20250402": 684.85, "20250401": 691.45, "20250331": 672.85, "20250328": 693.76, "20250327": 707.49, "20250326": 716.48, "20250325": 711.26, "20250324": 720.22, "20250321": 719.41, "20250320": 725.15, "20250319": 738.35, "20250318": 745.54, "20250317": 743.51, "20250314": 734.26, "20250313": 722.8, "20250312": 729.49, "20250311": 721.5, "20250310": 725.82, "20250307": 727.7, "20250306": 734.92, "20250305": 746.95, "20250304": 737.9, "20250228": 743.96, "20250227": 770.85, "20250226": 771.41, "20250225": 769.43, "20250224": 773.33, "20250221": 774.65, "20250220": 768.27, "20250219": 778.27, "20250218": 773.65, "20250217": 768.48, "20250214": 756.32, "20250213": 749.28, "20250212": 745.18, "20250211": 749.59, "20250210": 749.67, "20250207": 742.9, "20250206": 740.32, "20250205": 730.98, "20250204": 719.92, "20250203": 703.8, "20250131": 728.29, "20250124": 728.74, "20250123": 724.01, "20250122": 732.31, "20250121": 726.07, "20250120": 727.66, "20250117": 724.69, "20250116": 724.24, "20250115": 711.61, "20250114": 718.04, "20250113": 708.21, "20250110": 717.89, "20250109": 723.52, "20250108": 719.63, "20250107": 718.29, "20250106": 717.96, "20250103": 705.76, "20250102": 686.63, "20241230": 678.19, "20241227": 665.97, "20241226": 675.64, "20241224": 680.11, "20241223": 679.24, "20241220": 668.31, "20241219": 684.36, "20241218": 697.57, "20241217": 694.47, "20241216": 698.53, "20241213": 693.73, "20241212": 683.35, "20241211": 675.92, "20241210": 661.59, "20241209": 627.01, "20241206": 661.33, "20241205": 670.94, "20241204": 677.15, "20241203": 690.8, "20241202": 675.84, "20241129": 678.19, "20241128": 694.39, "20241127": 692.0, "20241126": 693.15, "20241125": 696.83, "20241122": 677.01, "20241121": 680.67, "20241120": 682.91, "20241119": 686.12, "20241118": 689.55, "20241115": 685.42, "20241114": 681.56, "20241113": 689.65, "20241112": 710.52, "20241111": 728.84, "20241108": 743.38, "20241107": 733.52, "20241106": 743.31, "20241105": 751.81, "20241104": 754.08, "20241101": 729.05, "20241031": 743.06, "20241030": 738.19, "20241029": 744.18, "20241028": 740.48, "20241025": 727.41, "20241024": 734.59, "20241023": 745.19, "20241022": 738.34, "20241021": 759.95, "20241018": 753.22, "20241017": 765.06, "20241016": 765.79, "20241015": 773.81, "20260609": 967.81, "20260610": 951.63, "20260611": 996.93, "20260612": 1029.05, "20260615": 1034.03, "20260616": 1018.68, "20260617": 1031.96, "20260618": 1000.93, "20260619": 966.59, "20260622": 968.4, "20260623": 891.52, "20260624": 909.31, "20260625": 887.81, "20260626": 851.37, "20260629": 920.57, "20260630": 916.18, "20260701": 929.35, "20260702": 866.72, "20260703": 868.41, "20260706": 847.07, "20260707": 831.23, "20260708": 785.0, "20260709": 794.0, "20260710": 837.43, "20260713": 799.36, "20260714": 783.98, "20260715": 829.43, "20260716": 791.84, "20260720": 749.64, "20260721": 753.34, "20260722": 751.09, "20260723": 790.28, "20260724": 748.22, "20260727": 764.86, "20260728": 705.85, "20260729": 661.19}}
\ No newline at end of file
+{"KOSPI": {"20260608": 7484.41, "20260605": 8160.59, "20260604": 8639.41, "20260602": 8801.49, "20260601": 8788.38, "20260529": 8476.15, "20260528": 8185.29, "20260527": 8228.7, "20260526": 8047.51, "20260522": 7847.71, "20260521": 7815.59, "20260520": 7208.95, "20260519": 7271.66, "20260518": 7516.04, "20260515": 7493.18, "20260514": 7981.41, "20260513": 7844.01, "20260512": 7643.15, "20260511": 7822.24, "20260508": 7498.0, "20260507": 7490.05, "20260506": 7384.56, "20260504": 6936.99, "20260430": 6598.87, "20260429": 6690.9, "20260428": 6641.02, "20260427": 6615.03, "20260424": 6475.63, "20260423": 6475.81, "20260422": 6417.93, "20260421": 6388.47, "20260420": 6219.09, "20260417": 6191.92, "20260416": 6226.05, "20260415": 6091.39, "20260414": 5967.75, "20260413": 5808.62, "20260410": 5858.87, "20260409": 5778.01, "20260408": 5872.34, "20260407": 5494.78, "20260406": 5450.33, "20260403": 5377.3, "20260402": 5234.05, "20260401": 5478.7, "20260331": 5052.46, "20260330": 5277.3, "20260327": 5438.87, "20260326": 5460.46, "20260325": 5642.21, "20260324": 5553.92, "20260323": 5405.75, "20260320": 5781.2, "20260319": 5763.22, "20260318": 5925.03, "20260317": 5640.48, "20260316": 5549.85, "20260313": 5487.24, "20260312": 5583.25, "20260311": 5609.95, "20260310": 5532.59, "20260309": 5251.87, "20260306": 5584.87, "20260305": 5583.9, "20260304": 5093.54, "20260303": 5791.91, "20260227": 6244.13, "20260226": 6307.27, "20260225": 6083.86, "20260224": 5969.64, "20260223": 5846.09, "20260220": 5808.53, "20260219": 5677.25, "20260213": 5507.01, "20260212": 5522.27, "20260211": 5354.49, "20260210": 5301.69, "20260209": 5298.04, "20260206": 5089.14, "20260205": 5163.57, "20260204": 5371.1, "20260203": 5288.08, "20260202": 4949.67, "20260130": 5224.36, "20260129": 5221.25, "20260128": 5170.81, "20260127": 5084.85, "20260126": 4949.59, "20260123": 4990.07, "20260122": 4952.53, "20260121": 4909.93, "20260120": 4885.75, "20260119": 4904.66, "20260116": 4840.74, "20260115": 4797.55, "20260114": 4723.1, "20260113": 4692.64, "20260112": 4624.79, "20260109": 4586.32, "20260108": 4552.37, "20260107": 4551.06, "20260106": 4525.48, "20260105": 4457.52, "20260102": 4309.63, "20251230": 4214.17, "20251229": 4220.56, "20251226": 4129.68, "20251224": 4108.62, "20251223": 4117.32, "20251222": 4105.93, "20251219": 4020.55, "20251218": 3994.51, "20251217": 4056.41, "20251216": 3999.13, "20251215": 4090.59, "20251212": 4167.16, "20251211": 4110.62, "20251210": 4135.0, "20251209": 4143.55, "20251208": 4154.85, "20251205": 4100.05, "20251204": 4028.51, "20251203": 4036.3, "20251202": 3994.93, "20251201": 3920.37, "20251128": 3926.59, "20251127": 3986.91, "20251126": 3960.87, "20251125": 3857.78, "20251124": 3846.06, "20251121": 3853.26, "20251120": 4004.85, "20251119": 3929.51, "20251118": 3953.62, "20251117": 4089.25, "20251114": 4011.57, "20251113": 4170.63, "20251112": 4150.39, "20251111": 4106.39, "20251110": 4073.24, "20251107": 3953.76, "20251106": 4026.45, "20251105": 4004.42, "20251104": 4121.74, "20251103": 4221.87, "20251031": 4107.5, "20251030": 4086.89, "20251029": 4081.15, "20251028": 4010.41, "20251027": 4042.83, "20251024": 3941.59, "20251023": 3845.56, "20251022": 3883.68, "20251021": 3823.84, "20251020": 3814.69, "20251017": 3748.89, "20251016": 3748.37, "20251015": 3657.28, "20251014": 3561.81, "20251013": 3584.55, "20251010": 3610.6, "20251002": 3549.21, "20251001": 3455.83, "20250930": 3424.6, "20250929": 3431.21, "20250926": 3386.05, "20250925": 3471.11, "20250924": 3472.14, "20250923": 3486.19, "20250922": 3468.65, "20250919": 3445.24, "20250918": 3461.3, "20250917": 3413.4, "20250916": 3449.62, "20250915": 3407.31, "20250912": 3395.54, "20250911": 3344.2, "20250910": 3314.53, "20250909": 3260.05, "20250908": 3219.59, "20250905": 3205.12, "20250904": 3200.83, "20250903": 3184.42, "20250902": 3172.35, "20250901": 3142.93, "20250829": 3186.01, "20250828": 3196.32, "20250827": 3187.16, "20250826": 3179.36, "20250825": 3209.86, "20250822": 3168.73, "20250821": 3141.74, "20250820": 3130.09, "20250819": 3151.56, "20250818": 3177.28, "20250814": 3225.66, "20250813": 3224.37, "20250812": 3189.91, "20250811": 3206.77, "20250808": 3210.01, "20250807": 3227.68, "20250806": 3198.14, "20250805": 3198.0, "20250804": 3147.75, "20250801": 3119.41, "20250731": 3245.44, "20250730": 3254.47, "20250729": 3230.57, "20250728": 3209.52, "20250725": 3196.05, "20250724": 3190.45, "20250723": 3183.77, "20250722": 3169.94, "20250721": 3210.81, "20250718": 3188.07, "20250717": 3192.29, "20250716": 3186.38, "20250715": 3215.28, "20250714": 3202.03, "20250711": 3175.77, "20250710": 3183.23, "20250709": 3133.74, "20250708": 3114.95, "20250707": 3059.47, "20250704": 3054.28, "20250703": 3116.27, "20250702": 3075.06, "20250701": 3089.65, "20250630": 3071.7, "20250627": 3055.94, "20250626": 3079.56, "20250625": 3108.25, "20250624": 3103.64, "20250623": 3014.47, "20250620": 3021.84, "20250619": 2977.74, "20250618": 2972.19, "20250617": 2950.3, "20250616": 2946.66, "20250613": 2894.62, "20250612": 2920.03, "20250611": 2907.04, "20250610": 2871.85, "20250609": 2855.77, "20250605": 2812.05, "20250604": 2770.84, "20250602": 2698.97, "20250530": 2697.67, "20250529": 2720.64, "20250528": 2670.15, "20250527": 2637.22, "20250526": 2644.4, "20250523": 2592.09, "20250522": 2593.67, "20250521": 2625.58, "20250520": 2601.8, "20250519": 2603.42, "20250516": 2626.87, "20250515": 2621.36, "20250514": 2640.57, "20250513": 2608.42, "20250512": 2607.33, "20250509": 2577.27, "20250508": 2579.48, "20250507": 2573.8, "20250502": 2559.79, "20250430": 2556.61, "20250429": 2565.42, "20250428": 2548.86, "20250425": 2546.3, "20250424": 2522.33, "20250423": 2525.56, "20250422": 2486.64, "20250421": 2488.42, "20250418": 2483.42, "20250417": 2470.41, "20250416": 2447.43, "20250415": 2477.41, "20250414": 2455.89, "20250411": 2432.72, "20250410": 2445.06, "20250409": 2293.7, "20250408": 2334.23, "20250407": 2328.2, "20250404": 2465.42, "20250403": 2486.7, "20250402": 2505.86, "20250401": 2521.39, "20250331": 2481.12, "20250328": 2557.98, "20250327": 2607.15, "20250326": 2643.94, "20250325": 2615.81, "20250324": 2632.07, "20250321": 2643.13, "20250320": 2637.1, "20250319": 2628.62, "20250318": 2612.34, "20250317": 2610.69, "20250314": 2566.36, "20250313": 2573.64, "20250312": 2574.82, "20250311": 2537.6, "20250310": 2570.39, "20250307": 2563.48, "20250306": 2576.16, "20250305": 2558.13, "20250304": 2528.92, "20250228": 2532.78, "20250227": 2621.75, "20250226": 2641.09, "20250225": 2630.29, "20250224": 2645.27, "20250221": 2654.58, "20250220": 2654.06, "20250219": 2671.52, "20250218": 2626.81, "20250217": 2610.42, "20250214": 2591.05, "20250213": 2583.17, "20250212": 2548.39, "20250211": 2539.05, "20250210": 2521.27, "20250207": 2521.92, "20250206": 2536.75, "20250205": 2509.27, "20250204": 2481.69, "20250203": 2453.95, "20250131": 2517.37, "20250124": 2536.8, "20250123": 2515.49, "20250122": 2547.06, "20250121": 2518.03, "20250120": 2520.05, "20250117": 2523.55, "20250116": 2527.49, "20250115": 2496.81, "20250114": 2497.4, "20250113": 2489.56, "20250110": 2515.78, "20250109": 2521.9, "20250108": 2521.05, "20250107": 2492.1, "20250106": 2488.64, "20250103": 2441.92, "20250102": 2398.94, "20241230": 2399.49, "20241227": 2404.77, "20241226": 2429.67, "20241224": 2440.52, "20241223": 2442.01, "20241220": 2404.15, "20241219": 2435.93, "20241218": 2484.43, "20241217": 2456.81, "20241216": 2488.97, "20241213": 2494.46, "20241212": 2482.12, "20241211": 2442.51, "20241210": 2417.84, "20241209": 2360.58, "20241206": 2428.16, "20241205": 2441.85, "20241204": 2464.0, "20241203": 2500.1, "20241202": 2454.48, "20241129": 2455.91, "20241128": 2504.67, "20241127": 2503.06, "20241126": 2520.36, "20241125": 2534.34, "20241122": 2501.24, "20241121": 2480.63, "20241120": 2482.29, "20241119": 2471.95, "20241118": 2469.07, "20241115": 2416.86, "20241114": 2418.86, "20241113": 2417.08, "20241112": 2482.57, "20241111": 2531.66, "20241108": 2561.15, "20241107": 2564.63, "20241106": 2563.51, "20241105": 2576.88, "20241104": 2588.97, "20241101": 2542.36, "20241031": 2556.15, "20241030": 2593.79, "20241029": 2617.8, "20241028": 2612.43, "20241025": 2583.27, "20241024": 2581.03, "20241023": 2599.62, "20241022": 2570.7, "20241021": 2604.92, "20241018": 2593.82, "20241017": 2609.3, "20241016": 2610.36, "20241015": 2633.45, "20260609": 8096.93, "20260610": 7730.82, "20260611": 7763.95, "20260612": 8123.62, "20260615": 8545.98, "20260616": 8726.6, "20260617": 8864.24, "20260618": 9063.84, "20260619": 9052.42, "20260622": 9114.55, "20260623": 8203.84, "20260624": 8471.02, "20260625": 8930.3, "20260626": 8411.21, "20260629": 8394.65, "20260630": 8476.48, "20260701": 8303.41, "20260702": 7648.09, "20260703": 8088.34, "20260706": 8051.33, "20260707": 7656.31, "20260708": 7246.79, "20260709": 7291.91, "20260710": 7475.94, "20260713": 6806.93, "20260714": 6856.83, "20260715": 7284.41, "20260716": 6820.6, "20260720": 6516.27, "20260721": 6747.95, "20260722": 6797.7, "20260723": 7096.89, "20260724": 6690.62, "20260727": 6755.75, "20260728": 6023.66, "20260729": 5663.24, "20260730": 5576.62}, "KOSDAQ": {"20260608": 911.39, "20260605": 1002.44, "20260604": 1049.73, "20260602": 1026.03, "20260601": 1050.03, "20260529": 1074.8, "20260528": 1104.36, "20260527": 1133.13, "20260526": 1172.52, "20260522": 1161.13, "20260521": 1105.97, "20260520": 1056.07, "20260519": 1084.36, "20260518": 1111.09, "20260515": 1129.82, "20260514": 1191.09, "20260513": 1176.93, "20260512": 1179.29, "20260511": 1207.34, "20260508": 1207.72, "20260507": 1199.18, "20260506": 1210.17, "20260504": 1213.74, "20260430": 1192.35, "20260429": 1220.26, "20260428": 1215.58, "20260427": 1226.18, "20260424": 1203.84, "20260423": 1174.31, "20260422": 1181.12, "20260421": 1179.03, "20260420": 1174.85, "20260417": 1170.04, "20260416": 1162.97, "20260415": 1152.43, "20260414": 1121.88, "20260413": 1099.84, "20260410": 1093.63, "20260409": 1076.0, "20260408": 1089.85, "20260407": 1036.73, "20260406": 1047.37, "20260403": 1063.75, "20260402": 1056.34, "20260401": 1116.18, "20260331": 1052.39, "20260330": 1107.05, "20260327": 1141.51, "20260326": 1136.64, "20260325": 1159.55, "20260324": 1121.44, "20260323": 1096.89, "20260320": 1161.52, "20260319": 1143.48, "20260318": 1164.38, "20260317": 1136.94, "20260316": 1138.29, "20260313": 1152.96, "20260312": 1148.4, "20260311": 1136.83, "20260310": 1137.68, "20260309": 1102.28, "20260306": 1154.67, "20260305": 1116.41, "20260304": 978.44, "20260303": 1137.7, "20260227": 1192.78, "20260226": 1188.15, "20260225": 1165.25, "20260224": 1165.0, "20260223": 1151.99, "20260220": 1154.0, "20260219": 1160.71, "20260213": 1106.08, "20260212": 1125.99, "20260211": 1114.87, "20260210": 1115.2, "20260209": 1127.55, "20260206": 1080.77, "20260205": 1108.41, "20260204": 1149.43, "20260203": 1144.33, "20260202": 1098.36, "20260130": 1149.44, "20260129": 1164.41, "20260128": 1133.52, "20260127": 1082.59, "20260126": 1064.41, "20260123": 993.93, "20260122": 970.35, "20260121": 951.29, "20260120": 976.37, "20260119": 968.36, "20260116": 954.59, "20260115": 951.16, "20260114": 942.18, "20260113": 948.98, "20260112": 949.81, "20260109": 947.92, "20260108": 944.06, "20260107": 947.39, "20260106": 955.97, "20260105": 957.5, "20260102": 945.57, "20251230": 925.47, "20251229": 932.59, "20251226": 919.67, "20251224": 915.2, "20251223": 919.56, "20251222": 929.14, "20251219": 915.27, "20251218": 901.33, "20251217": 911.07, "20251216": 916.11, "20251215": 938.83, "20251212": 937.34, "20251211": 934.64, "20251210": 935.0, "20251209": 931.35, "20251208": 927.79, "20251205": 924.74, "20251204": 929.83, "20251203": 932.01, "20251202": 928.42, "20251201": 922.38, "20251128": 912.67, "20251127": 880.06, "20251126": 877.32, "20251125": 856.03, "20251124": 856.44, "20251121": 863.95, "20251120": 891.94, "20251119": 871.32, "20251118": 878.7, "20251117": 902.67, "20251114": 897.9, "20251113": 918.37, "20251112": 906.51, "20251111": 884.27, "20251110": 888.35, "20251107": 876.81, "20251106": 898.17, "20251105": 901.89, "20251104": 926.57, "20251103": 914.55, "20251031": 900.42, "20251030": 890.86, "20251029": 901.59, "20251028": 903.3, "20251027": 902.7, "20251024": 883.08, "20251023": 872.03, "20251022": 879.15, "20251021": 872.5, "20251020": 875.77, "20251017": 859.54, "20251016": 865.41, "20251015": 864.72, "20251014": 847.96, "20251013": 860.49, "20251010": 859.49, "20251002": 854.25, "20251001": 845.34, "20250930": 841.99, "20250929": 846.71, "20250926": 835.19, "20250925": 852.48, "20250924": 860.94, "20250923": 872.21, "20250922": 874.36, "20250919": 863.11, "20250918": 857.11, "20250917": 845.53, "20250916": 851.84, "20250915": 852.69, "20250912": 847.08, "20250911": 834.76, "20250910": 833.0, "20250909": 824.82, "20250908": 818.6, "20250905": 811.4, "20250904": 805.42, "20250903": 796.81, "20250902": 794.0, "20250901": 785.0, "20250829": 796.91, "20250828": 798.43, "20250827": 801.72, "20250826": 801.66, "20250825": 798.02, "20250822": 782.51, "20250821": 777.24, "20250820": 777.61, "20250819": 787.96, "20250818": 798.05, "20250814": 815.26, "20250813": 814.1, "20250812": 807.19, "20250811": 811.85, "20250808": 809.27, "20250807": 805.81, "20250806": 803.49, "20250805": 798.6, "20250804": 784.06, "20250801": 772.79, "20250731": 805.24, "20250730": 803.67, "20250729": 804.45, "20250728": 804.4, "20250725": 806.95, "20250724": 809.89, "20250723": 813.56, "20250722": 812.97, "20250721": 821.69, "20250718": 820.67, "20250717": 818.27, "20250716": 812.23, "20250715": 812.88, "20250714": 799.37, "20250711": 800.47, "20250710": 797.7, "20250709": 790.36, "20250708": 784.24, "20250707": 778.46, "20250704": 775.8, "20250703": 793.33, "20250702": 782.17, "20250701": 783.67, "20250630": 781.5, "20250627": 781.56, "20250626": 787.95, "20250625": 798.21, "20250624": 800.93, "20250623": 784.79, "20250620": 791.53, "20250619": 782.51, "20250618": 779.73, "20250617": 775.65, "20250616": 777.26, "20250613": 768.86, "20250612": 789.45, "20250611": 786.29, "20250610": 771.2, "20250609": 764.21, "20250605": 756.23, "20250604": 750.21, "20250602": 740.29, "20250530": 734.35, "20250529": 736.29, "20250528": 728.79, "20250527": 727.11, "20250526": 725.27, "20250523": 715.98, "20250522": 717.67, "20250521": 723.62, "20250520": 715.55, "20250519": 713.75, "20250516": 725.07, "20250515": 733.23, "20250514": 739.05, "20250513": 731.88, "20250512": 725.4, "20250509": 722.52, "20250508": 729.59, "20250507": 722.81, "20250502": 721.86, "20250430": 717.24, "20250429": 726.46, "20250428": 719.41, "20250425": 729.69, "20250424": 726.08, "20250423": 726.08, "20250422": 716.12, "20250421": 715.45, "20250418": 717.77, "20250417": 711.75, "20250416": 699.11, "20250415": 711.92, "20250414": 708.98, "20250411": 695.59, "20250410": 681.79, "20250409": 643.39, "20250408": 658.45, "20250407": 651.3, "20250404": 687.39, "20250403": 683.49, "20250402": 684.85, "20250401": 691.45, "20250331": 672.85, "20250328": 693.76, "20250327": 707.49, "20250326": 716.48, "20250325": 711.26, "20250324": 720.22, "20250321": 719.41, "20250320": 725.15, "20250319": 738.35, "20250318": 745.54, "20250317": 743.51, "20250314": 734.26, "20250313": 722.8, "20250312": 729.49, "20250311": 721.5, "20250310": 725.82, "20250307": 727.7, "20250306": 734.92, "20250305": 746.95, "20250304": 737.9, "20250228": 743.96, "20250227": 770.85, "20250226": 771.41, "20250225": 769.43, "20250224": 773.33, "20250221": 774.65, "20250220": 768.27, "20250219": 778.27, "20250218": 773.65, "20250217": 768.48, "20250214": 756.32, "20250213": 749.28, "20250212": 745.18, "20250211": 749.59, "20250210": 749.67, "20250207": 742.9, "20250206": 740.32, "20250205": 730.98, "20250204": 719.92, "20250203": 703.8, "20250131": 728.29, "20250124": 728.74, "20250123": 724.01, "20250122": 732.31, "20250121": 726.07, "20250120": 727.66, "20250117": 724.69, "20250116": 724.24, "20250115": 711.61, "20250114": 718.04, "20250113": 708.21, "20250110": 717.89, "20250109": 723.52, "20250108": 719.63, "20250107": 718.29, "20250106": 717.96, "20250103": 705.76, "20250102": 686.63, "20241230": 678.19, "20241227": 665.97, "20241226": 675.64, "20241224": 680.11, "20241223": 679.24, "20241220": 668.31, "20241219": 684.36, "20241218": 697.57, "20241217": 694.47, "20241216": 698.53, "20241213": 693.73, "20241212": 683.35, "20241211": 675.92, "20241210": 661.59, "20241209": 627.01, "20241206": 661.33, "20241205": 670.94, "20241204": 677.15, "20241203": 690.8, "20241202": 675.84, "20241129": 678.19, "20241128": 694.39, "20241127": 692.0, "20241126": 693.15, "20241125": 696.83, "20241122": 677.01, "20241121": 680.67, "20241120": 682.91, "20241119": 686.12, "20241118": 689.55, "20241115": 685.42, "20241114": 681.56, "20241113": 689.65, "20241112": 710.52, "20241111": 728.84, "20241108": 743.38, "20241107": 733.52, "20241106": 743.31, "20241105": 751.81, "20241104": 754.08, "20241101": 729.05, "20241031": 743.06, "20241030": 738.19, "20241029": 744.18, "20241028": 740.48, "20241025": 727.41, "20241024": 734.59, "20241023": 745.19, "20241022": 738.34, "20241021": 759.95, "20241018": 753.22, "20241017": 765.06, "20241016": 765.79, "20241015": 773.81, "20260609": 967.81, "20260610": 951.63, "20260611": 996.93, "20260612": 1029.05, "20260615": 1034.03, "20260616": 1018.68, "20260617": 1031.96, "20260618": 1000.93, "20260619": 966.59, "20260622": 968.4, "20260623": 891.52, "20260624": 909.31, "20260625": 887.81, "20260626": 851.37, "20260629": 920.57, "20260630": 916.18, "20260701": 929.35, "20260702": 866.72, "20260703": 868.41, "20260706": 847.07, "20260707": 831.23, "20260708": 785.0, "20260709": 794.0, "20260710": 837.43, "20260713": 799.36, "20260714": 783.98, "20260715": 829.43, "20260716": 791.84, "20260720": 749.64, "20260721": 753.34, "20260722": 751.09, "20260723": 790.28, "20260724": 748.22, "20260727": 764.86, "20260728": 705.85, "20260729": 662.68, "20260730": 644.97}}
\ No newline at end of file
diff --git a/agents/stock/workspace/state/sim/variants/v1/portfolio.json b/agents/stock/workspace/state/sim/variants/v1/portfolio.json
index 46147e3..316ede3 100644
--- a/agents/stock/workspace/state/sim/variants/v1/portfolio.json
+++ b/agents/stock/workspace/state/sim/variants/v1/portfolio.json
@@ -1,5 +1,5 @@
{
- "cash": 23499630.964999992,
+ "cash": 9942727.734499987,
"initial": 100000000,
"positions": {
"010950": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 126900,
+ "cur_price": 129000,
"tranches": 2,
"tranche_value": 5572914.42378125,
"last_add_price": 130800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 5505297.51634375,
"last_add_price": 6030
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5640114.3750312505,
"last_add_price": 353000
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 5411911.7463125,
"last_add_price": 91400
@@ -102,10 +102,52 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,643 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5547990.7530625,
"last_add_price": 18950
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 589,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:05.277095+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 3612125.2394573665,
+ "last_add_price": 6130
+ },
+ "138040": {
+ "code": "138040",
+ "name": "메리츠금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 79,
+ "entry_price": 125877.21518987342,
+ "entry_at": "2026-07-30T09:16:09.704305+09:00",
+ "stop": 114936,
+ "target": 158700,
+ "peak": 127600,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 123100,
+ "tranches": 2,
+ "tranche_value": 5035879.961218749,
+ "last_add_price": 127700
}
},
"realized_pnl": -21837800.879500017,
@@ -128,5 +170,5 @@
"252990": "2026-07-29"
},
"created_at": "2026-06-11T09:00:01.943184+09:00",
- "updated_at": "2026-07-29T15:28:01.415294+09:00"
+ "updated_at": "2026-07-30T15:28:06.297781+09:00"
}
\ No newline at end of file
diff --git a/agents/stock/workspace/state/sim/variants/v1/trades.jsonl b/agents/stock/workspace/state/sim/variants/v1/trades.jsonl
index d14b413..91ea602 100644
--- a/agents/stock/workspace/state/sim/variants/v1/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v1/trades.jsonl
@@ -60,3 +60,6 @@
{"ts": "2026-07-29T10:52:02.292514+09:00", "side": "SELL", "code": "252990", "name": "샘씨엔에스", "price": 10340, "qty": 623, "proceeds": 6429258, "entry_price": 12214, "pnl": -1181053, "pnl_pct": -15.34, "hold_from": "2026-07-27T09:12:01.035446+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,340 (현재 10,340)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,835"}, {"label": "추세(10일선)", "ok": false, "detail": "12,607"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +239 · 기 -181"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T12:04:01.628867+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 83, "proceeds": 9874307, "entry_price": 132580, "pnl": -1131443, "pnl_pct": -10.09, "hold_from": "2026-07-10T09:26:06.360780+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,709 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,192"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.383429+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 1291, "proceeds": 7189733, "entry_price": 6624, "pnl": -1362980, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:01.303420+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(10일선)", "ok": true, "detail": "5,204"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:05.277102+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 589, "cost": 3611112, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:09.704313+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 124100, "qty": 40, "cost": 4964745, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113673, "target": 155380, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "124,000 vs 117,010"}, {"label": "정배열(5>10)", "ok": true, "detail": "118,260 / 117,010"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,260 / 110,085"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+54.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +9 · 기 +389 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.31% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "518,220 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.31% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T10:10:06.142998+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 39, "cost": 4981047, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113673, "target": 155380, "signals": [{"label": "손절선", "ok": true, "detail": "113,673 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 155,380"}, {"label": "추세(10일선)", "ok": true, "detail": "117,370"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,835"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v101/portfolio.json b/agents/stock/workspace/state/sim/variants/v101/portfolio.json
index 8f8f10c..03c50c7 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": 67379374.54150002,
+ "cash": 45394687.33300002,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3936003.3225085386,
"last_add_price": 353000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3844545.2388675264,
"last_add_price": 90900
@@ -50,27 +50,111 @@
"sources": [
"auto"
],
- "qty": 42,
- "entry_price": 123400,
+ "qty": 83,
+ "entry_price": 124881.92771084337,
"entry_at": "2026-07-29T10:24:01.432671+09:00",
- "stop": 113016,
- "target": 138976,
- "peak": 123600,
+ "stop": 114155,
+ "target": 140972,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 5296043.025056097,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "030000": {
+ "code": "030000",
+ "name": "제일기획",
+ "sources": [
+ "auto"
+ ],
+ "qty": 288,
+ "entry_price": 19090,
+ "entry_at": "2026-07-30T09:04:06.858549+09:00",
+ "stop": 17760,
+ "target": 21085,
+ "peak": 19430,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 19,653 도달",
+ "cur_price": 19130,
+ "tranches": 1,
+ "tranche_value": 5514104.658843751,
+ "last_add_price": 19090
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 329,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.859145+09:00",
+ "stop": 4793,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2020237.3208749255,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 29,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:06.912150+09:00",
+ "stop": 116987,
+ "target": 154020,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3949543.523644232,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 867,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:06.863452+09:00",
+ "stop": 5789,
+ "target": 7067,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5464347.78131507,
+ "last_add_price": 6300
}
},
"realized_pnl": -12184860.553500012,
"closed_trades": 22,
"wins": 1,
"peak_equity": 100172467.23000002,
- "max_drawdown": 0.12578399072042104,
+ "max_drawdown": 0.13191928143946544,
"last_exit": {
"030000": "2026-07-29",
"086790": "2026-07-28",
@@ -87,5 +171,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-11T09:00:01.944232+09:00",
- "updated_at": "2026-07-29T15:28:01.457829+09:00"
+ "updated_at": "2026-07-30T15:28:06.357487+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 2276df6..8736b19 100644
--- a/agents/stock/workspace/state/sim/variants/v101/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v101/trades.jsonl
@@ -57,3 +57,8 @@
{"ts": "2026-07-29T10:24:01.432673+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 42, "cost": 5183577, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 138976, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "123,400 vs 116,950"}, {"label": "정배열(5>10)", "ok": true, "detail": "118,140 / 116,950"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T10:52:02.342370+09:00", "side": "SELL", "code": "252990", "name": "샘씨엔에스", "price": 10340, "qty": 355, "proceeds": 3663542, "entry_price": 12160, "pnl": -653915, "pnl_pct": -14.97, "hold_from": "2026-07-27T09:12:01.497849+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,340 (현재 10,340)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 14,890"}, {"label": "추세(10일선)", "ok": false, "detail": "12,607"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +239 · 기 -181"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.579933+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 848, "proceeds": 4959590, "entry_price": 6390, "pnl": -459943, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.375104+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,174"}, {"label": "추세(10일선)", "ok": true, "detail": "5,539"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:06.858551+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 19090, "qty": 288, "cost": 5498745, "path": "pullback", "reason": "눌림목 지정가 19,653 도달", "stop": 17760, "target": 21085, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "19,100 vs 18,958"}, {"label": "정배열(5>10)", "ok": true, "detail": "19,606 / 18,958"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,606 / 19,360"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+29.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +2 · 기 +327 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "160,727 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,653 (현재 19,100)"}]}
+{"ts": "2026-07-30T09:04:06.859148+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 329, "cost": 2017073, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 8135, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:24:06.912152+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 29, "cost": 3822773, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 154020, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "132,000 vs 108,670"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,580 / 108,670"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:06.863454+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 867, "cost": 5462919, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7067, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
+{"ts": "2026-07-30T09:50:06.667546+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 41, "cost": 5183177, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 138976, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 138,976"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v103/portfolio.json b/agents/stock/workspace/state/sim/variants/v103/portfolio.json
index cf1e93a..aadd46b 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": 60476093.16450006,
+ "cash": 33514429.521500062,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3962363.617644489,
"last_add_price": 353000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3892203.318086031,
"last_add_price": 90900
@@ -55,22 +55,127 @@
"entry_at": "2026-07-29T09:02:02.218181+09:00",
"stop": 111200,
"target": 131165,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5549046.703468754,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 83,
+ "entry_price": 123226.50602409638,
+ "entry_at": "2026-07-30T09:04:06.862578+09:00",
+ "stop": 111000,
+ "target": 141566,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 5150762.675171776,
+ "last_add_price": 125200
+ },
+ "030000": {
+ "code": "030000",
+ "name": "제일기획",
+ "sources": [
+ "auto"
+ ],
+ "qty": 286,
+ "entry_price": 19090,
+ "entry_at": "2026-07-30T09:04:06.862754+09:00",
+ "stop": 17760,
+ "target": 21085,
+ "peak": 19430,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 20,019 도달",
+ "cur_price": 19130,
+ "tranches": 1,
+ "tranche_value": 5467064.310906254,
+ "last_add_price": 19090
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 326,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.863063+09:00",
+ "stop": 4793,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2002983.4606684945,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 29,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:06.914859+09:00",
+ "stop": 116987,
+ "target": 154020,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3940896.531574532,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 865,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:06.866300+09:00",
+ "stop": 5789,
+ "target": 7067,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5453229.880263703,
+ "last_add_price": 6300
}
},
"realized_pnl": -13097543.475500017,
"closed_trades": 27,
"wins": 2,
"peak_equity": 101529111.72700004,
- "max_drawdown": 0.1463739641735473,
+ "max_drawdown": 0.14680816124520618,
"last_exit": {
"030000": "2026-07-29",
"086790": "2026-07-29",
@@ -88,5 +193,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-11T09:00:01.944251+09:00",
- "updated_at": "2026-07-29T15:28:01.459421+09:00"
+ "updated_at": "2026-07-30T15:28:06.359449+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 fb6fa2f..6cb4650 100644
--- a/agents/stock/workspace/state/sim/variants/v103/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v103/trades.jsonl
@@ -74,3 +74,9 @@
{"ts": "2026-07-29T12:04:01.681905+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 85, "proceeds": 10112243, "entry_price": 124176, "pnl": -444341, "pnl_pct": -4.01, "hold_from": "2026-07-02T10:18:03.827419+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "111,006 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 143,933"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:06:06.472442+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5690, "qty": 770, "proceeds": 4372756, "entry_price": 6936, "pnl": -968965, "pnl_pct": -17.97, "hold_from": "2026-07-28T09:00:15.725812+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,741 (현재 5,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,729"}, {"label": "추세(10일선)", "ok": true, "detail": "5,214"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.581955+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 850, "proceeds": 4971287, "entry_price": 6390, "pnl": -461028, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.377043+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,174"}, {"label": "추세(10일선)", "ok": true, "detail": "5,539"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:06.862580+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 42, "cost": 5095364, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 136750, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "121,200 vs 119,680"}, {"label": "정배열(5>10)", "ok": true, "detail": "120,840 / 119,680"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:06.862756+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 19090, "qty": 286, "cost": 5460559, "path": "pullback", "reason": "눌림목 지정가 20,019 도달", "stop": 17760, "target": 21085, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "19,100 vs 18,958"}, {"label": "정배열(5>10)", "ok": true, "detail": "19,606 / 18,958"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,606 / 19,360"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+29.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +2 · 기 +327 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "160,727 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 20,019 (현재 19,100)"}]}
+{"ts": "2026-07-30T09:04:06.863066+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 326, "cost": 1998680, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 8135, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.313716+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 41, "cost": 5133970, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 136750, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 136,750"}, {"label": "추세(10일선)", "ok": true, "detail": "120,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:24:06.914861+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 29, "cost": 3822773, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 154020, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "132,000 vs 108,670"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,580 / 108,670"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:06.866302+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 865, "cost": 5450317, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7067, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v105/portfolio.json b/agents/stock/workspace/state/sim/variants/v105/portfolio.json
index fa1cc00..1239929 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": 26011542.238000043,
+ "cash": 28681733.183500044,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 4980582.661409654,
"last_add_price": 356000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 110,
- "entry_price": 101114.54545454546,
- "entry_at": "2026-07-22T09:04:01.813457+09:00",
- "stop": 92100,
- "target": 119144,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5575262.741000003,
- "last_add_price": 103100
- },
"078930": {
"code": "078930",
"name": "GS",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 4849662.714601921,
"last_add_price": 90900
@@ -81,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,032 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5535494.525500003,
"last_add_price": 18950
@@ -102,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 2,135 도달",
- "cur_price": 1805,
+ "cur_price": 1846,
"tranches": 2,
"tranche_value": 2595536.5029300014,
"last_add_price": 1951
@@ -118,22 +97,64 @@
"entry_at": "2026-07-29T09:02:02.221426+09:00",
"stop": 111408,
"target": 134739,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5213821.568625003,
"last_add_price": 120500
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 411,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.866644+09:00",
+ "stop": 5127,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2521548.49371356,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 37,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:06.917508+09:00",
+ "stop": 120690,
+ "target": 154020,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 4970364.152582046,
+ "last_add_price": 131800
}
},
- "realized_pnl": -17214272.911500026,
- "closed_trades": 38,
+ "realized_pnl": -18271210.95150003,
+ "closed_trades": 39,
"wins": 3,
"peak_equity": 101695667.93550003,
- "max_drawdown": 0.19995099211499182,
+ "max_drawdown": 0.20390639220887885,
"last_exit": {
"030000": "2026-07-24",
"035420": "2026-06-23",
@@ -151,8 +172,9 @@
"003680": "2026-07-29",
"252990": "2026-07-28",
"010950": "2026-07-29",
- "090850": "2026-07-29"
+ "090850": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-11T09:00:01.944270+09:00",
- "updated_at": "2026-07-29T15:28:01.461183+09:00"
+ "updated_at": "2026-07-30T15:28:06.945088+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 0d56003..ad0b5ae 100644
--- a/agents/stock/workspace/state/sim/variants/v105/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v105/trades.jsonl
@@ -107,3 +107,6 @@
{"ts": "2026-07-29T09:28:01.378937+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6390, "qty": 819, "cost": 5234195, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5998, "target": 7174, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,380 vs 5,358"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,742 / 5,358"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,742 / 5,622"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +73 · 기 -3 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.62% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "134,413 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.62% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "73"}]}
{"ts": "2026-07-29T10:42:05.407176+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5980, "qty": 819, "proceeds": 4888070, "entry_price": 6390, "pnl": -346125, "pnl_pct": -6.42, "hold_from": "2026-07-29T09:28:01.378936+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,998 (현재 5,980)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,174"}, {"label": "추세(20일선)", "ok": true, "detail": "5,338"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +77 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,521"}]}
{"ts": "2026-07-29T11:18:04.419939+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6000, "qty": 968, "proceeds": 5796674, "entry_price": 6936, "pnl": -918733, "pnl_pct": -13.5, "hold_from": "2026-07-28T09:00:15.829228+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "6,040 (현재 6,020)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,729"}, {"label": "추세(20일선)", "ok": true, "detail": "4,803"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:06.866646+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 411, "cost": 2519808, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 5127, "target": 8135, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:24:06.917510+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 37, "cost": 4877331, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 120690, "target": 154020, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "132,000 vs 108,925"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,580 / 108,925"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T11:58:07.822065+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 110, "proceeds": 10067330, "entry_price": 101115, "pnl": -1056938, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.813457+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,144"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v107/portfolio.json b/agents/stock/workspace/state/sim/variants/v107/portfolio.json
index b9beb20..0954501 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": 42397561.0635,
+ "cash": 19178388.71,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5156172.079657566,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 5078672.507755172,
"last_add_price": 90900
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,012 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5806232.125812501,
"last_add_price": 18950
@@ -76,15 +76,99 @@
"entry_at": "2026-07-29T09:02:02.224637+09:00",
"stop": 111408,
"target": 134740,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5368293.320125001,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 83,
+ "entry_price": 123226.50602409638,
+ "entry_at": "2026-07-30T09:04:07.455785+09:00",
+ "stop": 113273,
+ "target": 143133,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 5180051.180047499,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 423,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.457322+09:00",
+ "stop": 5127,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2599049.62031184,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 38,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:07.511679+09:00",
+ "stop": 120690,
+ "target": 154020,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 5127095.802498201,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 855,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:07.458674+09:00",
+ "stop": 5917,
+ "target": 7067,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5392894.7928125,
+ "last_add_price": 6300
}
},
"realized_pnl": -15557333.116500024,
@@ -109,5 +193,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-11T09:00:01.944290+09:00",
- "updated_at": "2026-07-29T15:28:01.462794+09:00"
+ "updated_at": "2026-07-30T15:28:06.956556+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 ece1685..ce82c7d 100644
--- a/agents/stock/workspace/state/sim/variants/v107/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v107/trades.jsonl
@@ -85,3 +85,8 @@
{"ts": "2026-07-29T10:42:05.409278+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5980, "qty": 843, "proceeds": 5031310, "entry_price": 6390, "pnl": -356268, "pnl_pct": -6.42, "hold_from": "2026-07-29T09:28:01.380943+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,998 (현재 5,980)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,174"}, {"label": "추세(10일선)", "ok": true, "detail": "5,551"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +77 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,521"}]}
{"ts": "2026-07-29T11:18:04.421952+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6000, "qty": 997, "proceeds": 5970335, "entry_price": 6936, "pnl": -946202, "pnl_pct": -13.5, "hold_from": "2026-07-28T09:00:15.935337+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "6,040 (현재 6,020)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,729"}, {"label": "추세(10일선)", "ok": true, "detail": "5,246"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T12:04:01.685681+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 89, "proceeds": 10588113, "entry_price": 124178, "pnl": -465345, "pnl_pct": -4.01, "hold_from": "2026-07-02T10:18:03.834926+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "114,299 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 143,934"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:07.455793+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 42, "cost": 5095364, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111347, "target": 141206, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "121,200 vs 119,680"}, {"label": "정배열(5>10)", "ok": true, "detail": "120,840 / 119,680"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:07.457329+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 423, "cost": 2593379, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 5127, "target": 8135, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.909415+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 41, "cost": 5133970, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111347, "target": 141206, "signals": [{"label": "손절선", "ok": true, "detail": "111,347 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 141,206"}, {"label": "추세(10일선)", "ok": true, "detail": "120,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:24:07.511684+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 38, "cost": 5009151, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 120690, "target": 154020, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "132,000 vs 108,670"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,580 / 108,670"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:07.458683+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 855, "cost": 5387308, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5917, "target": 7067, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v147/portfolio.json b/agents/stock/workspace/state/sim/variants/v147/portfolio.json
index f1df23d..19fbcad 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": 38672694.80499996,
+ "cash": 22078706.885999955,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5184250.1290937485,
"last_add_price": 356000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 102,
- "entry_price": 101111.76470588235,
- "entry_at": "2026-07-22T09:04:01.817053+09:00",
- "stop": 92100,
- "target": 128147,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5241897.148781248,
- "last_add_price": 103100
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,032 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5024795.592812498,
"last_add_price": 18950
@@ -76,22 +55,127 @@
"entry_at": "2026-07-29T09:02:02.227528+09:00",
"stop": 111200,
"target": 142435,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 4675255.455593748,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 73,
+ "entry_price": 123223.28767123287,
+ "entry_at": "2026-07-30T09:04:07.465577+09:00",
+ "stop": 111000,
+ "target": 159893,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 4550435.925312498,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 545,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.466771+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 3342107.250162302,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 35,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:11.918383+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 4604300.898906248,
+ "last_add_price": 130900
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 731,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.149796+09:00",
+ "stop": 5799,
+ "target": 7843,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 4614360.447343747,
+ "last_add_price": 6310
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 50,
+ "entry_price": 87900,
+ "entry_at": "2026-07-30T12:04:07.816765+09:00",
+ "stop": 76706,
+ "target": 121481,
+ "peak": 89200,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 4476061.633499997,
+ "last_add_price": 87900
}
},
- "realized_pnl": -27627751.02000002,
- "closed_trades": 31,
+ "realized_pnl": -28607537.16000002,
+ "closed_trades": 32,
"wins": 1,
"peak_equity": 103066363.367,
- "max_drawdown": 0.2973110459024045,
+ "max_drawdown": 0.3103753294088034,
"last_exit": {
"030000": "2026-07-24",
"086790": "2026-07-29",
@@ -111,8 +195,9 @@
"010950": "2026-07-29",
"078930": "2026-07-29",
"003680": "2026-07-29",
- "090850": "2026-07-29"
+ "090850": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.582771+09:00",
- "updated_at": "2026-07-29T15:28:01.464455+09:00"
+ "updated_at": "2026-07-30T15:28:06.963749+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 0b062b1..79286a1 100644
--- a/agents/stock/workspace/state/sim/variants/v147/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v147/trades.jsonl
@@ -86,3 +86,10 @@
{"ts": "2026-07-29T13:06:06.514247+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5690, "qty": 1323, "proceeds": 7513191, "entry_price": 6936, "pnl": -1664846, "pnl_pct": -17.97, "hold_from": "2026-07-28T09:00:16.050865+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,741 (현재 5,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 10,522"}, {"label": "추세(20일선)", "ok": true, "detail": "4,787"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:30:01.445481+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 118000, "qty": 106, "proceeds": 12483609, "entry_price": 120162, "pnl": -255501, "pnl_pct": -1.8, "hold_from": "2026-07-01T09:46:03.059028+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 118,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 147,649"}, {"label": "추세(20일선)", "ok": false, "detail": "118,145"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.587859+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 736, "proceeds": 4304550, "entry_price": 6390, "pnl": -399196, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.382782+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,958"}, {"label": "추세(20일선)", "ok": true, "detail": "5,332"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:07.465582+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 37, "cost": 4488773, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 152200, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "121,200 vs 118,305"}, {"label": "정배열(5>20)", "ok": true, "detail": "120,840 / 118,305"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:07.466775+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 545, "cost": 3341351, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.917652+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 36, "cost": 4507876, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 152200, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 152,200"}, {"label": "추세(20일선)", "ok": true, "detail": "118,515"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:16:11.918388+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 35, "cost": 4582187, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "130,900 vs 108,870"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,360 / 108,870"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.149807+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 731, "cost": 4613302, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5799, "target": 7843, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,300 vs 5,354"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,726 / 5,354"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T11:58:08.423544+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 102, "proceeds": 9335161, "entry_price": 101112, "pnl": -979786, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.817053+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 128,147"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T12:04:07.816772+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 87900, "qty": 50, "cost": 4395659, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 76706, "target": 121481, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "87,900 vs 75,055"}, {"label": "정배열(5>20)", "ok": true, "detail": "82,940 / 75,055"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "82,940 / 75,053"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+61.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +280 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.79% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "728,608 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.79% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v149/portfolio.json b/agents/stock/workspace/state/sim/variants/v149/portfolio.json
index 365f5f9..9111f5e 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": 38090320.14199995,
+ "cash": 19291226.259999953,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5435113.820843748,
"last_add_price": 356000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 108,
- "entry_price": 101113.88888888889,
- "entry_at": "2026-07-22T09:04:01.818826+09:00",
- "stop": 92100,
- "target": 114635,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5477452.925531248,
- "last_add_price": 103100
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,032 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5357608.233093748,
"last_add_price": 18950
@@ -76,22 +55,127 @@
"entry_at": "2026-07-29T09:02:02.230500+09:00",
"stop": 111200,
"target": 131161,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5057738.410843747,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 81,
+ "entry_price": 123225.92592592593,
+ "entry_at": "2026-07-30T09:04:07.472633+09:00",
+ "stop": 111000,
+ "target": 141565,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 5030428.7588749975,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 603,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.473311+09:00",
+ "stop": 4793,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 3698158.582805608,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 38,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:11.924631+09:00",
+ "stop": 116144,
+ "target": 153035,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 5098537.405531247,
+ "last_add_price": 130900
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 809,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.159696+09:00",
+ "stop": 5799,
+ "target": 7077,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5110875.1474062465,
+ "last_add_price": 6310
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 56,
+ "entry_price": 87900,
+ "entry_at": "2026-07-30T12:04:07.823150+09:00",
+ "stop": 76706,
+ "target": 104690,
+ "peak": 89200,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 4964432.788749997,
+ "last_add_price": 87900
}
},
- "realized_pnl": -19891378.058000024,
- "closed_trades": 35,
+ "realized_pnl": -20929028.123000026,
+ "closed_trades": 36,
"wins": 5,
"peak_equity": 103066363.367,
- "max_drawdown": 0.2238488817622051,
+ "max_drawdown": 0.23564969514366776,
"last_exit": {
"030000": "2026-07-24",
"086790": "2026-07-29",
@@ -111,8 +195,9 @@
"010950": "2026-07-29",
"078930": "2026-07-29",
"003680": "2026-07-29",
- "090850": "2026-07-29"
+ "090850": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.582787+09:00",
- "updated_at": "2026-07-29T15:28:01.466086+09:00"
+ "updated_at": "2026-07-30T15:28:06.969242+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 04e92d3..b2d88ae 100644
--- a/agents/stock/workspace/state/sim/variants/v149/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v149/trades.jsonl
@@ -93,3 +93,10 @@
{"ts": "2026-07-29T09:28:01.384508+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6390, "qty": 794, "cost": 5074421, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5867, "target": 7174, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,380 vs 5,358"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,742 / 5,358"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,742 / 5,622"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +73 · 기 -3 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.62% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "134,413 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.62% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "73"}]}
{"ts": "2026-07-29T11:54:01.475203+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 120100, "qty": 40, "proceeds": 4794632, "entry_price": 133100, "pnl": -530166, "pnl_pct": -9.77, "hold_from": "2026-07-21T10:08:04.172929+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "120,243 (현재 120,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 152,385"}, {"label": "추세(20일선)", "ok": true, "detail": "118,250"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -13 · 기 -68"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 136,414"}]}
{"ts": "2026-07-29T13:34:03.589780+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 794, "proceeds": 4643767, "entry_price": 6390, "pnl": -430654, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.384507+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,174"}, {"label": "추세(20일선)", "ok": true, "detail": "5,332"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:07.472638+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 41, "cost": 4974046, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 136750, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "121,200 vs 118,305"}, {"label": "정배열(5>20)", "ok": true, "detail": "120,840 / 118,305"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:07.473315+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 603, "cost": 3696944, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 8135, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.924015+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 40, "cost": 5008751, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 136750, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 136,750"}, {"label": "추세(20일선)", "ok": true, "detail": "118,515"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:16:11.924634+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 38, "cost": 4974946, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 153035, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "130,900 vs 108,870"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,360 / 108,870"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.159701+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 809, "cost": 5105556, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5799, "target": 7077, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,300 vs 5,354"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,726 / 5,354"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T11:58:08.429556+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 108, "proceeds": 9884288, "entry_price": 101114, "pnl": -1037650, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.818826+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 114,635"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T12:04:07.823153+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 87900, "qty": 56, "cost": 4923138, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 76706, "target": 104690, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "87,900 vs 75,055"}, {"label": "정배열(5>20)", "ok": true, "detail": "82,940 / 75,055"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "82,940 / 75,053"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+61.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +280 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.79% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "728,608 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.79% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v151/portfolio.json b/agents/stock/workspace/state/sim/variants/v151/portfolio.json
index fcb7975..d253c13 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": 34460901.99899996,
+ "cash": 17228543.256499957,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5274205.950343749,
"last_add_price": 356000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 104,
- "entry_price": 101112.5,
- "entry_at": "2026-07-22T09:04:01.820564+09:00",
- "stop": 92100,
- "target": 119138,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5328934.220031248,
- "last_add_price": 103100
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,032 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5136044.188124998,
"last_add_price": 18950
@@ -76,22 +55,127 @@
"entry_at": "2026-07-29T09:02:02.233197+09:00",
"stop": 111200,
"target": 135151,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 4798325.220406247,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 75,
+ "entry_price": 123224.0,
+ "entry_at": "2026-07-30T09:04:07.478234+09:00",
+ "stop": 111000,
+ "target": 147672,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 4697478.874937497,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 563,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.479053+09:00",
+ "stop": 4793,
+ "target": 8804,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 3453556.2895330573,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 36,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:11.930358+09:00",
+ "stop": 116144,
+ "target": 160413,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 4762406.753156248,
+ "last_add_price": 130900
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 756,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.166021+09:00",
+ "stop": 5799,
+ "target": 7332,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 4773756.949406248,
+ "last_add_price": 6310
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 52,
+ "entry_price": 87900,
+ "entry_at": "2026-07-30T12:04:07.828076+09:00",
+ "stop": 76706,
+ "target": 110287,
+ "peak": 89200,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 4633215.554781247,
+ "last_add_price": 87900
}
},
- "realized_pnl": -25215050.30100003,
- "closed_trades": 32,
+ "realized_pnl": -26214124.41600003,
+ "closed_trades": 33,
"wins": 2,
"peak_equity": 103066363.367,
- "max_drawdown": 0.2753482754499373,
+ "max_drawdown": 0.286701685643846,
"last_exit": {
"030000": "2026-07-24",
"086790": "2026-07-29",
@@ -111,8 +195,9 @@
"010950": "2026-07-29",
"078930": "2026-07-29",
"003680": "2026-07-29",
- "090850": "2026-07-29"
+ "090850": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.582803+09:00",
- "updated_at": "2026-07-29T15:28:01.467725+09:00"
+ "updated_at": "2026-07-30T15:28:06.974282+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 37bd5db..d7e6bae 100644
--- a/agents/stock/workspace/state/sim/variants/v151/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v151/trades.jsonl
@@ -87,3 +87,10 @@
{"ts": "2026-07-29T11:54:01.477218+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 120100, "qty": 39, "proceeds": 4674766, "entry_price": 133100, "pnl": -516912, "pnl_pct": -9.77, "hold_from": "2026-07-21T10:08:04.174962+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "120,243 (현재 120,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 158,813"}, {"label": "추세(20일선)", "ok": true, "detail": "118,250"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -13 · 기 -68"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 136,414"}]}
{"ts": "2026-07-29T13:06:06.518446+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5690, "qty": 1351, "proceeds": 7672200, "entry_price": 6936, "pnl": -1700186, "pnl_pct": -17.97, "hold_from": "2026-07-28T09:00:16.264480+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,741 (현재 5,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,327"}, {"label": "추세(20일선)", "ok": true, "detail": "4,787"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.591638+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 754, "proceeds": 4409824, "entry_price": 6390, "pnl": -408959, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.386229+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,435"}, {"label": "추세(20일선)", "ok": true, "detail": "5,332"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:07.478237+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 38, "cost": 4610091, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 141900, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "121,200 vs 118,305"}, {"label": "정배열(5>20)", "ok": true, "detail": "120,840 / 118,305"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:07.479057+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 563, "cost": 3451708, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 8804, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.929896+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 37, "cost": 4633095, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 141900, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 141,900"}, {"label": "추세(20일선)", "ok": true, "detail": "118,515"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:16:11.930362+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 36, "cost": 4713107, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 160413, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "130,900 vs 108,870"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,360 / 108,870"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.166025+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 756, "cost": 4771076, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5799, "target": 7332, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,300 vs 5,354"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,726 / 5,354"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T11:58:08.434750+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 104, "proceeds": 9518203, "entry_price": 101112, "pnl": -999074, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.820564+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,138"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T12:04:07.828079+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 87900, "qty": 52, "cost": 4571486, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 76706, "target": 110287, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "87,900 vs 75,055"}, {"label": "정배열(5>20)", "ok": true, "detail": "82,940 / 75,055"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "82,940 / 75,053"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+61.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +280 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.79% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "728,608 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.79% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v155/portfolio.json b/agents/stock/workspace/state/sim/variants/v155/portfolio.json
index 9d2cff6..8be2c2c 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": 39467772.84450003,
+ "cash": 23032163.43200002,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 4947379.149752503,
"last_add_price": 356000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 108,
- "entry_price": 101113.88888888889,
- "entry_at": "2026-07-22T09:04:01.822292+09:00",
- "stop": 92100,
- "target": 119142,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5540629.633968752,
- "last_add_price": 103100
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,032 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5342833.247656252,
"last_add_price": 18950
@@ -76,22 +55,127 @@
"entry_at": "2026-07-29T09:02:02.235827+09:00",
"stop": 111408,
"target": 134739,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5120146.001656252,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 79,
+ "entry_price": 123225.3164556962,
+ "entry_at": "2026-07-30T09:04:07.484187+09:00",
+ "stop": 113272,
+ "target": 143132,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 4929642.288776176,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 404,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.484676+09:00",
+ "stop": 5127,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2477780.379475499,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 37,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:11.935111+09:00",
+ "stop": 119833,
+ "target": 153035,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 4848771.68070699,
+ "last_add_price": 130900
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 813,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.171043+09:00",
+ "stop": 5927,
+ "target": 7077,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5134489.040718751,
+ "last_add_price": 6310
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 47,
+ "entry_price": 87900,
+ "entry_at": "2026-07-30T12:04:07.833673+09:00",
+ "stop": 79505,
+ "target": 104690,
+ "peak": 89200,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 4187644.1160591436,
+ "last_add_price": 87900
}
},
- "realized_pnl": -19369843.72400003,
- "closed_trades": 44,
+ "realized_pnl": -20407493.78900003,
+ "closed_trades": 45,
"wins": 4,
"peak_equity": 101291892.54300004,
- "max_drawdown": 0.20613604084488943,
+ "max_drawdown": 0.2164632189263529,
"last_exit": {
"086790": "2026-07-28",
"030000": "2026-07-24",
@@ -112,8 +196,9 @@
"078930": "2026-07-29",
"010950": "2026-07-29",
"090850": "2026-07-29",
- "003680": "2026-07-29"
+ "003680": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.582834+09:00",
- "updated_at": "2026-07-29T15:28:01.469359+09:00"
+ "updated_at": "2026-07-30T15:28:06.979847+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 e8fbac5..74ade09 100644
--- a/agents/stock/workspace/state/sim/variants/v155/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v155/trades.jsonl
@@ -117,3 +117,10 @@
{"ts": "2026-07-29T09:28:01.387952+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6390, "qty": 801, "cost": 5119158, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5998, "target": 7174, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,380 vs 5,358"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,742 / 5,358"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,742 / 5,622"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +73 · 기 -3 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.62% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "134,413 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.62% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "73"}]}
{"ts": "2026-07-29T10:42:05.416427+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5980, "qty": 801, "proceeds": 4780640, "entry_price": 6390, "pnl": -338518, "pnl_pct": -6.42, "hold_from": "2026-07-29T09:28:01.387951+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,998 (현재 5,980)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,174"}, {"label": "추세(20일선)", "ok": true, "detail": "5,338"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +77 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,521"}]}
{"ts": "2026-07-29T11:18:04.428660+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6000, "qty": 950, "proceeds": 5688885, "entry_price": 6936, "pnl": -901583, "pnl_pct": -13.5, "hold_from": "2026-07-28T09:00:16.371383+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "6,040 (현재 6,020)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,729"}, {"label": "추세(20일선)", "ok": true, "detail": "4,803"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:07.484190+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 40, "cost": 4852728, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111347, "target": 141206, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "121,200 vs 118,305"}, {"label": "정배열(5>20)", "ok": true, "detail": "120,840 / 118,305"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:07.484679+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 404, "cost": 2476891, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 5127, "target": 8135, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.934766+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 39, "cost": 4883532, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111347, "target": 141206, "signals": [{"label": "손절선", "ok": true, "detail": "111,347 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 141,206"}, {"label": "추세(20일선)", "ok": true, "detail": "118,515"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:16:11.935114+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 37, "cost": 4844026, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 119833, "target": 153035, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "130,900 vs 108,870"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,360 / 108,870"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.171049+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 813, "cost": 5130800, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5927, "target": 7077, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,300 vs 5,354"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,726 / 5,354"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T11:58:08.439672+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 108, "proceeds": 9884288, "entry_price": 101114, "pnl": -1037650, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.822292+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,142"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T12:04:07.833676+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 87900, "qty": 47, "cost": 4131920, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 79505, "target": 104690, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "87,900 vs 75,055"}, {"label": "정배열(5>20)", "ok": true, "detail": "82,940 / 75,055"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "82,940 / 75,053"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+61.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +280 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.79% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "728,608 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.79% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v157/portfolio.json b/agents/stock/workspace/state/sim/variants/v157/portfolio.json
index a224921..b76818c 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": 60973443.65049994,
+ "cash": 36817750.839999944,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5132330.379099764,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 5067979.388839712,
"last_add_price": 91400
@@ -60,17 +60,101 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 126900,
+ "cur_price": 129000,
"tranches": 1,
"tranche_value": 5079550.709806033,
"last_add_price": 131400
+ },
+ "030000": {
+ "code": "030000",
+ "name": "제일기획",
+ "sources": [
+ "auto"
+ ],
+ "qty": 282,
+ "entry_price": 19090,
+ "entry_at": "2026-07-30T09:04:07.489076+09:00",
+ "stop": 17993,
+ "target": 20736,
+ "peak": 19430,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 19,653 도달",
+ "cur_price": 19130,
+ "tranches": 1,
+ "tranche_value": 5395527.728156246,
+ "last_add_price": 19090
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 429,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.489609+09:00",
+ "stop": 5127,
+ "target": 7634,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2634409.858223602,
+ "last_add_price": 6130
+ },
+ "138040": {
+ "code": "138040",
+ "name": "메리츠금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 85,
+ "entry_price": 125878.82352941176,
+ "entry_at": "2026-07-30T09:16:11.939699+09:00",
+ "stop": 117673,
+ "target": 138187,
+ "peak": 127600,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 123100,
+ "tranches": 2,
+ "tranche_value": 5443355.1048749965,
+ "last_add_price": 127700
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 862,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.176753+09:00",
+ "stop": 5927,
+ "target": 6885,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5443877.577062497,
+ "last_add_price": 6310
}
},
"realized_pnl": -14156826.44950002,
"closed_trades": 39,
"wins": 5,
"peak_equity": 100161893.89500001,
- "max_drawdown": 0.1461807457419789,
+ "max_drawdown": 0.15501926382579276,
"last_exit": {
"086790": "2026-07-28",
"030000": "2026-07-29",
@@ -93,5 +177,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-15T14:55:00.582849+09:00",
- "updated_at": "2026-07-29T15:28:01.470981+09:00"
+ "updated_at": "2026-07-30T15:28:06.984326+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 af89b59..f48d450 100644
--- a/agents/stock/workspace/state/sim/variants/v157/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v157/trades.jsonl
@@ -96,3 +96,8 @@
{"ts": "2026-07-29T10:42:05.418375+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5980, "qty": 851, "proceeds": 5079056, "entry_price": 6390, "pnl": -359649, "pnl_pct": -6.42, "hold_from": "2026-07-29T09:28:01.389677+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,998 (현재 5,980)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 6,978"}, {"label": "추세(20일선)", "ok": true, "detail": "5,338"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +77 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,521"}]}
{"ts": "2026-07-29T12:50:05.475589+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 108000, "qty": 32, "proceeds": 3449261, "entry_price": 130288, "pnl": -720565, "pnl_pct": -17.11, "hold_from": "2026-07-27T09:02:06.237125+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "108,775 (현재 108,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,878"}, {"label": "추세(20일선)", "ok": false, "detail": "133,815"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +449 · 기 -685"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T14:20:01.512752+09:00", "side": "SELL", "code": "138040", "name": "메리츠금융지주", "price": 115500, "qty": 44, "proceeds": 5072090, "entry_price": 123400, "pnl": -358324, "pnl_pct": -6.4, "hold_from": "2026-07-29T10:24:01.448638+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "115,612 (현재 115,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 135,082"}, {"label": "추세(20일선)", "ok": true, "detail": "113,330"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +44 · 기 +333"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,053"}]}
+{"ts": "2026-07-30T09:04:07.489079+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 19090, "qty": 282, "cost": 5384188, "path": "pullback", "reason": "눌림목 지정가 19,653 도달", "stop": 17993, "target": 20736, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "19,100 vs 18,860"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,606 / 18,860"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,606 / 19,360"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+29.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +2 · 기 +327 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "160,727 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,653 (현재 19,100)"}]}
+{"ts": "2026-07-30T09:04:07.489612+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 429, "cost": 2630164, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 5127, "target": 7634, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.939702+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 124100, "qty": 43, "cost": 5337100, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116280, "target": 135830, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "124,000 vs 113,755"}, {"label": "정배열(5>20)", "ok": true, "detail": "118,260 / 113,755"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,260 / 110,085"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+54.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +9 · 기 +389 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.31% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "518,220 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.31% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.176757+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 862, "cost": 5440036, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5927, "target": 6885, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,300 vs 5,354"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,726 / 5,354"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T10:10:07.436089+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 42, "cost": 5364205, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116280, "target": 135830, "signals": [{"label": "손절선", "ok": true, "detail": "116,280 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 135,830"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,835"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v159/portfolio.json b/agents/stock/workspace/state/sim/variants/v159/portfolio.json
index b2e08a3..c596290 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": 49558634.24599998,
+ "cash": 27224364.607999973,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 4992940.599795671,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 4910846.127133424,
"last_add_price": 91400
@@ -60,17 +60,101 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,673 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5527839.1075312495,
"last_add_price": 18950
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 402,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.493859+09:00",
+ "stop": 5127,
+ "target": 9138,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2465159.461256131,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 36,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:11.943255+09:00",
+ "stop": 119833,
+ "target": 164102,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 4808410.164930106,
+ "last_add_price": 130900
+ },
+ "138040": {
+ "code": "138040",
+ "name": "메리츠금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 80,
+ "entry_price": 125855.0,
+ "entry_at": "2026-07-30T09:16:11.943674+09:00",
+ "stop": 117649,
+ "target": 150472,
+ "peak": 127600,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 123100,
+ "tranches": 2,
+ "tranche_value": 5091414.859187499,
+ "last_add_price": 127700
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 806,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.181130+09:00",
+ "stop": 5927,
+ "target": 7460,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5091812.158249998,
+ "last_add_price": 6310
}
},
"realized_pnl": -19889233.621500026,
"closed_trades": 36,
"wins": 1,
"peak_equity": 100161893.89500001,
- "max_drawdown": 0.2023783637742489,
+ "max_drawdown": 0.21116662699262181,
"last_exit": {
"086790": "2026-07-29",
"030000": "2026-07-24",
@@ -93,5 +177,5 @@
"138040": "2026-07-29"
},
"created_at": "2026-06-15T14:55:00.582864+09:00",
- "updated_at": "2026-07-29T15:28:01.472635+09:00"
+ "updated_at": "2026-07-30T15:28:06.988430+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 bd7ed23..5186cb3 100644
--- a/agents/stock/workspace/state/sim/variants/v159/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v159/trades.jsonl
@@ -93,3 +93,8 @@
{"ts": "2026-07-29T12:50:05.477470+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 108000, "qty": 30, "proceeds": 3233682, "entry_price": 130253, "pnl": -674504, "pnl_pct": -17.08, "hold_from": "2026-07-27T09:02:06.239540+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "108,775 (현재 108,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 213,434"}, {"label": "추세(20일선)", "ok": false, "detail": "133,815"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +449 · 기 -685"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:30:01.454446+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 118000, "qty": 103, "proceeds": 12130300, "entry_price": 120181, "pnl": -250157, "pnl_pct": -1.81, "hold_from": "2026-07-01T09:46:03.099480+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 118,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 147,722"}, {"label": "추세(20일선)", "ok": false, "detail": "118,145"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T14:20:01.514442+09:00", "side": "SELL", "code": "138040", "name": "메리츠금융지주", "price": 115500, "qty": 42, "proceeds": 4841541, "entry_price": 123400, "pnl": -342037, "pnl_pct": -6.4, "hold_from": "2026-07-29T10:24:01.450515+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "115,612 (현재 115,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 146,764"}, {"label": "추세(20일선)", "ok": true, "detail": "113,330"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +44 · 기 +333"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,053"}]}
+{"ts": "2026-07-30T09:04:07.493862+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 402, "cost": 2464630, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 5127, "target": 9138, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.943258+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 36, "cost": 4713107, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 119833, "target": 164102, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "130,900 vs 108,870"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,360 / 108,870"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:16:11.943676+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 124100, "qty": 41, "cost": 5088863, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116280, "target": 147560, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "124,000 vs 113,755"}, {"label": "정배열(5>20)", "ok": true, "detail": "118,260 / 113,755"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,260 / 110,085"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+54.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +9 · 기 +389 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.31% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "518,220 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.31% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.181133+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 806, "cost": 5086623, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5927, "target": 7460, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,300 vs 5,354"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,726 / 5,354"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T10:10:07.440123+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 39, "cost": 4981047, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116280, "target": 147560, "signals": [{"label": "손절선", "ok": true, "detail": "116,280 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 147,560"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,835"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v161/portfolio.json b/agents/stock/workspace/state/sim/variants/v161/portfolio.json
index 132cba8..38c0b5d 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": 52676110.36350004,
+ "cash": 36790407.86550004,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3813943.0504600187,
"last_add_price": 350000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3727885.349520808,
"last_add_price": 91400
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,643 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5685594.862062503,
"last_add_price": 18950
@@ -71,27 +71,90 @@
"sources": [
"auto"
],
- "qty": 41,
- "entry_price": 123400,
+ "qty": 81,
+ "entry_price": 124881.48148148147,
"entry_at": "2026-07-29T10:24:01.452555+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114155,
+ "target": 157062,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 5142605.848996199,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 314,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.497844+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1927621.6063135946,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 28,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:11.947135+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3759463.8630866953,
+ "last_add_price": 130900
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 830,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.185459+09:00",
+ "stop": 5799,
+ "target": 7843,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5243949.076709934,
+ "last_add_price": 6310
}
},
"realized_pnl": -16335442.066500016,
"closed_trades": 24,
"wins": 0,
"peak_equity": 100000000,
- "max_drawdown": 0.1668320963649997,
+ "max_drawdown": 0.17023552134499967,
"last_exit": {
"030000": "2026-07-15",
"086790": "2026-07-29",
@@ -111,5 +174,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-15T14:55:00.582879+09:00",
- "updated_at": "2026-07-29T15:28:01.474236+09:00"
+ "updated_at": "2026-07-30T15:28:06.992160+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 dc8d702..df511e4 100644
--- a/agents/stock/workspace/state/sim/variants/v161/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v161/trades.jsonl
@@ -68,3 +68,7 @@
{"ts": "2026-07-29T12:04:01.697397+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 68, "proceeds": 8089794, "entry_price": 132600, "pnl": -928358, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.450599+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.449804+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 679, "proceeds": 3781432, "entry_price": 6624, "pnl": -716853, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.242654+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(10일선)", "ok": true, "detail": "5,204"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.598735+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 820, "proceeds": 4795830, "entry_price": 6390, "pnl": -444756, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.393232+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,958"}, {"label": "추세(10일선)", "ok": true, "detail": "5,539"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:07.497847+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 314, "cost": 1925109, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.947137+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 28, "cost": 3665750, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "130,900 vs 108,560"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,360 / 108,560"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.185462+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 830, "cost": 5238086, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5799, "target": 7843, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,300 vs 5,583"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,726 / 5,583"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T09:50:07.301109+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v165/portfolio.json b/agents/stock/workspace/state/sim/variants/v165/portfolio.json
index 77def7b..5588301 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": 52676110.36350004,
+ "cash": 36790407.86550004,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3813943.0504600187,
"last_add_price": 350000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3727885.349520808,
"last_add_price": 91400
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,643 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5685594.862062503,
"last_add_price": 18950
@@ -71,27 +71,90 @@
"sources": [
"auto"
],
- "qty": 41,
- "entry_price": 123400,
+ "qty": 81,
+ "entry_price": 124881.48148148147,
"entry_at": "2026-07-29T10:24:01.454311+09:00",
- "stop": 113016,
- "target": 144168,
- "peak": 123600,
+ "stop": 114155,
+ "target": 146335,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 5142605.848996199,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 314,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.501481+09:00",
+ "stop": 4793,
+ "target": 8804,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1927621.6063135946,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 28,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:11.950700+09:00",
+ "stop": 116144,
+ "target": 160413,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3759463.8630866953,
+ "last_add_price": 130900
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 830,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.189164+09:00",
+ "stop": 5799,
+ "target": 7332,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5243949.076709934,
+ "last_add_price": 6310
}
},
"realized_pnl": -16335442.066500016,
"closed_trades": 24,
"wins": 0,
"peak_equity": 100000000,
- "max_drawdown": 0.1668320963649997,
+ "max_drawdown": 0.17023552134499967,
"last_exit": {
"030000": "2026-07-15",
"086790": "2026-07-29",
@@ -111,5 +174,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-15T14:55:00.582910+09:00",
- "updated_at": "2026-07-29T15:28:01.475852+09:00"
+ "updated_at": "2026-07-30T15:28:06.995516+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 6c9e83a..a250a0f 100644
--- a/agents/stock/workspace/state/sim/variants/v165/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v165/trades.jsonl
@@ -68,3 +68,7 @@
{"ts": "2026-07-29T12:04:01.699059+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 68, "proceeds": 8089794, "entry_price": 132600, "pnl": -928358, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.452585+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 158,342"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.451456+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 679, "proceeds": 3781432, "entry_price": 6624, "pnl": -716853, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.245058+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,672"}, {"label": "추세(10일선)", "ok": true, "detail": "5,204"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.600416+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 820, "proceeds": 4795830, "entry_price": 6390, "pnl": -444756, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.394948+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,435"}, {"label": "추세(10일선)", "ok": true, "detail": "5,539"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:07.501484+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 314, "cost": 1925109, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 8804, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.950702+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 28, "cost": 3665750, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 160413, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "130,900 vs 108,560"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,360 / 108,560"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.189166+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 830, "cost": 5238086, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5799, "target": 7332, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,300 vs 5,583"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,726 / 5,583"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T09:50:07.304413+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 144168, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,168"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v167/portfolio.json b/agents/stock/workspace/state/sim/variants/v167/portfolio.json
index 135206b..fac085e 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": 65269300.0365,
+ "cash": 43819383.0315,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3841906.161963773,
"last_add_price": 350000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3755996.4301575036,
"last_add_price": 91400
@@ -50,27 +50,111 @@
"sources": [
"auto"
],
- "qty": 41,
- "entry_price": 123400,
+ "qty": 81,
+ "entry_price": 124881.48148148147,
"entry_at": "2026-07-29T10:24:01.456083+09:00",
- "stop": 113016,
- "target": 138976,
- "peak": 123600,
+ "stop": 114155,
+ "target": 140972,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 5164071.483514108,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "030000": {
+ "code": "030000",
+ "name": "제일기획",
+ "sources": [
+ "auto"
+ ],
+ "qty": 279,
+ "entry_price": 19090,
+ "entry_at": "2026-07-30T09:04:07.505210+09:00",
+ "stop": 17760,
+ "target": 21085,
+ "peak": 19430,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 19,653 도달",
+ "cur_price": 19130,
+ "tranches": 1,
+ "tranche_value": 5339950.00228125,
+ "last_add_price": 19090
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 319,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.505690+09:00",
+ "stop": 4793,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1956462.6546955872,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 29,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:11.953984+09:00",
+ "stop": 116144,
+ "target": 153035,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3812991.5556229833,
+ "last_add_price": 130900
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 842,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.192452+09:00",
+ "stop": 5799,
+ "target": 7077,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5318486.508866878,
+ "last_add_price": 6310
}
},
"realized_pnl": -14984638.498500016,
"closed_trades": 25,
"wins": 1,
"peak_equity": 100000000,
- "max_drawdown": 0.15195799963499992,
+ "max_drawdown": 0.15764136968500003,
"last_exit": {
"030000": "2026-07-29",
"086790": "2026-07-29",
@@ -90,5 +174,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-15T14:55:00.582926+09:00",
- "updated_at": "2026-07-29T15:28:01.477451+09:00"
+ "updated_at": "2026-07-30T15:28:06.998572+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 b4a86f3..8913129 100644
--- a/agents/stock/workspace/state/sim/variants/v167/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v167/trades.jsonl
@@ -66,3 +66,8 @@
{"ts": "2026-07-29T10:52:02.362763+09:00", "side": "SELL", "code": "252990", "name": "샘씨엔에스", "price": 10340, "qty": 346, "proceeds": 3570664, "entry_price": 12161, "pnl": -637628, "pnl_pct": -14.97, "hold_from": "2026-07-27T09:12:01.531679+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,340 (현재 10,340)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 14,892"}, {"label": "추세(10일선)", "ok": false, "detail": "12,607"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +239 · 기 -181"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T12:04:01.700752+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 69, "proceeds": 8208762, "entry_price": 132575, "pnl": -940311, "pnl_pct": -10.09, "hold_from": "2026-07-10T09:26:06.454294+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,704 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 151,882"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.602105+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 826, "proceeds": 4830921, "entry_price": 6390, "pnl": -448010, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.396682+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,174"}, {"label": "추세(10일선)", "ok": true, "detail": "5,539"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:07.505212+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 19090, "qty": 279, "cost": 5326909, "path": "pullback", "reason": "눌림목 지정가 19,653 도달", "stop": 17760, "target": 21085, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "19,100 vs 18,958"}, {"label": "정배열(5>10)", "ok": true, "detail": "19,606 / 18,958"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,606 / 19,360"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+29.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +2 · 기 +327 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "160,727 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,653 (현재 19,100)"}]}
+{"ts": "2026-07-30T09:04:07.505693+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 319, "cost": 1955763, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 8135, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.953986+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 29, "cost": 3796669, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 153035, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "130,900 vs 108,560"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,360 / 108,560"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.192454+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 842, "cost": 5313817, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5799, "target": 7077, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,300 vs 5,583"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,726 / 5,583"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T09:50:07.307619+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 138976, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 138,976"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v189/portfolio.json b/agents/stock/workspace/state/sim/variants/v189/portfolio.json
index 2156899..e1f7a65 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": 50766727.339499995,
+ "cash": 27999012.694499996,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5085796.90859035,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 4982054.533958632,
"last_add_price": 90900
@@ -60,17 +60,101 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,673 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5636180.5746875,
"last_add_price": 18950
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 410,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.509224+09:00",
+ "stop": 5127,
+ "target": 9138,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2514428.437642747,
+ "last_add_price": 6130
+ },
+ "138040": {
+ "code": "138040",
+ "name": "메리츠금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 81,
+ "entry_price": 126029.62962962964,
+ "entry_at": "2026-07-30T09:22:07.824432+09:00",
+ "stop": 117824,
+ "target": 150647,
+ "peak": 127600,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 123100,
+ "tranches": 2,
+ "tranche_value": 5174714.39653125,
+ "last_add_price": 127700
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 37,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:07.557097+09:00",
+ "stop": 120690,
+ "target": 165130,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 4916855.663590054,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 820,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:07.504700+09:00",
+ "stop": 5917,
+ "target": 7450,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5170254.61215625,
+ "last_add_price": 6300
}
},
"realized_pnl": -18311185.043000016,
"closed_trades": 33,
"wins": 1,
"peak_equity": 100344662.275,
- "max_drawdown": 0.18790466610796128,
+ "max_drawdown": 0.19705571908059924,
"last_exit": {
"086790": "2026-07-29",
"030000": "2026-07-24",
@@ -91,5 +175,5 @@
"138040": "2026-07-29"
},
"created_at": "2026-06-15T14:55:00.583136+09:00",
- "updated_at": "2026-07-29T15:28:01.479045+09:00"
+ "updated_at": "2026-07-30T15:28:07.001653+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 8f3243e..31e4601 100644
--- a/agents/stock/workspace/state/sim/variants/v189/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v189/trades.jsonl
@@ -87,3 +87,8 @@
{"ts": "2026-07-29T12:50:05.483924+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 108000, "qty": 32, "proceeds": 3449261, "entry_price": 130288, "pnl": -720565, "pnl_pct": -17.11, "hold_from": "2026-07-27T09:02:06.248329+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "108,775 (현재 108,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 213,468"}, {"label": "추세(20일선)", "ok": false, "detail": "133,815"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +449 · 기 -685"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:30:01.461196+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 118000, "qty": 103, "proceeds": 12130300, "entry_price": 120181, "pnl": -250157, "pnl_pct": -1.81, "hold_from": "2026-07-01T09:46:03.114406+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 118,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 147,722"}, {"label": "추세(20일선)", "ok": false, "detail": "118,145"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T14:20:01.520902+09:00", "side": "SELL", "code": "138040", "name": "메리츠금융지주", "price": 115500, "qty": 43, "proceeds": 4956815, "entry_price": 123400, "pnl": -350181, "pnl_pct": -6.4, "hold_from": "2026-07-29T10:24:01.457803+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "115,612 (현재 115,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 146,764"}, {"label": "추세(20일선)", "ok": true, "detail": "113,330"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +44 · 기 +333"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,053"}]}
+{"ts": "2026-07-30T09:04:07.509226+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 410, "cost": 2513677, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 5127, "target": 9138, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:22:07.824435+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 124400, "qty": 41, "cost": 5101165, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116537, "target": 147989, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "124,300 vs 113,770"}, {"label": "정배열(5>20)", "ok": true, "detail": "118,320 / 113,770"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,320 / 110,090"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +9 · 기 +389 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+19%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.37% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "615,133 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.37% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:24:07.557100+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 37, "cost": 4877331, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 120690, "target": 165130, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "132,000 vs 108,925"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,580 / 108,925"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:07.504703+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 820, "cost": 5166775, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5917, "target": 7450, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,280 vs 5,353"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,722 / 5,353"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
+{"ts": "2026-07-30T10:10:07.453421+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 40, "cost": 5108766, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116537, "target": 147989, "signals": [{"label": "손절선", "ok": true, "detail": "116,537 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 147,989"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 127,135"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v195/portfolio.json b/agents/stock/workspace/state/sim/variants/v195/portfolio.json
index 1b1d2b0..4e0873a 100644
--- a/agents/stock/workspace/state/sim/variants/v195/portfolio.json
+++ b/agents/stock/workspace/state/sim/variants/v195/portfolio.json
@@ -1,5 +1,5 @@
{
- "cash": 46349207.48200001,
+ "cash": 25760629.65850001,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3889733.683715179,
"last_add_price": 353000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3742230.636714602,
"last_add_price": 90900
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,012 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5696942.092812501,
"last_add_price": 18950
@@ -76,15 +76,99 @@
"entry_at": "2026-07-29T09:02:02.251620+09:00",
"stop": 111200,
"target": 143142,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5327150.576000001,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 79,
+ "entry_price": 123225.3164556962,
+ "entry_at": "2026-07-30T09:04:07.512389+09:00",
+ "stop": 111000,
+ "target": 159901,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 4940372.790080874,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 313,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.512664+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1924945.6187384445,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 28,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:07.560095+09:00",
+ "stop": 116987,
+ "target": 176240,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3791237.2526261737,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 832,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:07.507663+09:00",
+ "stop": 5789,
+ "target": 7833,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5246390.706071919,
+ "last_add_price": 6300
}
},
"realized_pnl": -16596935.273000015,
@@ -112,5 +196,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-15T14:55:00.583184+09:00",
- "updated_at": "2026-07-29T15:28:01.480642+09:00"
+ "updated_at": "2026-07-30T15:28:07.004503+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 5752e6e..b0a8c05 100644
--- a/agents/stock/workspace/state/sim/variants/v195/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v195/trades.jsonl
@@ -77,3 +77,8 @@
{"ts": "2026-07-29T12:04:01.704033+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 85, "proceeds": 10112243, "entry_price": 124176, "pnl": -444341, "pnl_pct": -4.01, "hold_from": "2026-07-02T10:18:03.868150+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "111,006 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 163,689"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:06:06.533240+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5690, "qty": 741, "proceeds": 4208068, "entry_price": 6936, "pnl": -932523, "pnl_pct": -17.97, "hold_from": "2026-07-28T09:00:18.003009+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,741 (현재 5,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 10,522"}, {"label": "추세(10일선)", "ok": true, "detail": "5,214"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.605461+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 817, "proceeds": 4778284, "entry_price": 6390, "pnl": -443129, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.400109+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,958"}, {"label": "추세(10일선)", "ok": true, "detail": "5,539"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:07.512391+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 40, "cost": 4852728, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 152200, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "121,200 vs 119,680"}, {"label": "정배열(5>10)", "ok": true, "detail": "120,840 / 119,680"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:07.512666+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 313, "cost": 1918978, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.959636+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 39, "cost": 4883532, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 152200, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 152,200"}, {"label": "추세(10일선)", "ok": true, "detail": "120,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:24:07.560097+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 28, "cost": 3690954, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 176240, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "132,000 vs 108,670"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,580 / 108,670"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:07.507665+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 832, "cost": 5242386, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7833, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v197/portfolio.json b/agents/stock/workspace/state/sim/variants/v197/portfolio.json
index 784e347..52ff6f1 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": 37738549.5725,
+ "cash": 32386107.138999995,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3891157.6622701483,
"last_add_price": 356000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 114,
- "entry_price": 101115.78947368421,
- "entry_at": "2026-07-22T09:04:01.835859+09:00",
- "stop": 92100,
- "target": 119147,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5814522.042968751,
- "last_add_price": 103100
- },
"078930": {
"code": "078930",
"name": "GS",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3778918.748885343,
"last_add_price": 90900
@@ -81,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,032 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5719122.209000001,
"last_add_price": 18950
@@ -97,22 +76,85 @@
"entry_at": "2026-07-29T09:02:02.253867+09:00",
"stop": 111200,
"target": 135157,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5467080.19828125,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 81,
+ "entry_price": 123225.92592592593,
+ "entry_at": "2026-07-30T09:04:07.515413+09:00",
+ "stop": 111000,
+ "target": 147678,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 5075960.404438956,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 323,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.515982+09:00",
+ "stop": 4793,
+ "target": 8804,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1981493.926440071,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 29,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:07.563027+09:00",
+ "stop": 116987,
+ "target": 161427,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3902843.990735232,
+ "last_add_price": 131800
}
},
- "realized_pnl": -13685415.115000019,
- "closed_trades": 29,
+ "realized_pnl": -14780929.105000021,
+ "closed_trades": 30,
"wins": 2,
"peak_equity": 101368884.75700004,
- "max_drawdown": 0.15757813057519107,
+ "max_drawdown": 0.1603872594334459,
"last_exit": {
"030000": "2026-07-24",
"086790": "2026-07-20",
@@ -129,8 +171,9 @@
"252990": "2026-07-28",
"003680": "2026-07-29",
"010950": "2026-07-29",
- "090850": "2026-07-29"
+ "090850": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.583198+09:00",
- "updated_at": "2026-07-29T15:28:01.482277+09:00"
+ "updated_at": "2026-07-30T15:28:07.007268+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 873f24d..de5ab8b 100644
--- a/agents/stock/workspace/state/sim/variants/v197/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v197/trades.jsonl
@@ -83,3 +83,8 @@
{"ts": "2026-07-29T09:28:01.401823+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6390, "qty": 838, "cost": 5355623, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5867, "target": 7435, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,380 vs 5,358"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,742 / 5,358"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,742 / 5,622"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +73 · 기 -3 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.62% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "134,413 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.62% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "73"}]}
{"ts": "2026-07-29T13:14:05.457905+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 694, "proceeds": 3864969, "entry_price": 6624, "pnl": -732791, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.253533+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,672"}, {"label": "추세(20일선)", "ok": true, "detail": "4,782"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.607125+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 838, "proceeds": 4901104, "entry_price": 6390, "pnl": -454519, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.401822+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,435"}, {"label": "추세(20일선)", "ok": true, "detail": "5,332"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:07.515415+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 41, "cost": 4974046, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 141900, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "121,200 vs 118,305"}, {"label": "정배열(5>20)", "ok": true, "detail": "120,840 / 118,305"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:07.515984+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 323, "cost": 1980287, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 8804, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.962505+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 40, "cost": 5008751, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 141900, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 141,900"}, {"label": "추세(20일선)", "ok": true, "detail": "118,515"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:24:07.563029+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 29, "cost": 3822773, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 161427, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "132,000 vs 108,925"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,580 / 108,925"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T11:58:08.466564+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 114, "proceeds": 10433415, "entry_price": 101116, "pnl": -1095514, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.835859+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,147"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v199/portfolio.json b/agents/stock/workspace/state/sim/variants/v199/portfolio.json
index 14b3870..174580a 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": 53750178.10300002,
+ "cash": 37489369.347500026,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3848025.874946516,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3774325.11581779,
"last_add_price": 90900
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,673 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5721714.462968752,
"last_add_price": 18950
@@ -71,27 +71,90 @@
"sources": [
"auto"
],
- "qty": 42,
- "entry_price": 123400,
+ "qty": 83,
+ "entry_price": 124881.92771084337,
"entry_at": "2026-07-29T10:24:01.463012+09:00",
- "stop": 113016,
- "target": 144168,
- "peak": 123600,
+ "stop": 114155,
+ "target": 146335,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 5187375.1457318,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 319,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.518900+09:00",
+ "stop": 4793,
+ "target": 8804,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1957851.3491824612,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 29,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:07.565720+09:00",
+ "stop": 116987,
+ "target": 161427,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3832048.06532556,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 841,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:07.513013+09:00",
+ "stop": 5789,
+ "target": 7322,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5302210.774469179,
+ "last_add_price": 6300
}
},
"realized_pnl": -14866665.129500018,
"closed_trades": 30,
"wins": 2,
"peak_equity": 100182695.41500005,
- "max_drawdown": 0.1552724973865191,
+ "max_drawdown": 0.15883827043764528,
"last_exit": {
"030000": "2026-07-24",
"086790": "2026-07-20",
@@ -112,5 +175,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-15T14:55:00.583212+09:00",
- "updated_at": "2026-07-29T15:28:01.483940+09:00"
+ "updated_at": "2026-07-30T15:28:07.009784+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 a15d0c0..ee6c754 100644
--- a/agents/stock/workspace/state/sim/variants/v199/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v199/trades.jsonl
@@ -82,3 +82,7 @@
{"ts": "2026-07-29T10:52:02.369415+09:00", "side": "SELL", "code": "252990", "name": "샘씨엔에스", "price": 10340, "qty": 347, "proceeds": 3580983, "entry_price": 12158, "pnl": -638619, "pnl_pct": -14.96, "hold_from": "2026-07-27T09:12:01.540221+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,340 (현재 10,340)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 15,795"}, {"label": "추세(20일선)", "ok": false, "detail": "12,592"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +239 · 기 -181"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.459920+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 687, "proceeds": 3825985, "entry_price": 6624, "pnl": -725308, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.255677+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,672"}, {"label": "추세(20일선)", "ok": true, "detail": "4,782"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.608819+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 828, "proceeds": 4842618, "entry_price": 6390, "pnl": -449095, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.403529+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,435"}, {"label": "추세(20일선)", "ok": true, "detail": "5,332"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:07.518903+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 319, "cost": 1955763, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 8804, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:24:07.565722+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 29, "cost": 3822773, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 161427, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "132,000 vs 108,925"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,580 / 108,925"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:07.513015+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 841, "cost": 5299095, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7322, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,280 vs 5,353"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,722 / 5,353"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
+{"ts": "2026-07-30T09:50:07.318850+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 41, "cost": 5183177, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 144168, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,168"}, {"label": "추세(20일선)", "ok": true, "detail": "113,865"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v201/portfolio.json b/agents/stock/workspace/state/sim/variants/v201/portfolio.json
index 351ad99..2603598 100644
--- a/agents/stock/workspace/state/sim/variants/v201/portfolio.json
+++ b/agents/stock/workspace/state/sim/variants/v201/portfolio.json
@@ -1,5 +1,5 @@
{
- "cash": 46349207.48200001,
+ "cash": 25760629.65850001,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3889733.683715179,
"last_add_price": 353000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3742230.636714602,
"last_add_price": 90900
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,012 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5696942.092812501,
"last_add_price": 18950
@@ -76,15 +76,99 @@
"entry_at": "2026-07-29T09:02:02.257865+09:00",
"stop": 111200,
"target": 135156,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5327150.576000001,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 79,
+ "entry_price": 123225.3164556962,
+ "entry_at": "2026-07-30T09:04:07.521823+09:00",
+ "stop": 111000,
+ "target": 147676,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 4940372.790080874,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 313,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.522091+09:00",
+ "stop": 4793,
+ "target": 8804,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1924945.6187384445,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 28,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:07.568342+09:00",
+ "stop": 116987,
+ "target": 161427,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3791237.2526261737,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 832,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:07.515657+09:00",
+ "stop": 5789,
+ "target": 7322,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5246390.706071919,
+ "last_add_price": 6300
}
},
"realized_pnl": -16596935.273000015,
@@ -112,5 +196,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-15T14:55:00.583227+09:00",
- "updated_at": "2026-07-29T15:28:01.485537+09:00"
+ "updated_at": "2026-07-30T15:28:07.012342+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 3f891e1..ea69c6a 100644
--- a/agents/stock/workspace/state/sim/variants/v201/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v201/trades.jsonl
@@ -77,3 +77,8 @@
{"ts": "2026-07-29T12:04:01.708942+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 85, "proceeds": 10112243, "entry_price": 124176, "pnl": -444341, "pnl_pct": -4.01, "hold_from": "2026-07-02T10:18:03.875113+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "111,006 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 150,518"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:06:06.538231+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5690, "qty": 741, "proceeds": 4208068, "entry_price": 6936, "pnl": -932523, "pnl_pct": -17.97, "hold_from": "2026-07-28T09:00:18.311548+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,741 (현재 5,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,327"}, {"label": "추세(10일선)", "ok": true, "detail": "5,214"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.610479+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 817, "proceeds": 4778284, "entry_price": 6390, "pnl": -443129, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.405240+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,435"}, {"label": "추세(10일선)", "ok": true, "detail": "5,539"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:07.521825+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 40, "cost": 4852728, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 141900, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "121,200 vs 119,680"}, {"label": "정배열(5>10)", "ok": true, "detail": "120,840 / 119,680"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:07.522093+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 313, "cost": 1918978, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 8804, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.967598+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 39, "cost": 4883532, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 141900, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 141,900"}, {"label": "추세(10일선)", "ok": true, "detail": "120,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:24:07.568344+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 28, "cost": 3690954, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 161427, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "132,000 vs 108,670"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,580 / 108,670"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:07.515659+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 832, "cost": 5242386, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7322, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v203/portfolio.json b/agents/stock/workspace/state/sim/variants/v203/portfolio.json
index a39ea07..48b918c 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": 67495423.53049996,
+ "cash": 37496014.29399997,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5225929.659467572,
"last_add_price": 356000
@@ -39,17 +39,122 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 5138975.321289769,
"last_add_price": 90900
+ },
+ "030000": {
+ "code": "030000",
+ "name": "제일기획",
+ "sources": [
+ "auto"
+ ],
+ "qty": 289,
+ "entry_price": 19090,
+ "entry_at": "2026-07-30T09:04:07.524830+09:00",
+ "stop": 17993,
+ "target": 20736,
+ "peak": 19430,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 19,653 도달",
+ "cur_price": 19130,
+ "tranches": 1,
+ "tranche_value": 5535182.720656248,
+ "last_add_price": 19090
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 440,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.525083+09:00",
+ "stop": 5127,
+ "target": 7634,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2702321.452399152,
+ "last_add_price": 6130
+ },
+ "138040": {
+ "code": "138040",
+ "name": "메리츠금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 87,
+ "entry_price": 126031.03448275862,
+ "entry_at": "2026-07-30T09:22:07.837498+09:00",
+ "stop": 117825,
+ "target": 138340,
+ "peak": 127600,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 123100,
+ "tranches": 2,
+ "tranche_value": 5554493.212437497,
+ "last_add_price": 127700
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 40,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:07.570830+09:00",
+ "stop": 120690,
+ "target": 148465,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 5277490.897081996,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 880,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:07.518276+09:00",
+ "stop": 5917,
+ "target": 6875,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5549416.222437498,
+ "last_add_price": 6300
}
},
"realized_pnl": -12144022.844500024,
"closed_trades": 36,
"wins": 5,
"peak_equity": 100344662.275,
- "max_drawdown": 0.12451886663644701,
+ "max_drawdown": 0.13657655195890225,
"last_exit": {
"086790": "2026-07-20",
"030000": "2026-07-29",
@@ -70,5 +175,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-15T14:55:00.583241+09:00",
- "updated_at": "2026-07-29T15:28:01.487154+09:00"
+ "updated_at": "2026-07-30T15:28:07.014868+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 5846431..7678293 100644
--- a/agents/stock/workspace/state/sim/variants/v203/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v203/trades.jsonl
@@ -89,3 +89,9 @@
{"ts": "2026-07-29T10:42:05.435654+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5980, "qty": 871, "proceeds": 5198423, "entry_price": 6390, "pnl": -368102, "pnl_pct": -6.42, "hold_from": "2026-07-29T09:28:01.406971+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,998 (현재 5,980)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 6,978"}, {"label": "추세(20일선)", "ok": true, "detail": "5,338"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +77 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,521"}]}
{"ts": "2026-07-29T12:50:05.492063+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 108000, "qty": 32, "proceeds": 3449261, "entry_price": 130288, "pnl": -720565, "pnl_pct": -17.11, "hold_from": "2026-07-27T09:02:06.258350+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "108,775 (현재 108,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,878"}, {"label": "추세(20일선)", "ok": false, "detail": "133,815"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +449 · 기 -685"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T14:20:01.529112+09:00", "side": "SELL", "code": "138040", "name": "메리츠금융지주", "price": 115500, "qty": 45, "proceeds": 5187365, "entry_price": 123400, "pnl": -366468, "pnl_pct": -6.4, "hold_from": "2026-07-29T10:24:01.466401+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "115,612 (현재 115,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 135,082"}, {"label": "추세(20일선)", "ok": true, "detail": "113,330"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +44 · 기 +333"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,053"}]}
+{"ts": "2026-07-30T09:04:07.524832+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 19090, "qty": 289, "cost": 5517838, "path": "pullback", "reason": "눌림목 지정가 19,653 도달", "stop": 17993, "target": 20736, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "19,100 vs 18,860"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,606 / 18,860"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,606 / 19,360"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+29.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +2 · 기 +327 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "160,727 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,653 (현재 19,100)"}]}
+{"ts": "2026-07-30T09:04:07.525085+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 440, "cost": 2697605, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 5127, "target": 7634, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:22:07.837500+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 124400, "qty": 44, "cost": 5474421, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116537, "target": 136194, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "124,300 vs 113,770"}, {"label": "정배열(5>20)", "ok": true, "detail": "118,320 / 113,770"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,320 / 110,090"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +9 · 기 +389 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+19%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.37% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "615,133 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.37% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:24:07.570832+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 40, "cost": 5272791, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 120690, "target": 148465, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "132,000 vs 108,925"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,580 / 108,925"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:07.518278+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 880, "cost": 5544832, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5917, "target": 6875, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,280 vs 5,353"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,722 / 5,353"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
+{"ts": "2026-07-30T10:10:07.466772+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 43, "cost": 5491924, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116537, "target": 136194, "signals": [{"label": "손절선", "ok": true, "detail": "116,537 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 136,194"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 127,135"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v205/portfolio.json b/agents/stock/workspace/state/sim/variants/v205/portfolio.json
index fd4c824..6275efa 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": 38950713.03150001,
+ "cash": 33226459.752500013,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3939968.9939820534,
"last_add_price": 356000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 116,
- "entry_price": 101116.37931034483,
- "entry_at": "2026-07-22T09:04:01.842571+09:00",
- "stop": 92100,
- "target": 114641,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5880825.494625002,
- "last_add_price": 103100
- },
"078930": {
"code": "078930",
"name": "GS",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3836617.5002028025,
"last_add_price": 90900
@@ -81,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,032 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5821568.917468751,
"last_add_price": 18950
@@ -97,22 +76,85 @@
"entry_at": "2026-07-29T09:02:02.261876+09:00",
"stop": 111200,
"target": 131165,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5570614.761375001,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 84,
+ "entry_price": 123203.57142857143,
+ "entry_at": "2026-07-30T09:04:07.527580+09:00",
+ "stop": 111000,
+ "target": 141509,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 5217780.328505317,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 332,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.528031+09:00",
+ "stop": 4793,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2036737.90524699,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 30,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:07.573212+09:00",
+ "stop": 116987,
+ "target": 154020,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 4011548.961969723,
+ "last_add_price": 131800
}
},
- "realized_pnl": -11288073.90600002,
- "closed_trades": 32,
+ "realized_pnl": -12402875.871000022,
+ "closed_trades": 33,
"wins": 5,
"peak_equity": 101368884.75700004,
- "max_drawdown": 0.1340342561730886,
+ "max_drawdown": 0.13703657722781418,
"last_exit": {
"030000": "2026-07-24",
"086790": "2026-07-20",
@@ -129,8 +171,9 @@
"252990": "2026-07-28",
"003680": "2026-07-29",
"010950": "2026-07-29",
- "090850": "2026-07-29"
+ "090850": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.583273+09:00",
- "updated_at": "2026-07-29T15:28:01.488746+09:00"
+ "updated_at": "2026-07-30T15:28:07.017283+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 d413214..d0dbbe5 100644
--- a/agents/stock/workspace/state/sim/variants/v205/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v205/trades.jsonl
@@ -88,3 +88,8 @@
{"ts": "2026-07-29T09:26:01.927146+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6610, "qty": 358, "proceeds": 2361766, "entry_price": 6540, "pnl": 20094, "pnl_pct": 1.07, "hold_from": "2026-07-29T09:02:02.261522+09:00", "reason": "트레일링 익절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "7,526 (현재 6,610)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "4,833"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +188 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T09:28:01.408657+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6390, "qty": 854, "cost": 5457879, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5867, "target": 7174, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,380 vs 5,358"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,742 / 5,358"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,742 / 5,622"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +73 · 기 -3 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.62% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "134,413 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.62% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "73"}]}
{"ts": "2026-07-29T13:34:03.613777+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 854, "proceeds": 4994681, "entry_price": 6390, "pnl": -463197, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.408655+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,174"}, {"label": "추세(20일선)", "ok": true, "detail": "5,332"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:07.527582+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 43, "cost": 5216682, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 136750, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "121,200 vs 118,305"}, {"label": "정배열(5>20)", "ok": true, "detail": "120,840 / 118,305"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:07.528033+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 332, "cost": 2035465, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 8135, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.972281+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 41, "cost": 5133970, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 136750, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 136,750"}, {"label": "추세(20일선)", "ok": true, "detail": "118,515"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:24:07.573214+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 30, "cost": 3954593, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 154020, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "132,000 vs 108,925"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,580 / 108,925"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T11:58:08.476701+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 116, "proceeds": 10616457, "entry_price": 101116, "pnl": -1114802, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.842571+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 114,641"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v207/portfolio.json b/agents/stock/workspace/state/sim/variants/v207/portfolio.json
index 7901802..30a7362 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": 53381301.820000045,
+ "cash": 37416197.41350004,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3869967.7922643563,
"last_add_price": 353000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3737129.4618013836,
"last_add_price": 90900
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,643 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5724944.494593753,
"last_add_price": 18950
@@ -71,27 +71,90 @@
"sources": [
"auto"
],
- "qty": 41,
- "entry_price": 123400,
+ "qty": 81,
+ "entry_price": 124881.48148148147,
"entry_at": "2026-07-29T10:24:01.469724+09:00",
- "stop": 113016,
- "target": 144168,
- "peak": 123600,
+ "stop": 114155,
+ "target": 146335,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 5162533.383709267,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 317,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.530698+09:00",
+ "stop": 4793,
+ "target": 8804,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1948420.7709670917,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 28,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:07.575535+09:00",
+ "stop": 116987,
+ "target": 161427,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3813556.4512976124,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 837,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:07.522975+09:00",
+ "stop": 5789,
+ "target": 7322,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5276594.3904554825,
+ "last_add_price": 6300
}
},
"realized_pnl": -15391014.730000013,
"closed_trades": 23,
"wins": 0,
"peak_equity": 100024962.38500004,
- "max_drawdown": 0.1580397551578642,
+ "max_drawdown": 0.16156951810984665,
"last_exit": {
"030000": "2026-07-15",
"086790": "2026-07-28",
@@ -110,5 +173,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-15T14:55:00.583289+09:00",
- "updated_at": "2026-07-29T15:28:01.490354+09:00"
+ "updated_at": "2026-07-30T15:28:07.019610+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 19ce71f..cf3f5bf 100644
--- a/agents/stock/workspace/state/sim/variants/v207/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v207/trades.jsonl
@@ -65,3 +65,7 @@
{"ts": "2026-07-29T10:52:02.376027+09:00", "side": "SELL", "code": "252990", "name": "샘씨엔에스", "price": 10340, "qty": 346, "proceeds": 3570664, "entry_price": 12161, "pnl": -637628, "pnl_pct": -14.97, "hold_from": "2026-07-27T09:12:01.548027+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,340 (현재 10,340)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 15,803"}, {"label": "추세(10일선)", "ok": false, "detail": "12,607"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +239 · 기 -181"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.466408+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 685, "proceeds": 3814847, "entry_price": 6624, "pnl": -723194, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.263571+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,672"}, {"label": "추세(10일선)", "ok": true, "detail": "5,204"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.615477+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 824, "proceeds": 4819224, "entry_price": 6390, "pnl": -446926, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.410419+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,435"}, {"label": "추세(10일선)", "ok": true, "detail": "5,539"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:07.530700+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 317, "cost": 1943501, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 8804, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:24:07.575537+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 28, "cost": 3690954, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 161427, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "132,000 vs 108,670"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,580 / 108,670"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:07.522976+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 837, "cost": 5273891, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7322, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
+{"ts": "2026-07-30T09:50:07.328694+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 144168, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,168"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v209/portfolio.json b/agents/stock/workspace/state/sim/variants/v209/portfolio.json
index f81eadb..9b5bbb9 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": 65766270.82200003,
+ "cash": 44185194.14600003,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3898349.7986140535,
"last_add_price": 353000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3762093.1541708363,
"last_add_price": 90900
@@ -50,27 +50,111 @@
"sources": [
"auto"
],
- "qty": 41,
- "entry_price": 123400,
+ "qty": 81,
+ "entry_price": 124881.48148148147,
"entry_at": "2026-07-29T10:24:01.471456+09:00",
- "stop": 113016,
- "target": 138976,
- "peak": 123600,
+ "stop": 114155,
+ "target": 140972,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 5181824.996564139,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "030000": {
+ "code": "030000",
+ "name": "제일기획",
+ "sources": [
+ "auto"
+ ],
+ "qty": 282,
+ "entry_price": 19090,
+ "entry_at": "2026-07-30T09:04:07.533504+09:00",
+ "stop": 17760,
+ "target": 21085,
+ "peak": 19430,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 19,653 도달",
+ "cur_price": 19130,
+ "tranches": 1,
+ "tranche_value": 5394916.926375002,
+ "last_add_price": 19090
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 322,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.533744+09:00",
+ "stop": 4793,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1976520.6885600227,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 29,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:07.577833+09:00",
+ "stop": 116987,
+ "target": 154020,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3863996.750727336,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 848,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:07.525241+09:00",
+ "stop": 5789,
+ "target": 7067,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5345936.747630138,
+ "last_add_price": 6300
}
},
"realized_pnl": -14100509.648000013,
"closed_trades": 24,
"wins": 1,
"peak_equity": 100024962.38500004,
- "max_drawdown": 0.1434371103062925,
+ "max_drawdown": 0.14963632959330708,
"last_exit": {
"030000": "2026-07-29",
"086790": "2026-07-28",
@@ -89,5 +173,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-15T14:55:00.583304+09:00",
- "updated_at": "2026-07-29T15:28:01.491957+09:00"
+ "updated_at": "2026-07-30T15:28:07.021844+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 c80b876..ef11829 100644
--- a/agents/stock/workspace/state/sim/variants/v209/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v209/trades.jsonl
@@ -63,3 +63,8 @@
{"ts": "2026-07-29T10:24:01.471457+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 41, "cost": 5060159, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 138976, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "123,400 vs 116,950"}, {"label": "정배열(5>10)", "ok": true, "detail": "118,140 / 116,950"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T10:52:02.377740+09:00", "side": "SELL", "code": "252990", "name": "샘씨엔에스", "price": 10340, "qty": 348, "proceeds": 3591303, "entry_price": 12161, "pnl": -641452, "pnl_pct": -14.98, "hold_from": "2026-07-27T09:12:01.549891+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,340 (현재 10,340)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 14,893"}, {"label": "추세(10일선)", "ok": false, "detail": "12,607"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +239 · 기 -181"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.617123+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 830, "proceeds": 4854316, "entry_price": 6390, "pnl": -450180, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.412115+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,174"}, {"label": "추세(10일선)", "ok": true, "detail": "5,539"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:07.533506+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 19090, "qty": 282, "cost": 5384188, "path": "pullback", "reason": "눌림목 지정가 19,653 도달", "stop": 17760, "target": 21085, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "19,100 vs 18,958"}, {"label": "정배열(5>10)", "ok": true, "detail": "19,606 / 18,958"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,606 / 19,360"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+29.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +2 · 기 +327 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "160,727 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,653 (현재 19,100)"}]}
+{"ts": "2026-07-30T09:04:07.533746+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 322, "cost": 1974156, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 8135, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:24:07.577835+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 29, "cost": 3822773, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 154020, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "132,000 vs 108,670"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,580 / 108,670"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:07.525243+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 848, "cost": 5343201, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7067, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
+{"ts": "2026-07-30T09:50:07.330983+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 138976, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 138,976"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v211/portfolio.json b/agents/stock/workspace/state/sim/variants/v211/portfolio.json
index 95ad6d4..965f2d7 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": 59106467.79900003,
+ "cash": 32656100.83900003,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3913399.394880189,
"last_add_price": 353000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3814573.88062613,
"last_add_price": 90900
@@ -55,22 +55,127 @@
"entry_at": "2026-07-29T09:02:02.267342+09:00",
"stop": 111200,
"target": 131164,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5436300.471625002,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 81,
+ "entry_price": 123225.92592592593,
+ "entry_at": "2026-07-30T09:04:07.536116+09:00",
+ "stop": 111000,
+ "target": 141565,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 5045807.2398149045,
+ "last_add_price": 125200
+ },
+ "030000": {
+ "code": "030000",
+ "name": "제일기획",
+ "sources": [
+ "auto"
+ ],
+ "qty": 280,
+ "entry_price": 19090,
+ "entry_at": "2026-07-30T09:04:07.536230+09:00",
+ "stop": 17760,
+ "target": 21085,
+ "peak": 19430,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 20,019 도달",
+ "cur_price": 19130,
+ "tranches": 1,
+ "tranche_value": 5355663.862750002,
+ "last_add_price": 19090
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 320,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.536435+09:00",
+ "stop": 4793,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1962123.1366758423,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 29,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:07.580162+09:00",
+ "stop": 116987,
+ "target": 154020,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3860356.183815298,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 847,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:07.527447+09:00",
+ "stop": 5789,
+ "target": 7067,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5341728.159493153,
+ "last_add_price": 6300
}
},
"realized_pnl": -14884731.466000017,
"closed_trades": 31,
"wins": 2,
"peak_equity": 101140808.32700005,
- "max_drawdown": 0.16056961375564408,
+ "max_drawdown": 0.16118367805893888,
"last_exit": {
"030000": "2026-07-29",
"086790": "2026-07-29",
@@ -91,5 +196,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-15T14:55:00.583318+09:00",
- "updated_at": "2026-07-29T15:28:01.493544+09:00"
+ "updated_at": "2026-07-30T15:28:07.024000+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 070c47b..0c80a8c 100644
--- a/agents/stock/workspace/state/sim/variants/v211/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v211/trades.jsonl
@@ -84,3 +84,9 @@
{"ts": "2026-07-29T12:04:01.716987+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 85, "proceeds": 10112243, "entry_price": 124176, "pnl": -444341, "pnl_pct": -4.01, "hold_from": "2026-07-02T10:18:03.885656+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "111,006 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 143,933"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:06:06.546415+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5690, "qty": 755, "proceeds": 4287573, "entry_price": 6936, "pnl": -950193, "pnl_pct": -17.97, "hold_from": "2026-07-28T09:00:18.830154+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,741 (현재 5,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,729"}, {"label": "추세(10일선)", "ok": true, "detail": "5,214"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.618813+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 833, "proceeds": 4871861, "entry_price": 6390, "pnl": -451807, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.413801+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,174"}, {"label": "추세(10일선)", "ok": true, "detail": "5,539"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:07.536118+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 41, "cost": 4974046, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 136750, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "121,200 vs 119,680"}, {"label": "정배열(5>10)", "ok": true, "detail": "120,840 / 119,680"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:07.536232+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 19090, "qty": 280, "cost": 5346002, "path": "pullback", "reason": "눌림목 지정가 20,019 도달", "stop": 17760, "target": 21085, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "19,100 vs 18,958"}, {"label": "정배열(5>10)", "ok": true, "detail": "19,606 / 18,958"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,606 / 19,360"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+29.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +2 · 기 +327 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "160,727 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 20,019 (현재 19,100)"}]}
+{"ts": "2026-07-30T09:04:07.536436+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 320, "cost": 1961894, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 8135, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.978788+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 40, "cost": 5008751, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 136750, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 136,750"}, {"label": "추세(10일선)", "ok": true, "detail": "120,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:24:07.580164+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 29, "cost": 3822773, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 154020, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "132,000 vs 108,670"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,580 / 108,670"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:07.527449+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 847, "cost": 5336900, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7067, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v213/portfolio.json b/agents/stock/workspace/state/sim/variants/v213/portfolio.json
index 62be518..90c242f 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": 26388097.34059999,
+ "cash": 23922167.98359999,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5038910.050638685,
"last_add_price": 356000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 110,
- "entry_price": 101114.54545454546,
- "entry_at": "2026-07-22T09:04:01.849191+09:00",
- "stop": 92100,
- "target": 119144,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5640212.3774375,
- "last_add_price": 103100
- },
"078930": {
"code": "078930",
"name": "GS",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 4907020.835552651,
"last_add_price": 90900
@@ -81,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,032 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5601008.3746875,
"last_add_price": 18950
@@ -102,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 2,135 도달",
- "cur_price": 1805,
+ "cur_price": 1846,
"tranches": 2,
"tranche_value": 2627079.6319200005,
"last_add_price": 1951
@@ -118,22 +97,64 @@
"entry_at": "2026-07-29T09:02:02.269059+09:00",
"stop": 111408,
"target": 134739,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5278498.658468749,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 81,
+ "entry_price": 123225.92592592593,
+ "entry_at": "2026-07-30T09:04:07.538758+09:00",
+ "stop": 113273,
+ "target": 143132,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 5079406.382253983,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 416,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.538973+09:00",
+ "stop": 5127,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2553079.5546287536,
+ "last_add_price": 6130
}
},
- "realized_pnl": -16197005.716500018,
- "closed_trades": 39,
+ "realized_pnl": -17253943.75650002,
+ "closed_trades": 40,
"wins": 4,
"peak_equity": 101501376.42350003,
- "max_drawdown": 0.18836080609517294,
+ "max_drawdown": 0.19049332256565776,
"last_exit": {
"086790": "2026-07-20",
"030000": "2026-07-24",
@@ -150,8 +171,9 @@
"003680": "2026-07-29",
"252990": "2026-07-28",
"010950": "2026-07-29",
- "090850": "2026-07-29"
+ "090850": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.583333+09:00",
- "updated_at": "2026-07-29T15:28:01.495153+09:00"
+ "updated_at": "2026-07-30T15:28:07.026155+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 0530a73..bb8e95e 100644
--- a/agents/stock/workspace/state/sim/variants/v213/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v213/trades.jsonl
@@ -110,3 +110,7 @@
{"ts": "2026-07-29T09:28:01.415512+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6390, "qty": 829, "cost": 5298105, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5998, "target": 7174, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,380 vs 5,358"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,742 / 5,358"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,742 / 5,622"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +73 · 기 -3 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.62% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "134,413 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.62% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "73"}]}
{"ts": "2026-07-29T10:42:05.443994+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5980, "qty": 829, "proceeds": 4947753, "entry_price": 6390, "pnl": -350352, "pnl_pct": -6.42, "hold_from": "2026-07-29T09:28:01.415511+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,998 (현재 5,980)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,174"}, {"label": "추세(20일선)", "ok": true, "detail": "5,338"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +77 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,521"}]}
{"ts": "2026-07-29T11:18:04.454862+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6000, "qty": 979, "proceeds": 5862546, "entry_price": 6936, "pnl": -929053, "pnl_pct": -13.5, "hold_from": "2026-07-28T09:00:18.935354+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "6,040 (현재 6,020)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,729"}, {"label": "추세(20일선)", "ok": true, "detail": "4,803"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:07.538760+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 41, "cost": 4974046, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111347, "target": 141206, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "121,200 vs 118,305"}, {"label": "정배열(5>20)", "ok": true, "detail": "120,840 / 118,305"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:07.538974+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 416, "cost": 2550463, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 5127, "target": 8135, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.980919+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 40, "cost": 5008751, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111347, "target": 141206, "signals": [{"label": "손절선", "ok": true, "detail": "111,347 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 141,206"}, {"label": "추세(20일선)", "ok": true, "detail": "118,515"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T11:58:08.485485+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 110, "proceeds": 10067330, "entry_price": 101115, "pnl": -1056938, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.849191+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,144"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v215/portfolio.json b/agents/stock/workspace/state/sim/variants/v215/portfolio.json
index 578332d..9a4d88a 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": 40998358.9225,
+ "cash": 18351172.354000002,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5033450.427529937,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 4951509.819030465,
"last_add_price": 90900
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,012 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5662520.118343751,
"last_add_price": 18950
@@ -76,15 +76,99 @@
"entry_at": "2026-07-29T09:02:02.270985+09:00",
"stop": 111408,
"target": 134739,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5234858.44571875,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 81,
+ "entry_price": 123225.92592592593,
+ "entry_at": "2026-07-30T09:04:07.541158+09:00",
+ "stop": 113273,
+ "target": 143132,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 5051285.121721717,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 413,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:07.541375+09:00",
+ "stop": 5127,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2534339.801822408,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 37,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:07.584368+09:00",
+ "stop": 120690,
+ "target": 154020,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 4999655.762454186,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 834,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:07.531672+09:00",
+ "stop": 5917,
+ "target": 7067,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5258695.03025,
+ "last_add_price": 6300
}
},
"realized_pnl": -17677343.36250002,
@@ -112,5 +196,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-15T14:55:00.583347+09:00",
- "updated_at": "2026-07-29T15:28:01.496779+09:00"
+ "updated_at": "2026-07-30T15:28:07.028244+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 45dfabf..9b1c4c1 100644
--- a/agents/stock/workspace/state/sim/variants/v215/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v215/trades.jsonl
@@ -97,3 +97,8 @@
{"ts": "2026-07-29T10:42:05.445723+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5980, "qty": 822, "proceeds": 4905975, "entry_price": 6390, "pnl": -347393, "pnl_pct": -6.42, "hold_from": "2026-07-29T09:28:01.417216+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,998 (현재 5,980)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,174"}, {"label": "추세(10일선)", "ok": true, "detail": "5,551"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +77 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,521"}]}
{"ts": "2026-07-29T11:18:04.456547+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6000, "qty": 973, "proceeds": 5826616, "entry_price": 6936, "pnl": -923336, "pnl_pct": -13.5, "hold_from": "2026-07-28T09:00:19.039792+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "6,040 (현재 6,020)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,729"}, {"label": "추세(10일선)", "ok": true, "detail": "5,246"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T12:04:01.720263+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 89, "proceeds": 10588113, "entry_price": 124178, "pnl": -465345, "pnl_pct": -4.01, "hold_from": "2026-07-02T10:18:03.889699+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "114,299 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 143,934"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:07.541159+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 41, "cost": 4974046, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111347, "target": 141206, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "121,200 vs 119,680"}, {"label": "정배열(5>10)", "ok": true, "detail": "120,840 / 119,680"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:07.541376+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 413, "cost": 2532070, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 5127, "target": 8135, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.983033+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 40, "cost": 5008751, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111347, "target": 141206, "signals": [{"label": "손절선", "ok": true, "detail": "111,347 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 141,206"}, {"label": "추세(10일선)", "ok": true, "detail": "120,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:24:07.584370+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 37, "cost": 4877331, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 120690, "target": 154020, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "132,000 vs 108,670"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,580 / 108,670"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:07.531673+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 834, "cost": 5254988, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5917, "target": 7067, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v217/portfolio.json b/agents/stock/workspace/state/sim/variants/v217/portfolio.json
index 51d754e..040f0be 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": 56500758.92050001,
+ "cash": 49729888.414000005,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3627364.7637924887,
"last_add_price": 356000
@@ -39,59 +39,80 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3559940.05276684,
"last_add_price": 92800
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 36,
- "entry_price": 122750.0,
- "entry_at": "2026-07-29T09:02:02.560863+09:00",
- "stop": 100700,
- "target": 188900,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 144,225 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2259605.2304230183,
- "last_add_price": 122600
- },
"138040": {
"code": "138040",
"name": "메리츠금융지주",
"sources": [
"auto"
],
- "qty": 39,
- "entry_price": 123400,
+ "qty": 77,
+ "entry_price": 124880.51948051948,
"entry_at": "2026-07-29T10:24:01.482559+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114154,
+ "target": 157061,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4841528.853832099,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 297,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.134813+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1821085.8869957556,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 27,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.157701+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3547525.853504033,
+ "last_add_price": 130900
}
},
- "realized_pnl": -20238352.469500042,
- "closed_trades": 85,
+ "realized_pnl": -21269252.109500043,
+ "closed_trades": 88,
"wins": 1,
"peak_equity": 100000000,
- "max_drawdown": 0.2130664107949999,
+ "max_drawdown": 0.22011142445999995,
"last_exit": {
"086790": "2026-07-29",
"005930": "2026-06-23",
@@ -106,7 +127,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -116,11 +137,12 @@
"105560": "2026-07-20",
"222800": "2026-07-21",
"089970": "2026-07-27",
- "095610": "2026-07-28",
+ "095610": "2026-07-30",
"003680": "2026-07-29",
"138040": "2026-07-28",
- "010950": "2026-07-29"
+ "010950": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:40:00.621011+09:00",
- "updated_at": "2026-07-29T15:28:01.503198+09:00"
+ "updated_at": "2026-07-30T15:28:08.183337+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 f50dd78..eb11328 100644
--- a/agents/stock/workspace/state/sim/variants/v217/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v217/trades.jsonl
@@ -191,3 +191,11 @@
{"ts": "2026-07-29T10:24:01.482560+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 39, "cost": 4813322, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 154552, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,400 vs 110,075"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T12:04:01.724599+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.479634+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.478291+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 642, "proceeds": 3575374, "entry_price": 6624, "pnl": -677833, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.833239+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.134822+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 297, "cost": 1820883, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.370987+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 43, "cost": 4889833, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.349649+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 43, "proceeds": 4810900, "entry_price": 113700, "pnl": -78933, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.370967+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.157710+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 27, "cost": 3534830, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:50:07.933639+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 38, "cost": 4803920, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T11:14:10.106315+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 94400, "qty": 52, "cost": 4909536, "path": "pullback", "reason": "눌림목 지정가 94,648 도달", "stop": 92100, "target": 101300, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "94,300 vs 91,838"}, {"label": "정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +40 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.61% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "615,364 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.61% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "46"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,648 (현재 94,300)"}]}
+{"ts": "2026-07-30T11:58:09.080909+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 94400, "pnl": -150435, "pnl_pct": -2.86, "hold_from": "2026-07-30T11:14:10.106299+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 101,300"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 98,436"}]}
+{"ts": "2026-07-30T13:08:07.867097+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 36, "proceeds": 3618131, "entry_price": 122750, "pnl": -801532, "pnl_pct": -17.96, "hold_from": "2026-07-29T09:02:02.560863+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 188,900"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v218/portfolio.json b/agents/stock/workspace/state/sim/variants/v218/portfolio.json
index 587fcb4..d49db97 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": 56918920.823500015,
+ "cash": 42616576.14,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3627364.7637924887,
"last_add_price": 356000
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 36,
- "entry_price": 122750.0,
- "entry_at": "2026-07-29T09:02:02.846251+09:00",
- "stop": 100700,
- "target": 188900,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 144,225 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2230375.77623366,
- "last_add_price": 122600
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,645 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 1,
"tranche_value": 5013998.744343751,
"last_add_price": 19370
@@ -71,27 +50,111 @@
"sources": [
"auto"
],
- "qty": 38,
- "entry_price": 123400,
+ "qty": 75,
+ "entry_price": 124880.0,
"entry_at": "2026-07-29T10:24:01.484865+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114153,
+ "target": 157060,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4760241.173848085,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 291,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.152605+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1786459.912670363,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 26,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.172576+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3470885.263866936,
+ "last_add_price": 130900
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 766,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.823641+09:00",
+ "stop": 5799,
+ "target": 7843,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 4834735.918983269,
+ "last_add_price": 6310
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 34,
+ "entry_price": 92000,
+ "entry_at": "2026-07-30T09:22:08.456357+09:00",
+ "stop": 80806,
+ "target": 125581,
+ "peak": 92000,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 3206592.870573522,
+ "last_add_price": 92000
}
},
- "realized_pnl": -21967252.577500045,
- "closed_trades": 87,
+ "realized_pnl": -22861096.287500046,
+ "closed_trades": 90,
"wins": 1,
"peak_equity": 100000000,
- "max_drawdown": 0.2253959180249998,
+ "max_drawdown": 0.23670020299999997,
"last_exit": {
"086790": "2026-07-29",
"005930": "2026-06-23",
@@ -106,7 +169,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -117,12 +180,13 @@
"222800": "2026-07-21",
"024060": "2026-07-27",
"089970": "2026-07-28",
- "095610": "2026-07-28",
+ "095610": "2026-07-30",
"003680": "2026-07-29",
"010950": "2026-07-29",
"078930": "2026-07-29",
- "090850": "2026-07-29"
+ "090850": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.583395+09:00",
- "updated_at": "2026-07-29T15:28:01.504880+09:00"
+ "updated_at": "2026-07-30T15:28:08.192156+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 be8a082..ac53f00 100644
--- a/agents/stock/workspace/state/sim/variants/v218/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v218/trades.jsonl
@@ -196,3 +196,13 @@
{"ts": "2026-07-29T12:04:01.728248+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.484444+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.481087+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 633, "proceeds": 3525252, "entry_price": 6624, "pnl": -668237, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.847470+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,696"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.630159+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 762, "proceeds": 4456613, "entry_price": 6390, "pnl": -413298, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.425652+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,958"}, {"label": "추세(60일선)", "ok": true, "detail": "5,613"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:08.152609+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 291, "cost": 1784098, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.390869+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 42, "cost": 4776116, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.368210+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 42, "proceeds": 4699019, "entry_price": 113700, "pnl": -77097, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.390865+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.172579+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 26, "cost": 3403911, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.823645+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 766, "cost": 4834185, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5799, "target": 7843, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,300 vs 5,621"}, {"label": "정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T09:22:08.456362+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92000, "qty": 34, "cost": 3128469, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80806, "target": 125581, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,800 vs 75,118"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+67.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +276 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.64% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "593,600 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.64% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "70"}]}
+{"ts": "2026-07-30T09:50:07.942921+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 37, "cost": 4677502, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T13:08:08.470811+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 36, "proceeds": 3618131, "entry_price": 122750, "pnl": -801532, "pnl_pct": -17.96, "hold_from": "2026-07-29T09:02:02.846251+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 188,900"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T13:08:08.513874+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 91800, "qty": 52, "cost": 4774316, "path": "pullback", "reason": "눌림목 지정가 94,208 도달", "stop": 91799, "target": 91803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,900 vs 91,798"}, {"label": "정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -23 · 기 +38 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.37% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "557,141 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.37% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "44"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,208 (현재 91,900)"}]}
+{"ts": "2026-07-30T13:20:09.116228+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 91800, "pnl": -15214, "pnl_pct": -0.11, "hold_from": "2026-07-30T13:08:08.513862+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "91,799 (현재 91,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "91,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -23 · 기 +38"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v223/portfolio.json b/agents/stock/workspace/state/sim/variants/v223/portfolio.json
index c3c244d..def86ff 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": 57589786.01599998,
+ "cash": 50302299.84549998,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
@@ -39,59 +39,80 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3559349.4158756477,
"last_add_price": 92800
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 31,
- "entry_price": 124922.58064516129,
- "entry_at": "2026-07-28T09:00:22.236421+09:00",
- "stop": 100700,
- "target": 197590,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 145,639 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2001993.4324754681,
- "last_add_price": 122600
- },
"138040": {
"code": "138040",
"name": "메리츠금융지주",
"sources": [
"auto"
],
- "qty": 39,
- "entry_price": 123400,
+ "qty": 77,
+ "entry_price": 124880.51948051948,
"entry_at": "2026-07-29T10:24:01.486776+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114154,
+ "target": 157061,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4871303.908250191,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 299,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.158176+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1833305.2441214651,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 27,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.178166+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3570553.5376633056,
+ "last_add_price": 130900
}
},
- "realized_pnl": -19695807.33400004,
- "closed_trades": 86,
+ "realized_pnl": -20684578.839000043,
+ "closed_trades": 89,
"wins": 1,
"peak_equity": 100000000,
- "max_drawdown": 0.20743113984000028,
+ "max_drawdown": 0.21431412839500025,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
@@ -107,7 +128,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -117,11 +138,12 @@
"105560": "2026-07-20",
"222800": "2026-07-21",
"089970": "2026-07-27",
- "095610": "2026-07-27",
+ "095610": "2026-07-30",
"003680": "2026-07-29",
"138040": "2026-07-28",
- "010950": "2026-07-29"
+ "010950": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:40:00.621059+09:00",
- "updated_at": "2026-07-29T15:28:01.506483+09:00"
+ "updated_at": "2026-07-30T15:28:08.198278+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 e3d5b2a..44ee587 100644
--- a/agents/stock/workspace/state/sim/variants/v223/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v223/trades.jsonl
@@ -193,3 +193,11 @@
{"ts": "2026-07-29T10:24:01.486777+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 39, "cost": 4813322, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 154552, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,400 vs 110,075"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T12:04:01.729949+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.486327+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.482773+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 644, "proceeds": 3586513, "entry_price": 6624, "pnl": -679947, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.853694+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.158180+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 299, "cost": 1833145, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.396406+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 44, "cost": 5003550, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.374299+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 44, "proceeds": 4922782, "entry_price": 113700, "pnl": -80769, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.396403+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.178169+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 27, "cost": 3534830, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:50:07.948200+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 38, "cost": 4803920, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T11:14:10.127031+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 94400, "qty": 52, "cost": 4909536, "path": "pullback", "reason": "눌림목 지정가 94,648 도달", "stop": 92100, "target": 101300, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "94,300 vs 91,838"}, {"label": "정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +40 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.61% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "615,364 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.61% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "46"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,648 (현재 94,300)"}]}
+{"ts": "2026-07-30T11:58:09.100450+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 94400, "pnl": -150435, "pnl_pct": -2.86, "hold_from": "2026-07-30T11:14:10.127028+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 101,300"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 98,436"}]}
+{"ts": "2026-07-30T13:08:08.526275+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 31, "proceeds": 3115613, "entry_price": 124923, "pnl": -757568, "pnl_pct": -19.39, "hold_from": "2026-07-28T09:00:22.236421+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 197,590"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v224/portfolio.json b/agents/stock/workspace/state/sim/variants/v224/portfolio.json
index b85049c..e7e36b9 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": 57785184.154499985,
+ "cash": 43187379.78399998,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 36,
- "entry_price": 122750.0,
- "entry_at": "2026-07-29T09:02:02.858523+09:00",
- "stop": 100700,
- "target": 188900,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 144,225 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2241144.287326385,
- "last_add_price": 122600
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,645 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 1,
"tranche_value": 5059022.326624999,
"last_add_price": 19370
@@ -71,27 +50,111 @@
"sources": [
"auto"
],
- "qty": 38,
- "entry_price": 123400,
+ "qty": 76,
+ "entry_price": 124900.0,
"entry_at": "2026-07-29T10:24:01.488774+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114173,
+ "target": 157080,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4804885.651525278,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 294,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.164091+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1807632.1012232043,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 26,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.183754+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3511790.845106854,
+ "last_add_price": 130900
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 775,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.834349+09:00",
+ "stop": 5799,
+ "target": 7843,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 4891717.004707093,
+ "last_add_price": 6310
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 35,
+ "entry_price": 92000,
+ "entry_at": "2026-07-30T09:22:08.466995+09:00",
+ "stop": 80806,
+ "target": 125581,
+ "peak": 92000,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 3244481.6990387705,
+ "last_add_price": 92000
}
},
- "realized_pnl": -21042870.53000004,
- "closed_trades": 88,
+ "realized_pnl": -21938549.890000038,
+ "closed_trades": 91,
"wins": 2,
"peak_equity": 100000000,
- "max_drawdown": 0.21633495845500023,
+ "max_drawdown": 0.2275985665600002,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
@@ -107,7 +170,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -117,13 +180,14 @@
"105560": "2026-07-20",
"222800": "2026-07-21",
"024060": "2026-07-27",
- "095610": "2026-07-27",
+ "095610": "2026-07-30",
"089970": "2026-07-28",
"003680": "2026-07-29",
"010950": "2026-07-29",
"090850": "2026-07-29",
- "078930": "2026-07-29"
+ "078930": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.583512+09:00",
- "updated_at": "2026-07-29T15:28:01.508171+09:00"
+ "updated_at": "2026-07-30T15:28:08.203526+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 1185835..edd22d8 100644
--- a/agents/stock/workspace/state/sim/variants/v224/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v224/trades.jsonl
@@ -199,3 +199,13 @@
{"ts": "2026-07-29T10:24:01.488775+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 38, "cost": 4689903, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 154552, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,400 vs 110,075"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T12:04:01.731619+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.488191+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.484421+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 636, "proceeds": 3541960, "entry_price": 6624, "pnl": -671492, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.859292+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.164095+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 294, "cost": 1802490, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.402030+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 43, "cost": 4889833, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.379064+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 43, "proceeds": 4810900, "entry_price": 113700, "pnl": -78933, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.402026+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.183759+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 26, "cost": 3403911, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.834353+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 775, "cost": 4890984, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5799, "target": 7843, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,300 vs 5,621"}, {"label": "정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T09:22:08.466998+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92000, "qty": 35, "cost": 3220483, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80806, "target": 125581, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,800 vs 75,118"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+67.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +276 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.64% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "593,600 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.64% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "70"}]}
+{"ts": "2026-07-30T09:50:07.953439+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 38, "cost": 4803920, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T13:08:08.533345+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 36, "proceeds": 3618131, "entry_price": 122750, "pnl": -801532, "pnl_pct": -17.96, "hold_from": "2026-07-29T09:02:02.858523+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 188,900"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T13:08:08.534022+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 91800, "qty": 52, "cost": 4774316, "path": "pullback", "reason": "눌림목 지정가 94,208 도달", "stop": 91799, "target": 91803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,900 vs 91,798"}, {"label": "정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -23 · 기 +38 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.37% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "557,141 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.37% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "44"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,208 (현재 91,900)"}]}
+{"ts": "2026-07-30T13:20:09.135701+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 91800, "pnl": -15214, "pnl_pct": -0.11, "hold_from": "2026-07-30T13:08:08.534018+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "91,799 (현재 91,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "91,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -23 · 기 +38"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v229/portfolio.json b/agents/stock/workspace/state/sim/variants/v229/portfolio.json
index 4b9b58a..e7ffb0f 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": 56486509.805499986,
+ "cash": 49721770.21849997,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
@@ -39,59 +39,80 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3559349.4158756477,
"last_add_price": 92800
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 36,
- "entry_price": 122750.0,
- "entry_at": "2026-07-29T09:02:02.864085+09:00",
- "stop": 100700,
- "target": 188900,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 144,225 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2259210.8123524096,
- "last_add_price": 122600
- },
"138040": {
"code": "138040",
"name": "메리츠금융지주",
"sources": [
"auto"
],
- "qty": 39,
- "entry_price": 123400,
+ "qty": 77,
+ "entry_price": 124880.51948051948,
"entry_at": "2026-07-29T10:24:01.490553+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114154,
+ "target": 157061,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4840682.195130728,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 296,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.168790+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1820759.233761088,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 27,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.188366+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3546894.320639113,
+ "last_add_price": 130900
}
},
- "realized_pnl": -20252601.58450004,
- "closed_trades": 86,
+ "realized_pnl": -21283501.22450004,
+ "closed_trades": 89,
"wins": 1,
"peak_equity": 100000000,
- "max_drawdown": 0.21320890194500014,
+ "max_drawdown": 0.22025160641500027,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
@@ -107,7 +128,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -117,11 +138,12 @@
"105560": "2026-07-20",
"222800": "2026-07-21",
"089970": "2026-07-27",
- "095610": "2026-07-28",
+ "095610": "2026-07-30",
"003680": "2026-07-29",
"138040": "2026-07-28",
- "010950": "2026-07-29"
+ "010950": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:40:00.621103+09:00",
- "updated_at": "2026-07-29T15:28:01.509777+09:00"
+ "updated_at": "2026-07-30T15:28:08.208139+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 aded8f6..71619ef 100644
--- a/agents/stock/workspace/state/sim/variants/v229/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v229/trades.jsonl
@@ -193,3 +193,11 @@
{"ts": "2026-07-29T10:24:01.490554+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 39, "cost": 4813322, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 154552, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,400 vs 110,075"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T12:04:01.733300+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.490106+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.486092+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 642, "proceeds": 3575374, "entry_price": 6624, "pnl": -677833, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.864927+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.168792+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 296, "cost": 1814752, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.406646+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 43, "cost": 4889833, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.383379+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 43, "proceeds": 4810900, "entry_price": 113700, "pnl": -78933, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.406640+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.188369+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 27, "cost": 3534830, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:50:07.958076+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 38, "cost": 4803920, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T11:14:10.136931+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 94400, "qty": 52, "cost": 4909536, "path": "pullback", "reason": "눌림목 지정가 94,648 도달", "stop": 92100, "target": 101300, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "94,300 vs 91,838"}, {"label": "정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +40 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.61% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "615,364 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.61% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "46"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,648 (현재 94,300)"}]}
+{"ts": "2026-07-30T11:58:09.110478+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 94400, "pnl": -150435, "pnl_pct": -2.86, "hold_from": "2026-07-30T11:14:10.136928+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 101,300"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 98,436"}]}
+{"ts": "2026-07-30T13:08:08.539547+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 36, "proceeds": 3618131, "entry_price": 122750, "pnl": -801532, "pnl_pct": -17.96, "hold_from": "2026-07-29T09:02:02.864085+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 188,900"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v230/portfolio.json b/agents/stock/workspace/state/sim/variants/v230/portfolio.json
index d063c51..2d8c6f3 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": 56858178.75599999,
+ "cash": 42562145.01899998,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 36,
- "entry_price": 122750.0,
- "entry_at": "2026-07-29T09:02:02.869049+09:00",
- "stop": 100700,
- "target": 188900,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 144,225 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2228652.5102171055,
- "last_add_price": 122600
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,645 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 1,
"tranche_value": 5010126.595875,
"last_add_price": 19370
@@ -71,27 +50,111 @@
"sources": [
"auto"
],
- "qty": 38,
- "entry_price": 123400,
+ "qty": 75,
+ "entry_price": 124880.0,
"entry_at": "2026-07-29T10:24:01.492475+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114153,
+ "target": 157060,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4756556.382853909,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 291,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.173280+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1785067.433710845,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 26,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.192221+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3468191.0592600796,
+ "last_add_price": 130900
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 765,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.842850+09:00",
+ "stop": 5799,
+ "target": 7843,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 4830985.601508463,
+ "last_add_price": 6310
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 34,
+ "entry_price": 92000,
+ "entry_at": "2026-07-30T09:22:08.476907+09:00",
+ "stop": 80806,
+ "target": 125581,
+ "peak": 92000,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 3204099.6853260673,
+ "last_add_price": 92000
}
},
- "realized_pnl": -22027994.645000044,
- "closed_trades": 88,
+ "realized_pnl": -22921838.35500005,
+ "closed_trades": 91,
"wins": 1,
"peak_equity": 100000000,
- "max_drawdown": 0.22600355297000022,
+ "max_drawdown": 0.23730531421000017,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
@@ -107,7 +170,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -118,12 +181,13 @@
"222800": "2026-07-21",
"024060": "2026-07-27",
"089970": "2026-07-28",
- "095610": "2026-07-28",
+ "095610": "2026-07-30",
"003680": "2026-07-29",
"010950": "2026-07-29",
"078930": "2026-07-29",
- "090850": "2026-07-29"
+ "090850": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.583628+09:00",
- "updated_at": "2026-07-29T15:28:01.511434+09:00"
+ "updated_at": "2026-07-30T15:28:08.212257+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 c2c0e32..9c7bbc4 100644
--- a/agents/stock/workspace/state/sim/variants/v230/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v230/trades.jsonl
@@ -198,3 +198,13 @@
{"ts": "2026-07-29T12:04:01.734950+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.491941+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.487757+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 632, "proceeds": 3519683, "entry_price": 6624, "pnl": -667265, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.869638+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.636752+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 761, "proceeds": 4450764, "entry_price": 6390, "pnl": -412755, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.432390+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,958"}, {"label": "추세(60일선)", "ok": true, "detail": "5,613"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:08.173283+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 291, "cost": 1784098, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.410998+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 42, "cost": 4776116, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.387334+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 42, "proceeds": 4699019, "entry_price": 113700, "pnl": -77097, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.410995+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.192224+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 26, "cost": 3403911, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.842852+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 765, "cost": 4827874, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5799, "target": 7843, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,300 vs 5,621"}, {"label": "정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T09:22:08.476910+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92000, "qty": 34, "cost": 3128469, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80806, "target": 125581, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,800 vs 75,118"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+67.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +276 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.64% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "593,600 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.64% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "70"}]}
+{"ts": "2026-07-30T09:50:07.962375+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 37, "cost": 4677502, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T13:08:08.544147+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 36, "proceeds": 3618131, "entry_price": 122750, "pnl": -801532, "pnl_pct": -17.96, "hold_from": "2026-07-29T09:02:02.869049+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 188,900"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T13:08:08.544554+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 91800, "qty": 52, "cost": 4774316, "path": "pullback", "reason": "눌림목 지정가 94,208 도달", "stop": 91799, "target": 91803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,900 vs 91,798"}, {"label": "정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -23 · 기 +38 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.37% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "557,141 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.37% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "44"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,208 (현재 91,900)"}]}
+{"ts": "2026-07-30T13:20:09.146821+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 91800, "pnl": -15214, "pnl_pct": -0.11, "hold_from": "2026-07-30T13:08:08.544552+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "91,799 (현재 91,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "91,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -23 · 기 +38"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v235/portfolio.json b/agents/stock/workspace/state/sim/variants/v235/portfolio.json
index acedf7c..349bd88 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": 57589786.01599998,
+ "cash": 50302299.84549998,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
@@ -39,59 +39,80 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3559349.4158756477,
"last_add_price": 92800
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 31,
- "entry_price": 124922.58064516129,
- "entry_at": "2026-07-28T09:00:22.654170+09:00",
- "stop": 100700,
- "target": 197590,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 145,639 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2001993.4324754681,
- "last_add_price": 122600
- },
"138040": {
"code": "138040",
"name": "메리츠금융지주",
"sources": [
"auto"
],
- "qty": 39,
- "entry_price": 123400,
+ "qty": 77,
+ "entry_price": 124880.51948051948,
"entry_at": "2026-07-29T10:24:01.494208+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114154,
+ "target": 157061,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4871303.908250191,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 299,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.177640+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1833305.2441214651,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 27,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.195975+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3570553.5376633056,
+ "last_add_price": 130900
}
},
- "realized_pnl": -19695807.33400004,
- "closed_trades": 86,
+ "realized_pnl": -20684578.839000043,
+ "closed_trades": 89,
"wins": 1,
"peak_equity": 100000000,
- "max_drawdown": 0.20743113984000028,
+ "max_drawdown": 0.21431412839500025,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
@@ -107,7 +128,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -117,11 +138,12 @@
"105560": "2026-07-20",
"222800": "2026-07-21",
"089970": "2026-07-27",
- "095610": "2026-07-27",
+ "095610": "2026-07-30",
"003680": "2026-07-29",
"138040": "2026-07-28",
- "010950": "2026-07-29"
+ "010950": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:40:00.621148+09:00",
- "updated_at": "2026-07-29T15:28:01.513048+09:00"
+ "updated_at": "2026-07-30T15:28:08.216191+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 6794144..9e4dfaf 100644
--- a/agents/stock/workspace/state/sim/variants/v235/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v235/trades.jsonl
@@ -193,3 +193,11 @@
{"ts": "2026-07-29T10:24:01.494210+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 39, "cost": 4813322, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 154552, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,400 vs 110,075"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T12:04:01.736617+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.493778+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.489432+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 644, "proceeds": 3586513, "entry_price": 6624, "pnl": -679947, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.874058+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.177643+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 299, "cost": 1833145, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.414798+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 44, "cost": 5003550, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.390965+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 44, "proceeds": 4922782, "entry_price": 113700, "pnl": -80769, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.414795+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.195977+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 27, "cost": 3534830, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:50:07.966300+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 38, "cost": 4803920, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T11:14:10.145344+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 94400, "qty": 52, "cost": 4909536, "path": "pullback", "reason": "눌림목 지정가 94,648 도달", "stop": 92100, "target": 101300, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "94,300 vs 91,838"}, {"label": "정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +40 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.61% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "615,364 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.61% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "46"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,648 (현재 94,300)"}]}
+{"ts": "2026-07-30T11:58:09.118312+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 94400, "pnl": -150435, "pnl_pct": -2.86, "hold_from": "2026-07-30T11:14:10.145341+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 101,300"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 98,436"}]}
+{"ts": "2026-07-30T13:08:08.548002+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 31, "proceeds": 3115613, "entry_price": 124923, "pnl": -757568, "pnl_pct": -19.39, "hold_from": "2026-07-28T09:00:22.654170+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 197,590"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v236/portfolio.json b/agents/stock/workspace/state/sim/variants/v236/portfolio.json
index dc6ff1c..b971e68 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": 57785184.154499985,
+ "cash": 43187379.78399998,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 36,
- "entry_price": 122750.0,
- "entry_at": "2026-07-29T09:02:02.877598+09:00",
- "stop": 100700,
- "target": 188900,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 144,225 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2241144.287326385,
- "last_add_price": 122600
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,645 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 1,
"tranche_value": 5059022.326624999,
"last_add_price": 19370
@@ -71,27 +50,111 @@
"sources": [
"auto"
],
- "qty": 38,
- "entry_price": 123400,
+ "qty": 76,
+ "entry_price": 124900.0,
"entry_at": "2026-07-29T10:24:01.496122+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114173,
+ "target": 157080,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4804885.651525278,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 294,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.181805+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1807632.1012232043,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 26,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.199494+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3511790.845106854,
+ "last_add_price": 130900
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 775,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.850059+09:00",
+ "stop": 5799,
+ "target": 7843,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 4891717.004707093,
+ "last_add_price": 6310
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 35,
+ "entry_price": 92000,
+ "entry_at": "2026-07-30T09:22:08.484228+09:00",
+ "stop": 80806,
+ "target": 125581,
+ "peak": 92000,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 3244481.6990387705,
+ "last_add_price": 92000
}
},
- "realized_pnl": -21042870.53000004,
- "closed_trades": 88,
+ "realized_pnl": -21938549.890000038,
+ "closed_trades": 91,
"wins": 2,
"peak_equity": 100000000,
- "max_drawdown": 0.21633495845500023,
+ "max_drawdown": 0.2275985665600002,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
@@ -107,7 +170,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -117,13 +180,14 @@
"105560": "2026-07-20",
"222800": "2026-07-21",
"024060": "2026-07-27",
- "095610": "2026-07-27",
+ "095610": "2026-07-30",
"089970": "2026-07-28",
"003680": "2026-07-29",
"010950": "2026-07-29",
"090850": "2026-07-29",
- "078930": "2026-07-29"
+ "078930": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.583751+09:00",
- "updated_at": "2026-07-29T15:28:01.514690+09:00"
+ "updated_at": "2026-07-30T15:28:08.219742+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 4787197..1b5c75d 100644
--- a/agents/stock/workspace/state/sim/variants/v236/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v236/trades.jsonl
@@ -199,3 +199,13 @@
{"ts": "2026-07-29T10:24:01.496123+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 38, "cost": 4689903, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 154552, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,400 vs 110,075"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T12:04:01.738264+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.495609+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.491085+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 636, "proceeds": 3541960, "entry_price": 6624, "pnl": -671492, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.878331+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.181807+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 294, "cost": 1802490, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.418473+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 43, "cost": 4889833, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.394565+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 43, "proceeds": 4810900, "entry_price": 113700, "pnl": -78933, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.418470+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.199496+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 26, "cost": 3403911, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.850061+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 775, "cost": 4890984, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5799, "target": 7843, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,300 vs 5,621"}, {"label": "정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T09:22:08.484230+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92000, "qty": 35, "cost": 3220483, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80806, "target": 125581, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,800 vs 75,118"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+67.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +276 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.64% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "593,600 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.64% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "70"}]}
+{"ts": "2026-07-30T09:50:07.969734+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 38, "cost": 4803920, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T13:08:08.551656+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 36, "proceeds": 3618131, "entry_price": 122750, "pnl": -801532, "pnl_pct": -17.96, "hold_from": "2026-07-29T09:02:02.877598+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 188,900"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T13:08:08.552024+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 91800, "qty": 52, "cost": 4774316, "path": "pullback", "reason": "눌림목 지정가 94,208 도달", "stop": 91799, "target": 91803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,900 vs 91,798"}, {"label": "정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -23 · 기 +38 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.37% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "557,141 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.37% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "44"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,208 (현재 91,900)"}]}
+{"ts": "2026-07-30T13:20:09.155246+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 91800, "pnl": -15214, "pnl_pct": -0.11, "hold_from": "2026-07-30T13:08:08.552022+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "91,799 (현재 91,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "91,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -23 · 기 +38"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v265/portfolio.json b/agents/stock/workspace/state/sim/variants/v265/portfolio.json
index 54a350d..c2b10ea 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": 57589786.01599998,
+ "cash": 50302299.84549998,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
@@ -39,59 +39,80 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3559349.4158756477,
"last_add_price": 92800
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 31,
- "entry_price": 124922.58064516129,
- "entry_at": "2026-07-28T09:00:22.865306+09:00",
- "stop": 100700,
- "target": 197590,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 145,639 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2001993.4324754681,
- "last_add_price": 122600
- },
"138040": {
"code": "138040",
"name": "메리츠금융지주",
"sources": [
"auto"
],
- "qty": 39,
- "entry_price": 123400,
+ "qty": 77,
+ "entry_price": 124880.51948051948,
"entry_at": "2026-07-29T10:24:01.497839+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114154,
+ "target": 157061,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4871303.908250191,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 299,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.185692+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1833305.2441214651,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 27,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.202813+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3570553.5376633056,
+ "last_add_price": 130900
}
},
- "realized_pnl": -19695807.33400004,
- "closed_trades": 86,
+ "realized_pnl": -20684578.839000043,
+ "closed_trades": 89,
"wins": 1,
"peak_equity": 100000000,
- "max_drawdown": 0.20743113984000028,
+ "max_drawdown": 0.21431412839500025,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
@@ -107,7 +128,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -117,11 +138,12 @@
"105560": "2026-07-20",
"222800": "2026-07-21",
"089970": "2026-07-27",
- "095610": "2026-07-27",
+ "095610": "2026-07-30",
"003680": "2026-07-29",
"138040": "2026-07-28",
- "010950": "2026-07-29"
+ "010950": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:40:00.621367+09:00",
- "updated_at": "2026-07-29T15:28:01.516298+09:00"
+ "updated_at": "2026-07-30T15:28:08.223308+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 acb63d3..577f01f 100644
--- a/agents/stock/workspace/state/sim/variants/v265/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v265/trades.jsonl
@@ -193,3 +193,11 @@
{"ts": "2026-07-29T10:24:01.497840+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 39, "cost": 4813322, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 154552, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,400 vs 110,075"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T12:04:01.739932+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.497447+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.492765+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 644, "proceeds": 3586513, "entry_price": 6624, "pnl": -679947, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.882675+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.185695+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 299, "cost": 1833145, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.421897+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 44, "cost": 5003550, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.397807+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 44, "proceeds": 4922782, "entry_price": 113700, "pnl": -80769, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.421895+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.202815+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 27, "cost": 3534830, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:50:07.972934+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 38, "cost": 4803920, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T11:14:10.152216+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 94400, "qty": 52, "cost": 4909536, "path": "pullback", "reason": "눌림목 지정가 94,648 도달", "stop": 92100, "target": 101300, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "94,300 vs 91,838"}, {"label": "정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +40 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.61% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "615,364 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.61% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "46"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,648 (현재 94,300)"}]}
+{"ts": "2026-07-30T11:58:09.125170+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 94400, "pnl": -150435, "pnl_pct": -2.86, "hold_from": "2026-07-30T11:14:10.152214+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 101,300"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 98,436"}]}
+{"ts": "2026-07-30T13:08:08.555218+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 31, "proceeds": 3115613, "entry_price": 124923, "pnl": -757568, "pnl_pct": -19.39, "hold_from": "2026-07-28T09:00:22.865306+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 197,590"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v266/portfolio.json b/agents/stock/workspace/state/sim/variants/v266/portfolio.json
index 855888b..c9d30ba 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": 57785184.154499985,
+ "cash": 43187379.78399998,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 36,
- "entry_price": 122750.0,
- "entry_at": "2026-07-29T09:02:02.886191+09:00",
- "stop": 100700,
- "target": 188900,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 144,225 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2241144.287326385,
- "last_add_price": 122600
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,645 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 1,
"tranche_value": 5059022.326624999,
"last_add_price": 19370
@@ -71,27 +50,111 @@
"sources": [
"auto"
],
- "qty": 38,
- "entry_price": 123400,
+ "qty": 76,
+ "entry_price": 124900.0,
"entry_at": "2026-07-29T10:24:01.499758+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114173,
+ "target": 157080,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4804885.651525278,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 294,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.189515+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1807632.1012232043,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 26,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.206106+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3511790.845106854,
+ "last_add_price": 130900
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 775,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.856246+09:00",
+ "stop": 5799,
+ "target": 7843,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 4891717.004707093,
+ "last_add_price": 6310
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 35,
+ "entry_price": 92000,
+ "entry_at": "2026-07-30T09:22:08.490882+09:00",
+ "stop": 80806,
+ "target": 125581,
+ "peak": 92000,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 3244481.6990387705,
+ "last_add_price": 92000
}
},
- "realized_pnl": -21042870.53000004,
- "closed_trades": 88,
+ "realized_pnl": -21938549.890000038,
+ "closed_trades": 91,
"wins": 2,
"peak_equity": 100000000,
- "max_drawdown": 0.21633495845500023,
+ "max_drawdown": 0.2275985665600002,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
@@ -107,7 +170,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -117,13 +180,14 @@
"105560": "2026-07-20",
"222800": "2026-07-21",
"024060": "2026-07-27",
- "095610": "2026-07-27",
+ "095610": "2026-07-30",
"089970": "2026-07-28",
"003680": "2026-07-29",
"010950": "2026-07-29",
"090850": "2026-07-29",
- "078930": "2026-07-29"
+ "078930": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.584337+09:00",
- "updated_at": "2026-07-29T15:28:01.517970+09:00"
+ "updated_at": "2026-07-30T15:28:08.226495+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 156a54e..2124092 100644
--- a/agents/stock/workspace/state/sim/variants/v266/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v266/trades.jsonl
@@ -199,3 +199,13 @@
{"ts": "2026-07-29T10:24:01.499759+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 38, "cost": 4689903, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 154552, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,400 vs 110,075"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T12:04:01.741599+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.499281+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.494436+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 636, "proceeds": 3541960, "entry_price": 6624, "pnl": -671492, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.886709+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.189517+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 294, "cost": 1802490, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.425115+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 43, "cost": 4889833, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.400873+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 43, "proceeds": 4810900, "entry_price": 113700, "pnl": -78933, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.425113+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.206108+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 26, "cost": 3403911, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.856248+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 775, "cost": 4890984, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5799, "target": 7843, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,300 vs 5,621"}, {"label": "정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T09:22:08.490885+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92000, "qty": 35, "cost": 3220483, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80806, "target": 125581, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,800 vs 75,118"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+67.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +276 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.64% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "593,600 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.64% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "70"}]}
+{"ts": "2026-07-30T09:50:07.976163+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 38, "cost": 4803920, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T13:08:08.558426+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 36, "proceeds": 3618131, "entry_price": 122750, "pnl": -801532, "pnl_pct": -17.96, "hold_from": "2026-07-29T09:02:02.886191+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 188,900"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T13:08:08.558735+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 91800, "qty": 52, "cost": 4774316, "path": "pullback", "reason": "눌림목 지정가 94,208 도달", "stop": 91799, "target": 91803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,900 vs 91,798"}, {"label": "정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -23 · 기 +38 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.37% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "557,141 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.37% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "44"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,208 (현재 91,900)"}]}
+{"ts": "2026-07-30T13:20:09.162472+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 91800, "pnl": -15214, "pnl_pct": -0.11, "hold_from": "2026-07-30T13:08:08.558733+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "91,799 (현재 91,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "91,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -23 · 기 +38"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v271/portfolio.json b/agents/stock/workspace/state/sim/variants/v271/portfolio.json
index dc15e01..af0627e 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": 57589786.01599998,
+ "cash": 50302299.84549998,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
@@ -39,59 +39,80 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3559349.4158756477,
"last_add_price": 92800
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 31,
- "entry_price": 124922.58064516129,
- "entry_at": "2026-07-28T09:00:23.083067+09:00",
- "stop": 100700,
- "target": 197590,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 145,639 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2001993.4324754681,
- "last_add_price": 122600
- },
"138040": {
"code": "138040",
"name": "메리츠금융지주",
"sources": [
"auto"
],
- "qty": 39,
- "entry_price": 123400,
+ "qty": 77,
+ "entry_price": 124880.51948051948,
"entry_at": "2026-07-29T10:24:01.501484+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114154,
+ "target": 157061,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4871303.908250191,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 299,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.192841+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1833305.2441214651,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 27,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.209160+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3570553.5376633056,
+ "last_add_price": 130900
}
},
- "realized_pnl": -19695807.33400004,
- "closed_trades": 86,
+ "realized_pnl": -20684578.839000043,
+ "closed_trades": 89,
"wins": 1,
"peak_equity": 100000000,
- "max_drawdown": 0.20743113984000028,
+ "max_drawdown": 0.21431412839500025,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
@@ -107,7 +128,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -117,11 +138,12 @@
"105560": "2026-07-20",
"222800": "2026-07-21",
"089970": "2026-07-27",
- "095610": "2026-07-27",
+ "095610": "2026-07-30",
"003680": "2026-07-29",
"138040": "2026-07-28",
- "010950": "2026-07-29"
+ "010950": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:40:00.621411+09:00",
- "updated_at": "2026-07-29T15:28:01.519575+09:00"
+ "updated_at": "2026-07-30T15:28:08.229484+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 dbf8929..67a8279 100644
--- a/agents/stock/workspace/state/sim/variants/v271/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v271/trades.jsonl
@@ -193,3 +193,11 @@
{"ts": "2026-07-29T10:24:01.501485+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 39, "cost": 4813322, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 154552, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,400 vs 110,075"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T12:04:01.743276+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.501109+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.496111+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 644, "proceeds": 3586513, "entry_price": 6624, "pnl": -679947, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.890818+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.192843+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 299, "cost": 1833145, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.428065+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 44, "cost": 5003550, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.403829+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 44, "proceeds": 4922782, "entry_price": 113700, "pnl": -80769, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.428063+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.209162+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 27, "cost": 3534830, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:50:07.979201+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 38, "cost": 4803920, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T11:14:10.158629+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 94400, "qty": 52, "cost": 4909536, "path": "pullback", "reason": "눌림목 지정가 94,648 도달", "stop": 92100, "target": 101300, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "94,300 vs 91,838"}, {"label": "정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +40 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.61% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "615,364 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.61% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "46"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,648 (현재 94,300)"}]}
+{"ts": "2026-07-30T11:58:09.131100+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 94400, "pnl": -150435, "pnl_pct": -2.86, "hold_from": "2026-07-30T11:14:10.158627+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 101,300"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 98,436"}]}
+{"ts": "2026-07-30T13:08:08.561778+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 31, "proceeds": 3115613, "entry_price": 124923, "pnl": -757568, "pnl_pct": -19.39, "hold_from": "2026-07-28T09:00:23.083067+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 197,590"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v272/portfolio.json b/agents/stock/workspace/state/sim/variants/v272/portfolio.json
index 2668478..648eb26 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": 57785184.154499985,
+ "cash": 43187379.78399998,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 36,
- "entry_price": 122750.0,
- "entry_at": "2026-07-29T09:02:02.894214+09:00",
- "stop": 100700,
- "target": 188900,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 144,225 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2241144.287326385,
- "last_add_price": 122600
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,645 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 1,
"tranche_value": 5059022.326624999,
"last_add_price": 19370
@@ -71,27 +50,111 @@
"sources": [
"auto"
],
- "qty": 38,
- "entry_price": 123400,
+ "qty": 76,
+ "entry_price": 124900.0,
"entry_at": "2026-07-29T10:24:01.503402+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114173,
+ "target": 157080,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4804885.651525278,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 294,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.196316+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1807632.1012232043,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 26,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.212042+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3511790.845106854,
+ "last_add_price": 130900
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 775,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.861971+09:00",
+ "stop": 5799,
+ "target": 7843,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 4891717.004707093,
+ "last_add_price": 6310
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 35,
+ "entry_price": 92000,
+ "entry_at": "2026-07-30T09:22:08.497001+09:00",
+ "stop": 80806,
+ "target": 125581,
+ "peak": 92000,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 3244481.6990387705,
+ "last_add_price": 92000
}
},
- "realized_pnl": -21042870.53000004,
- "closed_trades": 88,
+ "realized_pnl": -21938549.890000038,
+ "closed_trades": 91,
"wins": 2,
"peak_equity": 100000000,
- "max_drawdown": 0.21633495845500023,
+ "max_drawdown": 0.2275985665600002,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
@@ -107,7 +170,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -117,13 +180,14 @@
"105560": "2026-07-20",
"222800": "2026-07-21",
"024060": "2026-07-27",
- "095610": "2026-07-27",
+ "095610": "2026-07-30",
"089970": "2026-07-28",
"003680": "2026-07-29",
"010950": "2026-07-29",
"090850": "2026-07-29",
- "078930": "2026-07-29"
+ "078930": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.584451+09:00",
- "updated_at": "2026-07-29T15:28:01.521221+09:00"
+ "updated_at": "2026-07-30T15:28:08.232327+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 cdf506c..44cdeeb 100644
--- a/agents/stock/workspace/state/sim/variants/v272/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v272/trades.jsonl
@@ -199,3 +199,13 @@
{"ts": "2026-07-29T10:24:01.503403+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 38, "cost": 4689903, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 154552, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,400 vs 110,075"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T12:04:01.744951+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.502941+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.497779+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 636, "proceeds": 3541960, "entry_price": 6624, "pnl": -671492, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.894692+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.196318+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 294, "cost": 1802490, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.430837+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 43, "cost": 4889833, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.406709+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 43, "proceeds": 4810900, "entry_price": 113700, "pnl": -78933, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.430835+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.212044+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 26, "cost": 3403911, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.861973+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 775, "cost": 4890984, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5799, "target": 7843, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,300 vs 5,621"}, {"label": "정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T09:22:08.497003+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92000, "qty": 35, "cost": 3220483, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80806, "target": 125581, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,800 vs 75,118"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+67.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +276 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.64% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "593,600 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.64% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "70"}]}
+{"ts": "2026-07-30T09:50:07.982026+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 38, "cost": 4803920, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T13:08:08.564699+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 36, "proceeds": 3618131, "entry_price": 122750, "pnl": -801532, "pnl_pct": -17.96, "hold_from": "2026-07-29T09:02:02.894214+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 188,900"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T13:08:08.564981+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 91800, "qty": 52, "cost": 4774316, "path": "pullback", "reason": "눌림목 지정가 94,208 도달", "stop": 91799, "target": 91803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,900 vs 91,798"}, {"label": "정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -23 · 기 +38 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.37% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "557,141 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.37% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "44"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,208 (현재 91,900)"}]}
+{"ts": "2026-07-30T13:20:09.169075+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 91800, "pnl": -15214, "pnl_pct": -0.11, "hold_from": "2026-07-30T13:08:08.564979+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "91,799 (현재 91,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "91,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -23 · 기 +38"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v277/portfolio.json b/agents/stock/workspace/state/sim/variants/v277/portfolio.json
index 925f5e9..e1b1048 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": 56486509.805499986,
+ "cash": 49721770.21849997,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
@@ -39,59 +39,80 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3559349.4158756477,
"last_add_price": 92800
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 36,
- "entry_price": 122750.0,
- "entry_at": "2026-07-29T09:02:02.897785+09:00",
- "stop": 100700,
- "target": 188900,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 144,225 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2259210.8123524096,
- "last_add_price": 122600
- },
"138040": {
"code": "138040",
"name": "메리츠금융지주",
"sources": [
"auto"
],
- "qty": 39,
- "entry_price": 123400,
+ "qty": 77,
+ "entry_price": 124880.51948051948,
"entry_at": "2026-07-29T10:24:01.505138+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114154,
+ "target": 157061,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4840682.195130728,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 296,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.199417+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1820759.233761088,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 27,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.214746+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3546894.320639113,
+ "last_add_price": 130900
}
},
- "realized_pnl": -20252601.58450004,
- "closed_trades": 86,
+ "realized_pnl": -21283501.22450004,
+ "closed_trades": 89,
"wins": 1,
"peak_equity": 100000000,
- "max_drawdown": 0.21320890194500014,
+ "max_drawdown": 0.22025160641500027,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
@@ -107,7 +128,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -117,11 +138,12 @@
"105560": "2026-07-20",
"222800": "2026-07-21",
"089970": "2026-07-27",
- "095610": "2026-07-28",
+ "095610": "2026-07-30",
"003680": "2026-07-29",
"138040": "2026-07-28",
- "010950": "2026-07-29"
+ "010950": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:40:00.621453+09:00",
- "updated_at": "2026-07-29T15:28:01.522836+09:00"
+ "updated_at": "2026-07-30T15:28:08.235152+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 2ff7a76..9988e3a 100644
--- a/agents/stock/workspace/state/sim/variants/v277/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v277/trades.jsonl
@@ -193,3 +193,11 @@
{"ts": "2026-07-29T10:24:01.505139+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 39, "cost": 4813322, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 154552, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,400 vs 110,075"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T12:04:01.746642+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.504788+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.499492+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 642, "proceeds": 3575374, "entry_price": 6624, "pnl": -677833, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.898397+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.199419+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 296, "cost": 1814752, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.433551+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 43, "cost": 4889833, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.409492+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 43, "proceeds": 4810900, "entry_price": 113700, "pnl": -78933, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.433549+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.214748+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 27, "cost": 3534830, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:50:07.984644+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 38, "cost": 4803920, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T11:14:10.164212+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 94400, "qty": 52, "cost": 4909536, "path": "pullback", "reason": "눌림목 지정가 94,648 도달", "stop": 92100, "target": 101300, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "94,300 vs 91,838"}, {"label": "정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +40 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.61% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "615,364 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.61% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "46"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,648 (현재 94,300)"}]}
+{"ts": "2026-07-30T11:58:09.136768+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 94400, "pnl": -150435, "pnl_pct": -2.86, "hold_from": "2026-07-30T11:14:10.164210+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 101,300"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 98,436"}]}
+{"ts": "2026-07-30T13:08:08.567616+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 36, "proceeds": 3618131, "entry_price": 122750, "pnl": -801532, "pnl_pct": -17.96, "hold_from": "2026-07-29T09:02:02.897785+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 188,900"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v278/portfolio.json b/agents/stock/workspace/state/sim/variants/v278/portfolio.json
index 37e18b0..2818e32 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": 56858178.75599999,
+ "cash": 42562145.01899998,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 36,
- "entry_price": 122750.0,
- "entry_at": "2026-07-29T09:02:02.901179+09:00",
- "stop": 100700,
- "target": 188900,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 144,225 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2228652.5102171055,
- "last_add_price": 122600
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,645 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 1,
"tranche_value": 5010126.595875,
"last_add_price": 19370
@@ -71,27 +50,111 @@
"sources": [
"auto"
],
- "qty": 38,
- "entry_price": 123400,
+ "qty": 75,
+ "entry_price": 124880.0,
"entry_at": "2026-07-29T10:24:01.507058+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114153,
+ "target": 157060,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4756556.382853909,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 291,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.202607+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1785067.433710845,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 26,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.217304+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3468191.0592600796,
+ "last_add_price": 130900
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 765,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.867217+09:00",
+ "stop": 5799,
+ "target": 7843,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 4830985.601508463,
+ "last_add_price": 6310
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 34,
+ "entry_price": 92000,
+ "entry_at": "2026-07-30T09:22:08.502413+09:00",
+ "stop": 80806,
+ "target": 125581,
+ "peak": 92000,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 3204099.6853260673,
+ "last_add_price": 92000
}
},
- "realized_pnl": -22027994.645000044,
- "closed_trades": 88,
+ "realized_pnl": -22921838.35500005,
+ "closed_trades": 91,
"wins": 1,
"peak_equity": 100000000,
- "max_drawdown": 0.22600355297000022,
+ "max_drawdown": 0.23730531421000017,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
@@ -107,7 +170,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -118,12 +181,13 @@
"222800": "2026-07-21",
"024060": "2026-07-27",
"089970": "2026-07-28",
- "095610": "2026-07-28",
+ "095610": "2026-07-30",
"003680": "2026-07-29",
"010950": "2026-07-29",
"078930": "2026-07-29",
- "090850": "2026-07-29"
+ "090850": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.584565+09:00",
- "updated_at": "2026-07-29T15:28:01.524546+09:00"
+ "updated_at": "2026-07-30T15:28:08.237889+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 2bcd016..9466bdf 100644
--- a/agents/stock/workspace/state/sim/variants/v278/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v278/trades.jsonl
@@ -198,3 +198,13 @@
{"ts": "2026-07-29T12:04:01.748392+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.506650+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.501159+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 632, "proceeds": 3519683, "entry_price": 6624, "pnl": -667265, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.901612+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.649726+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 761, "proceeds": 4450764, "entry_price": 6390, "pnl": -412755, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.445604+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,958"}, {"label": "추세(60일선)", "ok": true, "detail": "5,613"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:08.202609+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 291, "cost": 1784098, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.436251+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 42, "cost": 4776116, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.412136+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 42, "proceeds": 4699019, "entry_price": 113700, "pnl": -77097, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.436249+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.217305+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 26, "cost": 3403911, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.867219+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 765, "cost": 4827874, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5799, "target": 7843, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,300 vs 5,621"}, {"label": "정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T09:22:08.502414+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92000, "qty": 34, "cost": 3128469, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80806, "target": 125581, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,800 vs 75,118"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+67.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +276 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.64% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "593,600 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.64% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "70"}]}
+{"ts": "2026-07-30T09:50:07.987279+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 37, "cost": 4677502, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T13:08:08.570244+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 36, "proceeds": 3618131, "entry_price": 122750, "pnl": -801532, "pnl_pct": -17.96, "hold_from": "2026-07-29T09:02:02.901179+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 188,900"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T13:08:08.570496+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 91800, "qty": 52, "cost": 4774316, "path": "pullback", "reason": "눌림목 지정가 94,208 도달", "stop": 91799, "target": 91803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,900 vs 91,798"}, {"label": "정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -23 · 기 +38 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.37% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "557,141 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.37% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "44"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,208 (현재 91,900)"}]}
+{"ts": "2026-07-30T13:20:09.174854+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 91800, "pnl": -15214, "pnl_pct": -0.11, "hold_from": "2026-07-30T13:08:08.570494+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "91,799 (현재 91,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "91,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -23 · 기 +38"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v283/portfolio.json b/agents/stock/workspace/state/sim/variants/v283/portfolio.json
index 4ec12ea..b80a062 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": 56486509.805499986,
+ "cash": 49721770.21849997,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
@@ -39,59 +39,80 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3559349.4158756477,
"last_add_price": 92800
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 36,
- "entry_price": 122750.0,
- "entry_at": "2026-07-29T09:02:02.904456+09:00",
- "stop": 100700,
- "target": 188900,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 144,225 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2259210.8123524096,
- "last_add_price": 122600
- },
"138040": {
"code": "138040",
"name": "메리츠금융지주",
"sources": [
"auto"
],
- "qty": 39,
- "entry_price": 123400,
+ "qty": 77,
+ "entry_price": 124880.51948051948,
"entry_at": "2026-07-29T10:24:01.508786+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114154,
+ "target": 157061,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4840682.195130728,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 296,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.205546+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1820759.233761088,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 27,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.219804+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3546894.320639113,
+ "last_add_price": 130900
}
},
- "realized_pnl": -20252601.58450004,
- "closed_trades": 86,
+ "realized_pnl": -21283501.22450004,
+ "closed_trades": 89,
"wins": 1,
"peak_equity": 100000000,
- "max_drawdown": 0.21320890194500014,
+ "max_drawdown": 0.22025160641500027,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
@@ -107,7 +128,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -117,11 +138,12 @@
"105560": "2026-07-20",
"222800": "2026-07-21",
"089970": "2026-07-27",
- "095610": "2026-07-28",
+ "095610": "2026-07-30",
"003680": "2026-07-29",
"138040": "2026-07-28",
- "010950": "2026-07-29"
+ "010950": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:40:00.621497+09:00",
- "updated_at": "2026-07-29T15:28:01.526150+09:00"
+ "updated_at": "2026-07-30T15:28:08.240441+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 7c780ef..d78ec20 100644
--- a/agents/stock/workspace/state/sim/variants/v283/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v283/trades.jsonl
@@ -193,3 +193,11 @@
{"ts": "2026-07-29T10:24:01.508787+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 39, "cost": 4813322, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 154552, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,400 vs 110,075"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T12:04:01.750126+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.508514+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.502828+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 642, "proceeds": 3575374, "entry_price": 6624, "pnl": -677833, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.905011+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.205548+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 296, "cost": 1814752, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.438869+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 43, "cost": 4889833, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.414638+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 43, "proceeds": 4810900, "entry_price": 113700, "pnl": -78933, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.438867+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.219805+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 27, "cost": 3534830, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:50:07.989874+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 38, "cost": 4803920, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T11:14:10.169477+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 94400, "qty": 52, "cost": 4909536, "path": "pullback", "reason": "눌림목 지정가 94,648 도달", "stop": 92100, "target": 101300, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "94,300 vs 91,838"}, {"label": "정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +40 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.61% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "615,364 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.61% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "46"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,648 (현재 94,300)"}]}
+{"ts": "2026-07-30T11:58:09.141824+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 94400, "pnl": -150435, "pnl_pct": -2.86, "hold_from": "2026-07-30T11:14:10.169475+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 101,300"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 98,436"}]}
+{"ts": "2026-07-30T13:08:08.572854+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 36, "proceeds": 3618131, "entry_price": 122750, "pnl": -801532, "pnl_pct": -17.96, "hold_from": "2026-07-29T09:02:02.904456+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 188,900"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v284/portfolio.json b/agents/stock/workspace/state/sim/variants/v284/portfolio.json
index dab9075..04e1fe3 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": 56858178.75599999,
+ "cash": 42562145.01899998,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3624744.3180141365,
"last_add_price": 356000
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 36,
- "entry_price": 122750.0,
- "entry_at": "2026-07-29T09:02:02.907686+09:00",
- "stop": 100700,
- "target": 188900,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 144,225 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2228652.5102171055,
- "last_add_price": 122600
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,645 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 1,
"tranche_value": 5010126.595875,
"last_add_price": 19370
@@ -71,27 +50,111 @@
"sources": [
"auto"
],
- "qty": 38,
- "entry_price": 123400,
+ "qty": 75,
+ "entry_price": 124880.0,
"entry_at": "2026-07-29T10:24:01.510715+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114153,
+ "target": 157060,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4756556.382853909,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 291,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.208371+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1785067.433710845,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 26,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.222270+09:00",
+ "stop": 116144,
+ "target": 175169,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3468191.0592600796,
+ "last_add_price": 130900
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 765,
+ "entry_price": 6310,
+ "entry_at": "2026-07-30T09:18:10.872227+09:00",
+ "stop": 5799,
+ "target": 7843,
+ "peak": 6310,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 4830985.601508463,
+ "last_add_price": 6310
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 34,
+ "entry_price": 92000,
+ "entry_at": "2026-07-30T09:22:08.507277+09:00",
+ "stop": 80806,
+ "target": 125581,
+ "peak": 92000,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 3204099.6853260673,
+ "last_add_price": 92000
}
},
- "realized_pnl": -22027994.645000044,
- "closed_trades": 88,
+ "realized_pnl": -22921838.35500005,
+ "closed_trades": 91,
"wins": 1,
"peak_equity": 100000000,
- "max_drawdown": 0.22600355297000022,
+ "max_drawdown": 0.23730531421000017,
"last_exit": {
"017670": "2026-06-19",
"086790": "2026-07-29",
@@ -107,7 +170,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -118,12 +181,13 @@
"222800": "2026-07-21",
"024060": "2026-07-27",
"089970": "2026-07-28",
- "095610": "2026-07-28",
+ "095610": "2026-07-30",
"003680": "2026-07-29",
"010950": "2026-07-29",
"078930": "2026-07-29",
- "090850": "2026-07-29"
+ "090850": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-15T14:55:00.584680+09:00",
- "updated_at": "2026-07-29T15:28:01.527830+09:00"
+ "updated_at": "2026-07-30T15:28:08.242886+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 e2d96bb..fd2341d 100644
--- a/agents/stock/workspace/state/sim/variants/v284/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v284/trades.jsonl
@@ -198,3 +198,13 @@
{"ts": "2026-07-29T12:04:01.751805+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 66, "proceeds": 7851859, "entry_price": 132600, "pnl": -901054, "pnl_pct": -10.11, "hold_from": "2026-07-10T09:26:06.510349+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,729 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,213"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.504496+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 632, "proceeds": 3519683, "entry_price": 6624, "pnl": -667265, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.908063+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.653021+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 761, "proceeds": 4450764, "entry_price": 6390, "pnl": -412755, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.448950+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,958"}, {"label": "추세(60일선)", "ok": true, "detail": "5,613"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:08.208373+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 291, "cost": 1784098, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:12.441362+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 42, "cost": 4776116, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:08.417014+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 42, "proceeds": 4699019, "entry_price": 113700, "pnl": -77097, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:12.441360+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.222272+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 26, "cost": 3403911, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 175169, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:18:10.872229+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6310, "qty": 765, "cost": 4827874, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5799, "target": 7843, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,300 vs 5,621"}, {"label": "정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 하향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,726 / 5,621"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.41% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "87,813 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.41% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T09:22:08.507278+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92000, "qty": 34, "cost": 3128469, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80806, "target": 125581, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,800 vs 75,118"}, {"label": "정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+67.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +276 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.64% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "593,600 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.64% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "70"}]}
+{"ts": "2026-07-30T09:50:07.992279+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 37, "cost": 4677502, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T13:08:08.575309+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 36, "proceeds": 3618131, "entry_price": 122750, "pnl": -801532, "pnl_pct": -17.96, "hold_from": "2026-07-29T09:02:02.907686+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 188,900"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T13:08:08.575548+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 91800, "qty": 52, "cost": 4774316, "path": "pullback", "reason": "눌림목 지정가 94,208 도달", "stop": 91799, "target": 91803, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "91,900 vs 91,798"}, {"label": "정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "추세 기울기(60일선↑)", "ok": null, "detail": "게이트 끔(완화) · 실제 우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "105,680 / 91,798"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -23 · 기 +38 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+44%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.37% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "557,141 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.37% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "44"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,208 (현재 91,900)"}]}
+{"ts": "2026-07-30T13:20:09.180299+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 52, "proceeds": 4759102, "entry_price": 91800, "pnl": -15214, "pnl_pct": -0.11, "hold_from": "2026-07-30T13:08:08.575546+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "91,799 (현재 91,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "91,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -23 · 기 +38"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v296/portfolio.json b/agents/stock/workspace/state/sim/variants/v296/portfolio.json
index fe77c73..699427f 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": 37411808.638000004,
+ "cash": 30020166.7685,
"initial": 100000000,
"positions": {
"055550": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 98500,
+ "cur_price": 100200,
"tranches": 2,
"tranche_value": 4371332.168068898,
"last_add_price": 105800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 126900,
+ "cur_price": 129000,
"tranches": 2,
"tranche_value": 3448434.606240806,
"last_add_price": 130800
@@ -60,32 +60,11 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3417673.0117698065,
"last_add_price": 338000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 80,
- "entry_price": 103750.0,
- "entry_at": "2026-07-21T11:08:01.673418+09:00",
- "stop": 92100,
- "target": 138700,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "immediate",
- "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 4194789.767858763,
- "last_add_price": 105800
- },
"078930": {
"code": "078930",
"name": "GS",
@@ -102,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 1,
"tranche_value": 3055813.2324855765,
"last_add_price": 92800
@@ -123,17 +102,80 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 24650,
+ "cur_price": 24600,
"tranches": 1,
"tranche_value": 4829886.125812501,
"last_add_price": 25650
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 71,
+ "entry_price": 123222.5352112676,
+ "entry_at": "2026-07-30T09:04:08.796564+09:00",
+ "stop": 111000,
+ "target": 159890,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "immediate",
+ "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 4425860.654266699,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 281,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.798504+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1723803.5365682123,
+ "last_add_price": 6130
+ },
+ "138040": {
+ "code": "138040",
+ "name": "메리츠금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 34,
+ "entry_price": 124700,
+ "entry_at": "2026-07-30T11:58:09.775094+09:00",
+ "stop": 113759,
+ "target": 157523,
+ "peak": 124800,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 123100,
+ "tranches": 1,
+ "tranche_value": 4248451.425139817,
+ "last_add_price": 124700
}
},
- "realized_pnl": -24366358.94700003,
- "closed_trades": 65,
+ "realized_pnl": -25345909.14700003,
+ "closed_trades": 66,
"wins": 0,
"peak_equity": 100000000,
- "max_drawdown": 0.2557259136199999,
+ "max_drawdown": 0.259921332315,
"last_exit": {
"083450": "2026-07-06",
"278470": "2026-07-14",
@@ -172,8 +214,9 @@
"252990": "2026-07-27",
"086790": "2026-07-28",
"475150": "2026-07-29",
- "095610": "2026-07-29"
+ "095610": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-16T09:00:03.113416+09:00",
- "updated_at": "2026-07-29T15:28:01.529580+09:00"
+ "updated_at": "2026-07-30T15:28:08.830005+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 0148e7b..e9df455 100644
--- a/agents/stock/workspace/state/sim/variants/v296/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v296/trades.jsonl
@@ -154,3 +154,8 @@
{"ts": "2026-07-29T09:24:16.512599+09:00", "side": "BUY", "code": "475150", "name": "SK이터닉스", "price": 49500, "qty": 63, "cost": 3118968, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 43550, "target": 67750, "signals": [{"label": "손절선", "ok": true, "detail": "43,550 (현재 57,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 67,750"}, {"label": "추세(60일선)", "ok": true, "detail": "48,021"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +832 · 기 -202"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 54,378"}]}
{"ts": "2026-07-29T10:50:06.436555+09:00", "side": "SELL", "code": "475150", "name": "SK이터닉스", "price": 43500, "qty": 126, "proceeds": 5470312, "entry_price": 49550, "pnl": -773924, "pnl_pct": -12.21, "hold_from": "2026-07-29T09:02:03.251105+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "43,550 (현재 43,550)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 70,700"}, {"label": "추세(60일선)", "ok": false, "detail": "47,830"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +596 · 기 -203"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T12:00:06.317119+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 110400, "qty": 19, "proceeds": 2093510, "entry_price": 149158, "pnl": -740915, "pnl_pct": -25.98, "hold_from": "2026-07-09T11:44:04.836352+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "110,758 (현재 110,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 264,357"}, {"label": "추세(60일선)", "ok": true, "detail": "98,957"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +449 · 기 -685"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.796573+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 36, "cost": 4367455, "path": "immediate", "reason": "조건 충족 — 즉시매수(눌림 안 기다림)", "stop": 111000, "target": 152200, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "121,200 vs 118,418"}, {"label": "정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": false, "detail": "지정가 119,347 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:08.798512+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 281, "cost": 1722788, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:13.761907+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 35, "cost": 4382657, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 152200, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 152,200"}, {"label": "추세(60일선)", "ok": true, "detail": "118,488"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T11:58:09.726796+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 80, "proceeds": 7321695, "entry_price": 103750, "pnl": -979550, "pnl_pct": -11.61, "hold_from": "2026-07-21T11:08:01.673418+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 138,700"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T11:58:09.775106+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 124700, "qty": 34, "cost": 4240436, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113759, "target": 157523, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "125,000 vs 110,102"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,460 / 110,102"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,460 / 110,102"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +35 · 기 +392 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+19%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.44% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "743,769 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.44% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v298/portfolio.json b/agents/stock/workspace/state/sim/variants/v298/portfolio.json
index 7083f0b..3763a41 100644
--- a/agents/stock/workspace/state/sim/variants/v298/portfolio.json
+++ b/agents/stock/workspace/state/sim/variants/v298/portfolio.json
@@ -1,5 +1,5 @@
{
- "cash": 16337921.145499967,
+ "cash": 4168055.939499967,
"initial": 100000000,
"positions": {
"055550": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 98500,
+ "cur_price": 100200,
"tranches": 2,
"tranche_value": 5402457.352781249,
"last_add_price": 104900
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 126900,
+ "cur_price": 129000,
"tranches": 2,
"tranche_value": 4939827.041843749,
"last_add_price": 130800
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 5291435.503531248,
"last_add_price": 6020
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 4843602.718718749,
"last_add_price": 338000
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 4883011.806843748,
"last_add_price": 84700
@@ -123,10 +123,52 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,645 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 1,
"tranche_value": 4682248.774874998,
"last_add_price": 19370
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 72,
+ "entry_price": 123195.83333333333,
+ "entry_at": "2026-07-30T09:04:08.808592+09:00",
+ "stop": 111000,
+ "target": 159783,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "immediate",
+ "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 4504266.321593748,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 538,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.809546+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 3302234.573028907,
+ "last_add_price": 6130
}
},
"realized_pnl": -29038556.555000022,
@@ -158,5 +200,5 @@
"003680": "2026-07-29"
},
"created_at": "2026-06-16T09:00:03.113433+09:00",
- "updated_at": "2026-07-29T15:28:01.531220+09:00"
+ "updated_at": "2026-07-30T15:28:08.841587+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 ca0bcb4..c098ec5 100644
--- a/agents/stock/workspace/state/sim/variants/v298/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v298/trades.jsonl
@@ -86,3 +86,6 @@
{"ts": "2026-07-29T10:18:05.773212+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 19370, "qty": 241, "cost": 4668870, "path": "pullback", "reason": "눌림목 지정가 19,645 도달", "stop": 17897, "target": 23788, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "19,360 vs 18,984"}, {"label": "정배열(5>10)", "ok": true, "detail": "19,658 / 18,984"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,658 / 19,365"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+28.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +102 · 기 +138 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+30%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.74% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "847,265 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.74% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "52"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,645 (현재 19,360)"}]}
{"ts": "2026-07-29T12:04:01.755276+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 86, "proceeds": 10231210, "entry_price": 124153, "pnl": -447591, "pnl_pct": -3.99, "hold_from": "2026-07-02T10:18:04.653371+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 163,614"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:16:01.549575+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5510, "qty": 966, "proceeds": 5312281, "entry_price": 6605, "pnl": -1068876, "pnl_pct": -16.58, "hold_from": "2026-07-29T09:02:03.597609+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,581 (현재 5,510)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,677"}, {"label": "추세(10일선)", "ok": true, "detail": "5,196"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.808598+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 37, "cost": 4488773, "path": "immediate", "reason": "조건 충족 — 즉시매수(눌림 안 기다림)", "stop": 111000, "target": 152200, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "121,200 vs 119,680"}, {"label": "정배열(5>10)", "ok": true, "detail": "120,840 / 119,680"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": false, "detail": "지정가 119,680 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:08.809551+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 538, "cost": 3298435, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:13.773831+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 35, "cost": 4382657, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 152200, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 152,200"}, {"label": "추세(10일선)", "ok": true, "detail": "120,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v299/portfolio.json b/agents/stock/workspace/state/sim/variants/v299/portfolio.json
index b7738fb..1b42abe 100644
--- a/agents/stock/workspace/state/sim/variants/v299/portfolio.json
+++ b/agents/stock/workspace/state/sim/variants/v299/portfolio.json
@@ -1,5 +1,5 @@
{
- "cash": 6708691.514999965,
+ "cash": 7883168.794999965,
"initial": 100000000,
"positions": {
"055550": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 98500,
+ "cur_price": 100200,
"tranches": 2,
"tranche_value": 5666061.52171875,
"last_add_price": 99700
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 126900,
+ "cur_price": 129000,
"tranches": 2,
"tranche_value": 4789675.2297187485,
"last_add_price": 130800
@@ -60,32 +60,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 4852421.820656248,
"last_add_price": 6030
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 94,
- "entry_price": 104659.5744680851,
- "entry_at": "2026-07-15T10:30:04.263817+09:00",
- "stop": 92100,
- "target": 142338,
- "peak": 109500,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "immediate",
- "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 4978530.748468748,
- "last_add_price": 106600
- },
"214450": {
"code": "214450",
"name": "파마리서치",
@@ -102,7 +81,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 4623660.577343748,
"last_add_price": 338000
@@ -118,12 +97,12 @@
"entry_at": "2026-07-28T09:58:01.791914+09:00",
"stop": 78664,
"target": 123209,
- "peak": 90000,
+ "peak": 92300,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 1,
"tranche_value": 4476141.774093748,
"last_add_price": 89800
@@ -144,14 +123,56 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,014 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 4465513.872843748,
"last_add_price": 18950
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 520,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.817092+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 3191383.0634775604,
+ "last_add_price": 6130
+ },
+ "138040": {
+ "code": "138040",
+ "name": "메리츠금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 34,
+ "entry_price": 124700,
+ "entry_at": "2026-07-30T11:58:09.791081+09:00",
+ "stop": 113759,
+ "target": 157523,
+ "peak": 124800,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 123100,
+ "tranches": 1,
+ "tranche_value": 4300292.172812498,
+ "last_add_price": 124700
}
},
- "realized_pnl": -30888319.440500032,
- "closed_trades": 35,
+ "realized_pnl": -32124803.75050003,
+ "closed_trades": 36,
"wins": 1,
"peak_equity": 102093754.3635,
"max_drawdown": 0.33274666832749256,
@@ -181,8 +202,9 @@
"024060": "2026-07-27",
"095610": "2026-07-28",
"086790": "2026-07-28",
- "252990": "2026-07-29"
+ "252990": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-16T09:00:03.113489+09:00",
- "updated_at": "2026-07-29T15:28:01.532857+09:00"
+ "updated_at": "2026-07-30T15:28:08.849256+09:00"
}
\ No newline at end of file
diff --git a/agents/stock/workspace/state/sim/variants/v299/trades.jsonl b/agents/stock/workspace/state/sim/variants/v299/trades.jsonl
index 8c63895..9a6c598 100644
--- a/agents/stock/workspace/state/sim/variants/v299/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v299/trades.jsonl
@@ -100,3 +100,6 @@
{"ts": "2026-07-29T09:24:16.532595+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18950, "qty": 235, "cost": 4453918, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 17760, "target": 22160, "signals": [{"label": "손절선", "ok": true, "detail": "17,760 (현재 20,750)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 22,160"}, {"label": "추세(20일선)", "ok": true, "detail": "18,884"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +99 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 19,178"}]}
{"ts": "2026-07-29T09:24:16.533427+09:00", "side": "BUY", "code": "252990", "name": "샘씨엔에스", "price": 11310, "qty": 288, "cost": 3257769, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 10457, "target": 22669, "signals": [{"label": "손절선", "ok": true, "detail": "10,457 (현재 15,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 22,669"}, {"label": "추세(20일선)", "ok": true, "detail": "12,805"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +242 · 기 -182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 14,247"}]}
{"ts": "2026-07-29T10:52:02.418170+09:00", "side": "SELL", "code": "252990", "name": "샘씨엔에스", "price": 10340, "qty": 529, "proceeds": 5459194, "entry_price": 12312, "pnl": -1054973, "pnl_pct": -16.02, "hold_from": "2026-07-27T09:04:07.177342+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,457 (현재 10,340)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 18,229"}, {"label": "추세(20일선)", "ok": false, "detail": "12,592"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +239 · 기 -181"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.817095+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 520, "cost": 3188078, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T11:58:09.790386+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 94, "proceeds": 8602991, "entry_price": 104660, "pnl": -1236484, "pnl_pct": -12.38, "hold_from": "2026-07-15T10:30:04.263817+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 142,338"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T11:58:09.791084+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 124700, "qty": 34, "cost": 4240436, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113759, "target": 157523, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "125,000 vs 113,805"}, {"label": "정배열(5>20)", "ok": true, "detail": "118,460 / 113,805"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,460 / 110,102"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +35 · 기 +392 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+19%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.44% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "743,769 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.44% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v300/portfolio.json b/agents/stock/workspace/state/sim/variants/v300/portfolio.json
index 468cbb4..fb994a5 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": 44733695.42050001,
+ "cash": 28925051.458000004,
"initial": 100000000,
"positions": {
"078930": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 4400054.8290937515,
"last_add_price": 91400
@@ -39,17 +39,59 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,673 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 4306811.880937502,
"last_add_price": 18950
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 1190,
+ "entry_price": 6016.680672268908,
+ "entry_at": "2026-07-30T09:00:24.268702+09:00",
+ "stop": 5014,
+ "target": 9024,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,467 도달",
+ "cur_price": 5800,
+ "tranches": 2,
+ "tranche_value": 3583967.506937563,
+ "last_add_price": 6250
+ },
+ "138040": {
+ "code": "138040",
+ "name": "메리츠금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 61,
+ "entry_price": 125870.4918032787,
+ "entry_at": "2026-07-30T09:16:13.801616+09:00",
+ "stop": 117665,
+ "target": 150488,
+ "peak": 127600,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 123100,
+ "tranches": 2,
+ "tranche_value": 3911926.8573750006,
+ "last_add_price": 127700
}
},
- "realized_pnl": -37952737.93400004,
- "closed_trades": 56,
+ "realized_pnl": -38921206.20400004,
+ "closed_trades": 59,
"wins": 1,
"peak_equity": 100401992.91950001,
- "max_drawdown": 0.39082282291409526,
+ "max_drawdown": 0.3998370977923405,
"last_exit": {
"204320": "2026-06-19",
"003490": "2026-07-09",
@@ -62,7 +104,7 @@
"093370": "2026-07-20",
"009150": "2026-07-10",
"240810": "2026-07-24",
- "214450": "2026-07-29",
+ "214450": "2026-07-30",
"402340": "2026-07-07",
"011070": "2026-07-08",
"055550": "2026-07-20",
@@ -70,13 +112,14 @@
"032830": "2026-07-09",
"319660": "2026-07-29",
"105560": "2026-07-20",
- "095610": "2026-07-29",
+ "095610": "2026-07-30",
"003680": "2026-07-29",
"252990": "2026-07-28",
"086790": "2026-07-28",
"475150": "2026-07-29",
- "138040": "2026-07-29"
+ "138040": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-16T10:45:02.136776+09:00",
- "updated_at": "2026-07-29T15:28:01.538932+09:00"
+ "updated_at": "2026-07-30T15:28:08.868723+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 2ff6250..8e4a7ea 100644
--- a/agents/stock/workspace/state/sim/variants/v300/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v300/trades.jsonl
@@ -138,3 +138,13 @@
{"ts": "2026-07-29T13:02:02.652522+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 107100, "qty": 47, "proceeds": 5023884, "entry_price": 129574, "pnl": -1067029, "pnl_pct": -17.34, "hold_from": "2026-07-27T09:00:17.613773+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "107,275 (현재 107,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 212,755"}, {"label": "추세(40일선)", "ok": false, "detail": "114,682"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +449 · 기 -685"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:04:03.185621+09:00", "side": "SELL", "code": "475150", "name": "SK이터닉스", "price": 42300, "qty": 56, "proceeds": 2364181, "entry_price": 54200, "pnl": -671474, "pnl_pct": -21.96, "hold_from": "2026-07-28T09:12:01.891397+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "42,500 (현재 42,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 89,300"}, {"label": "추세(40일선)", "ok": false, "detail": "47,785"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +702 · 기 -238"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 59,167"}]}
{"ts": "2026-07-29T14:20:01.580688+09:00", "side": "SELL", "code": "138040", "name": "메리츠금융지주", "price": 115500, "qty": 32, "proceeds": 3688793, "entry_price": 123400, "pnl": -260600, "pnl_pct": -6.4, "hold_from": "2026-07-29T10:24:01.521662+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "115,612 (현재 115,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 146,764"}, {"label": "추세(40일선)", "ok": true, "detail": "110,190"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +44 · 기 +333"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,053"}]}
+{"ts": "2026-07-30T09:00:24.268705+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 5800, "qty": 617, "cost": 3579137, "path": "pullback", "reason": "눌림목 지정가 7,467 도달", "stop": 4807, "target": 8779, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "5,850 vs 4,737"}, {"label": "정배열(5>40)", "ok": true, "detail": "6,128 / 4,737"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,128 / 4,862"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+59.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.57% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "35,220 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "0.57% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "57"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,467 (현재 5,850)"}]}
+{"ts": "2026-07-30T09:06:11.822294+09:00", "side": "BUY", "code": "214450", "name": "파마리서치", "price": 380000, "qty": 10, "cost": 3800570, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 345076, "target": 484773, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "380,000 vs 307,250"}, {"label": "정배열(5>40)", "ok": true, "detail": "322,200 / 307,250"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "322,200 / 306,083"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+58.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -271 · 기 +536 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+30%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.55% (환산) vs 평균 0.93% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 334,500"}, {"label": "거래량 급증", "ok": true, "detail": "161,220 (환산) vs 평균 96,436"}, {"label": "회전율 급증", "ok": true, "detail": "1.55% (환산) vs 평균 0.93%"}, {"label": "RSI", "ok": true, "detail": "72"}]}
+{"ts": "2026-07-30T09:08:13.095326+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 115500, "qty": 33, "cost": 3812072, "path": "pullback", "reason": "눌림목 지정가 143,839 도달", "stop": 100700, "target": 159900, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "115,100 vs 114,880"}, {"label": "정배열(5>40)", "ok": true, "detail": "163,660 / 114,880"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "163,660 / 99,035"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+25.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +340 · 기 -345 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+71%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.89% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "559,580 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": false, "detail": "2.89% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 143,839 (현재 115,100)"}]}
+{"ts": "2026-07-30T09:08:13.099987+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6250, "qty": 573, "cost": 3581787, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4807, "target": 8779, "signals": [{"label": "손절선", "ok": true, "detail": "4,807 (현재 6,240)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,779"}, {"label": "추세(40일선)", "ok": true, "detail": "4,747"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +234 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,134"}]}
+{"ts": "2026-07-30T09:16:13.801619+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 124100, "qty": 31, "cost": 3847677, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116280, "target": 147560, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "124,000 vs 110,402"}, {"label": "정배열(5>40)", "ok": true, "detail": "118,260 / 110,402"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,260 / 110,085"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+54.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +9 · 기 +389 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.31% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "518,220 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.31% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T10:10:08.758387+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 30, "cost": 3831575, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116280, "target": 147560, "signals": [{"label": "손절선", "ok": true, "detail": "116,280 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 147,560"}, {"label": "추세(40일선)", "ok": true, "detail": "110,492"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,835"}]}
+{"ts": "2026-07-30T11:14:10.185579+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 94400, "qty": 40, "cost": 3776566, "path": "pullback", "reason": "눌림목 지정가 94,648 도달", "stop": 92100, "target": 101300, "signals": [{"label": "추세(40일선 위)", "ok": true, "detail": "94,300 vs 92,572"}, {"label": "정배열(5>40)", "ok": true, "detail": "106,160 / 92,572"}, {"label": "추세 기울기(40일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +40 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.61% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "615,364 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.61% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "46"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,648 (현재 94,300)"}]}
+{"ts": "2026-07-30T11:18:08.669677+09:00", "side": "SELL", "code": "214450", "name": "파마리서치", "price": 345000, "qty": 10, "proceeds": 3443272, "entry_price": 380000, "pnl": -357298, "pnl_pct": -9.21, "hold_from": "2026-07-30T09:06:11.822288+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "345,076 (현재 345,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 484,773"}, {"label": "추세(40일선)", "ok": true, "detail": "306,375"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -267 · 기 +532"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 391,641"}]}
+{"ts": "2026-07-30T11:58:09.805890+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 40, "proceeds": 3660847, "entry_price": 94400, "pnl": -115719, "pnl_pct": -2.86, "hold_from": "2026-07-30T11:14:10.185578+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 101,300"}, {"label": "추세(40일선)", "ok": false, "detail": "92,510"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 98,436"}]}
+{"ts": "2026-07-30T13:08:09.195441+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 33, "proceeds": 3316620, "entry_price": 115500, "pnl": -495452, "pnl_pct": -12.81, "hold_from": "2026-07-30T09:08:13.095317+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 159,900"}, {"label": "추세(40일선)", "ok": false, "detail": "114,520"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,807"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v301/portfolio.json b/agents/stock/workspace/state/sim/variants/v301/portfolio.json
index 360028c..64ff4d7 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": 31326493.328,
+ "cash": 23633189.505500004,
"initial": 100000000,
"positions": {
"010950": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 126900,
+ "cur_price": 129000,
"tranches": 2,
"tranche_value": 4497110.087925,
"last_add_price": 130800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 4441317.796325,
"last_add_price": 6030
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 4537990.22125,
"last_add_price": 353000
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 4354026.517550001,
"last_add_price": 91400
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,643 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 4438631.677600001,
"last_add_price": 18950
@@ -113,20 +113,41 @@
"sources": [
"auto"
],
- "qty": 33,
- "entry_price": 123400,
+ "qty": 65,
+ "entry_price": 124876.92307692308,
"entry_at": "2026-07-29T10:24:01.523915+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114150,
+ "target": 157057,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4163511.5199,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 595,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.840088+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 3652700.7210219903,
+ "last_add_price": 6130
}
},
"realized_pnl": -20685419.53850001,
@@ -150,5 +171,5 @@
"252990": "2026-07-29"
},
"created_at": "2026-06-16T14:30:00.114884+09:00",
- "updated_at": "2026-07-29T15:28:01.540518+09:00"
+ "updated_at": "2026-07-30T15:28:08.872523+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 48d0d95..4ecbc0e 100644
--- a/agents/stock/workspace/state/sim/variants/v301/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v301/trades.jsonl
@@ -64,3 +64,5 @@
{"ts": "2026-07-29T10:52:02.426541+09:00", "side": "SELL", "code": "252990", "name": "샘씨엔에스", "price": 10340, "qty": 666, "proceeds": 6873011, "entry_price": 12161, "pnl": -1227383, "pnl_pct": -14.97, "hold_from": "2026-07-27T09:12:01.600951+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,340 (현재 10,340)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 17,624"}, {"label": "추세(10일선)", "ok": false, "detail": "12,607"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +239 · 기 -181"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T12:04:01.764920+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 67, "proceeds": 7970827, "entry_price": 132575, "pnl": -913006, "pnl_pct": -10.09, "hold_from": "2026-07-10T09:26:06.523702+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,704 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,187"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.517426+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 1242, "proceeds": 6916846, "entry_price": 6624, "pnl": -1311278, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:03.626992+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(10일선)", "ok": true, "detail": "5,204"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.840090+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 595, "cost": 3647897, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:50:08.620673+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 32, "cost": 4045407, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v302/portfolio.json b/agents/stock/workspace/state/sim/variants/v302/portfolio.json
index d63c3a0..f0041df 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": 29505632.52050002,
+ "cash": 22085889.72600002,
"initial": 100000000,
"positions": {
"010950": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 126900,
+ "cur_price": 129000,
"tranches": 2,
"tranche_value": 4360729.7882,
"last_add_price": 130800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 4412981.9396750005,
"last_add_price": 6030
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 4542977.951950001,
"last_add_price": 353000
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 4183455.6171500003,
"last_add_price": 91400
@@ -102,7 +102,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,673 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 4191774.1235750006,
"last_add_price": 18950
@@ -113,20 +113,41 @@
"sources": [
"auto"
],
- "qty": 31,
- "entry_price": 123400,
+ "qty": 62,
+ "entry_price": 124900.0,
"entry_at": "2026-07-29T10:24:01.525655+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114173,
+ "target": 157080,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 3948679.1633750005,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 571,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.844002+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 3503317.5815307787,
+ "last_add_price": 6130
}
},
"realized_pnl": -23927243.458500024,
@@ -153,5 +174,5 @@
"086790": "2026-07-28"
},
"created_at": "2026-06-16T14:30:00.114893+09:00",
- "updated_at": "2026-07-29T15:28:01.542131+09:00"
+ "updated_at": "2026-07-30T15:28:08.876161+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 fd7faa2..ef73010 100644
--- a/agents/stock/workspace/state/sim/variants/v302/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v302/trades.jsonl
@@ -82,3 +82,5 @@
{"ts": "2026-07-29T09:24:16.960259+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6710, "qty": 581, "cost": 3899095, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5295, "target": 10276, "signals": [{"label": "손절선", "ok": true, "detail": "5,295 (현재 8,460)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 10,276"}, {"label": "추세(20일선)", "ok": true, "detail": "4,732"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +188 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,796"}]}
{"ts": "2026-07-29T10:24:01.525656+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 31, "cost": 3825974, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 154552, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "123,400 vs 113,725"}, {"label": "정배열(5>20)", "ok": true, "detail": "118,140 / 113,725"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T13:14:05.519086+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 1177, "proceeds": 6554853, "entry_price": 6624, "pnl": -1242666, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:03.631107+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(20일선)", "ok": true, "detail": "4,782"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.844004+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 571, "cost": 3500755, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:50:08.624397+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 31, "cost": 3918988, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(20일선)", "ok": true, "detail": "113,865"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v303/portfolio.json b/agents/stock/workspace/state/sim/variants/v303/portfolio.json
index 8fbde71..d1eb76f 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": 50330733.99750002,
+ "cash": 47896822.34600002,
"initial": 100000000,
"positions": {
"010950": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 126900,
+ "cur_price": 129000,
"tranches": 2,
"tranche_value": 3561275.575471075,
"last_add_price": 130800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3616873.7658032966,
"last_add_price": 349500
@@ -60,59 +60,59 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3542431.9465922415,
"last_add_price": 92800
},
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 36,
- "entry_price": 122750.0,
- "entry_at": "2026-07-29T09:02:03.634820+09:00",
- "stop": 100700,
- "target": 188900,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 144,225 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 2262464.716682996,
- "last_add_price": 122600
- },
"138040": {
"code": "138040",
"name": "메리츠금융지주",
"sources": [
"auto"
],
- "qty": 33,
- "entry_price": 123400,
+ "qty": 65,
+ "entry_price": 124876.92307692308,
"entry_at": "2026-07-29T10:24:01.527380+09:00",
- "stop": 113016,
- "target": 154552,
- "peak": 123600,
+ "stop": 114150,
+ "target": 157057,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4093622.4514750005,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 297,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.847875+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1824297.0321790394,
+ "last_add_price": 6130
}
},
- "realized_pnl": -20202646.672500037,
- "closed_trades": 89,
+ "realized_pnl": -21189931.362500038,
+ "closed_trades": 92,
"wins": 2,
"peak_equity": 100085511.5725,
- "max_drawdown": 0.21389287259118173,
+ "max_drawdown": 0.21819861579745808,
"last_exit": {
"017670": "2026-06-19",
"204320": "2026-06-19",
@@ -129,7 +129,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"402340": "2026-07-23",
"004170": "2026-07-23",
@@ -139,10 +139,11 @@
"105560": "2026-07-20",
"222800": "2026-07-21",
"089970": "2026-07-27",
- "095610": "2026-07-28",
+ "095610": "2026-07-30",
"003680": "2026-07-29",
- "138040": "2026-07-28"
+ "138040": "2026-07-28",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-16T14:30:00.114901+09:00",
- "updated_at": "2026-07-29T15:28:01.543780+09:00"
+ "updated_at": "2026-07-30T15:28:08.879646+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 13805a9..bc9e804 100644
--- a/agents/stock/workspace/state/sim/variants/v303/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v303/trades.jsonl
@@ -201,3 +201,10 @@
{"ts": "2026-07-29T10:24:01.527381+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 33, "cost": 4072811, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 154552, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,400 vs 110,075"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T12:04:01.768207+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 65, "proceeds": 7732891, "entry_price": 132574, "pnl": -885701, "pnl_pct": -10.09, "hold_from": "2026-07-10T09:26:06.527124+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,703 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,186"}, {"label": "추세(60일선)", "ok": true, "detail": "118,387"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.520990+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 642, "proceeds": 3575374, "entry_price": 6624, "pnl": -677833, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:03.635300+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,697"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.847877+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 297, "cost": 1820883, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:13.118744+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 35, "cost": 3980097, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113703, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:09.047547+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 35, "proceeds": 3915849, "entry_price": 113700, "pnl": -64248, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:13.118741+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:50:08.628115+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 32, "cost": 4045407, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 154552, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 154,552"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T11:14:10.192886+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 94400, "qty": 42, "cost": 3965395, "path": "pullback", "reason": "눌림목 지정가 94,648 도달", "stop": 92100, "target": 101300, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "94,300 vs 91,838"}, {"label": "정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -7 · 기 +40 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.61% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "615,364 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "2.61% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "46"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,648 (현재 94,300)"}]}
+{"ts": "2026-07-30T11:58:09.819708+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 42, "proceeds": 3843890, "entry_price": 94400, "pnl": -121505, "pnl_pct": -2.86, "hold_from": "2026-07-30T11:14:10.192885+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 101,300"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 98,436"}]}
+{"ts": "2026-07-30T13:08:09.212259+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 36, "proceeds": 3618131, "entry_price": 122750, "pnl": -801532, "pnl_pct": -17.96, "hold_from": "2026-07-29T09:02:03.634820+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 188,900"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v304/portfolio.json b/agents/stock/workspace/state/sim/variants/v304/portfolio.json
index 310aa77..973ad7c 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": 60681952.93649999,
+ "cash": 59281315.866,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 1541443.3087531894,
"last_add_price": 358500
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 67,
- "entry_price": 100570.14925373135,
- "entry_at": "2026-07-22T15:18:03.039315+09:00",
- "stop": 92100,
- "target": 113275,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,784 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 3422505.993388654,
- "last_add_price": 102600
- },
"078930": {
"code": "078930",
"name": "GS",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 1493175.7536818886,
"last_add_price": 92800
@@ -81,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 25,331 도달",
- "cur_price": 24650,
+ "cur_price": 24600,
"tranches": 2,
"tranche_value": 3374000.0988983824,
"last_add_price": 26750
@@ -97,22 +76,85 @@
"entry_at": "2026-07-29T09:02:03.639482+09:00",
"stop": 111200,
"target": 131200,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 3651482.705770833,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 41,
+ "entry_price": 123202.43902439025,
+ "entry_at": "2026-07-30T09:04:08.851031+09:00",
+ "stop": 111000,
+ "target": 141506,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 2548075.876504235,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 129,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.851553+09:00",
+ "stop": 4459,
+ "target": 8636,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 794256.6057127393,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 11,
+ "entry_price": 129300,
+ "entry_at": "2026-07-30T09:14:09.107625+09:00",
+ "stop": 110855,
+ "target": 156968,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 1528849.7285459202,
+ "last_add_price": 129300
}
},
- "realized_pnl": -12943441.466000041,
- "closed_trades": 134,
+ "realized_pnl": -13817829.611000042,
+ "closed_trades": 137,
"wins": 2,
"peak_equity": 100036582.48,
- "max_drawdown": 0.13991561083464973,
+ "max_drawdown": 0.14231910228287126,
"last_exit": {
"017670": "2026-06-23",
"178320": "2026-06-23",
@@ -134,19 +176,20 @@
"402340": "2026-07-23",
"034730": "2026-07-28",
"004170": "2026-07-23",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"032830": "2026-07-27",
"028260": "2026-07-23",
"003490": "2026-07-23",
"214450": "2026-07-15",
- "095610": "2026-07-29",
+ "095610": "2026-07-30",
"089970": "2026-07-28",
"010950": "2026-07-29",
"105560": "2026-07-29",
"252990": "2026-07-29",
"055550": "2026-07-29",
- "003680": "2026-07-29"
+ "003680": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-22T09:00:04.885275+09:00",
- "updated_at": "2026-07-29T15:28:01.545418+09:00"
+ "updated_at": "2026-07-30T15:28:08.882785+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 e95bcad..f2d740b 100644
--- a/agents/stock/workspace/state/sim/variants/v304/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v304/trades.jsonl
@@ -293,3 +293,12 @@
{"ts": "2026-07-29T12:00:06.335710+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 110400, "qty": 10, "proceeds": 1101847, "entry_price": 136800, "pnl": -266358, "pnl_pct": -19.3, "hold_from": "2026-07-22T15:04:01.083816+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "110,868 (현재 110,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 190,950"}, {"label": "추세(60일선)", "ok": true, "detail": "98,957"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +449 · 기 -685"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T12:04:02.045644+09:00", "side": "SELL", "code": "055550", "name": "신한지주", "price": 97000, "qty": 16, "proceeds": 1548974, "entry_price": 110600, "pnl": -220892, "pnl_pct": -12.3, "hold_from": "2026-07-10T09:22:05.472935+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "96,960 (현재 96,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 131,061"}, {"label": "추세(60일선)", "ok": true, "detail": "96,407"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +466 · 기 -451"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 113,142"}]}
{"ts": "2026-07-29T13:22:01.673576+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5360, "qty": 301, "proceeds": 1610214, "entry_price": 6936, "pnl": -477919, "pnl_pct": -22.73, "hold_from": "2026-07-28T09:00:25.383287+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,442 (현재 5,360)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,178"}, {"label": "추세(60일선)", "ok": true, "detail": "4,854"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.851034+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 21, "cost": 2547682, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 136750, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "121,200 vs 118,418"}, {"label": "정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:08.851555+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 129, "cost": 790889, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4459, "target": 8636, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:13.122906+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 115500, "qty": 14, "cost": 1617243, "path": "pullback", "reason": "눌림목 지정가 154,893 도달", "stop": 100700, "target": 137700, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "115,100 vs 99,035"}, {"label": "정배열(5>60)", "ok": true, "detail": "163,660 / 99,035"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "163,660 / 99,035"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+25.8%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +340 · 기 -345 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+71%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.89% (환산) vs 평균 3.06% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "559,580 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": false, "detail": "2.89% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,893 (현재 115,100)"}]}
+{"ts": "2026-07-30T09:08:13.123160+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 31, "cost": 3525229, "path": "pullback", "reason": "눌림목 지정가 165,655 도달", "stop": 113699, "target": 113702, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 165,655 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:09.050779+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 31, "proceeds": 3468324, "entry_price": 113700, "pnl": -56905, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:13.123157+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:14:09.107629+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 129300, "qty": 11, "cost": 1422513, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 110855, "target": 156968, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "129,000 vs 113,180"}, {"label": "정배열(5>60)", "ok": true, "detail": "114,980 / 113,180"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "114,980 / 113,180"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.9%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+23%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.43% (환산) vs 평균 0.32% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "485,820 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.43% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
+{"ts": "2026-07-30T09:16:13.817179+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 20, "cost": 2504376, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 136750, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 136,750"}, {"label": "추세(60일선)", "ok": true, "detail": "118,488"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T11:58:09.822703+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 67, "proceeds": 6131919, "entry_price": 100570, "pnl": -607291, "pnl_pct": -8.82, "hold_from": "2026-07-22T15:18:03.039315+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,275"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T13:08:09.215536+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 14, "proceeds": 1407051, "entry_price": 115500, "pnl": -210192, "pnl_pct": -12.81, "hold_from": "2026-07-30T09:08:13.122903+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 137,700"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,807"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v305/portfolio.json b/agents/stock/workspace/state/sim/variants/v305/portfolio.json
index abbc387..87f8adf 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": 45749062.93499999,
+ "cash": 44582478.28549998,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 2518293.2056913,
"last_add_price": 349500
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 85,
- "entry_price": 100576.4705882353,
- "entry_at": "2026-07-22T15:18:03.041548+09:00",
- "stop": 92100,
- "target": 117529,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,784 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 4331643.114424999,
- "last_add_price": 102600
- },
"078930": {
"code": "078930",
"name": "GS",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 2431814.0917408336,
"last_add_price": 92200
@@ -81,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 25,331 도달",
- "cur_price": 24650,
+ "cur_price": 24600,
"tranches": 2,
"tranche_value": 4377506.593399999,
"last_add_price": 26750
@@ -97,12 +76,12 @@
"entry_at": "2026-07-29T09:02:03.643352+09:00",
"stop": 111200,
"target": 135143,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 4205999.225949999,
"last_add_price": 120500
@@ -123,17 +102,59 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 126900,
+ "cur_price": 129000,
"tranches": 1,
"tranche_value": 2510568.839116163,
"last_add_price": 131400
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 59,
+ "entry_price": 123216.94915254238,
+ "entry_at": "2026-07-30T09:04:08.854688+09:00",
+ "stop": 111000,
+ "target": 147651,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 3659057.0257337983,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 211,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.855001+09:00",
+ "stop": 4660,
+ "target": 9071,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1296579.7110485965,
+ "last_add_price": 6130
}
},
- "realized_pnl": -16636845.797500046,
- "closed_trades": 124,
+ "realized_pnl": -17789198.312500052,
+ "closed_trades": 127,
"wins": 2,
"peak_equity": 100139236.48850003,
- "max_drawdown": 0.18029469952642813,
+ "max_drawdown": 0.18396370078291563,
"last_exit": {
"017670": "2026-06-23",
"178320": "2026-06-23",
@@ -154,19 +175,20 @@
"034730": "2026-07-28",
"402340": "2026-07-23",
"084370": "2026-07-09",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"032830": "2026-07-24",
"004170": "2026-07-23",
"028260": "2026-07-22",
"003490": "2026-07-23",
"214450": "2026-07-20",
- "095610": "2026-07-29",
+ "095610": "2026-07-30",
"105560": "2026-07-20",
"055550": "2026-07-28",
"252990": "2026-07-28",
"010950": "2026-07-28",
- "003680": "2026-07-29"
+ "003680": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-22T09:00:04.885286+09:00",
- "updated_at": "2026-07-29T15:28:01.547043+09:00"
+ "updated_at": "2026-07-30T15:28:08.885682+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 979d874..e2b5d18 100644
--- a/agents/stock/workspace/state/sim/variants/v305/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v305/trades.jsonl
@@ -276,3 +276,11 @@
{"ts": "2026-07-29T09:52:02.456041+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131400, "qty": 19, "cost": 2496974, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 114807, "target": 164587, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "131,100 vs 113,215"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,400 / 113,215"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,400 / 113,215"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.5%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 +43 · 기 +245 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.9/5"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.50% (환산) vs 평균 0.32% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "567,993 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.50% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
{"ts": "2026-07-29T10:18:05.822769+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 116400, "qty": 17, "proceeds": 1974941, "entry_price": 137218, "pnl": -358109, "pnl_pct": -15.17, "hold_from": "2026-07-22T15:04:01.085919+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "116,536 (현재 115,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 210,253"}, {"label": "추세(60일선)", "ok": true, "detail": "99,047"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +445 · 기 -685"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:20:03.728879+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5410, "qty": 454, "proceeds": 2451351, "entry_price": 6624, "pnl": -556341, "pnl_pct": -18.33, "hold_from": "2026-07-29T09:02:03.643097+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,497 (현재 5,490)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,877"}, {"label": "추세(60일선)", "ok": true, "detail": "4,856"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.854690+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 30, "cost": 3639546, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 141900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "121,200 vs 118,418"}, {"label": "정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:08.855003+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 211, "cost": 1293624, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4660, "target": 9071, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:13.126840+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 115500, "qty": 21, "cost": 2425864, "path": "pullback", "reason": "눌림목 지정가 154,893 도달", "stop": 100700, "target": 145100, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "115,100 vs 99,035"}, {"label": "정배열(5>60)", "ok": true, "detail": "163,660 / 99,035"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "163,660 / 99,035"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+25.8%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 +340 · 기 -345 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+71%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.89% (환산) vs 평균 3.06% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "559,580 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": false, "detail": "2.89% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,893 (현재 115,100)"}]}
+{"ts": "2026-07-30T09:08:13.127103+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 36, "cost": 4093814, "path": "pullback", "reason": "눌림목 지정가 165,655 도달", "stop": 113699, "target": 113702, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 165,655 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:09.053741+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 36, "proceeds": 4027731, "entry_price": 113700, "pnl": -66083, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:13.127100+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.820207+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 29, "cost": 3631345, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 141900, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 141,900"}, {"label": "추세(60일선)", "ok": true, "detail": "118,488"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T11:58:09.825642+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 85, "proceeds": 7779301, "entry_price": 100576, "pnl": -770982, "pnl_pct": -8.83, "hold_from": "2026-07-22T15:18:03.041548+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 117,529"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T13:08:09.218551+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 21, "proceeds": 2110576, "entry_price": 115500, "pnl": -315287, "pnl_pct": -12.81, "hold_from": "2026-07-30T09:08:13.126838+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 145,100"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,807"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v306/portfolio.json b/agents/stock/workspace/state/sim/variants/v306/portfolio.json
index 4920cfe..735561f 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": 25783681.483999986,
+ "cash": 30491422.933999985,
"initial": 100000000,
"positions": {
"090850": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 5795785.200968751,
"last_add_price": 6030
@@ -39,32 +39,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 4001941.6430547875,
"last_add_price": 353000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 112,
- "entry_price": 101115.17857142857,
- "entry_at": "2026-07-22T09:04:02.223675+09:00",
- "stop": 92100,
- "target": 119146,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5697846.5995,
- "last_add_price": 103100
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -81,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,032 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5568373.021031249,
"last_add_price": 18950
@@ -97,12 +76,12 @@
"entry_at": "2026-07-29T09:02:03.646966+09:00",
"stop": 111200,
"target": 135157,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5455736.499937499,
"last_add_price": 120500
@@ -123,7 +102,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 126900,
+ "cur_price": 129000,
"tranches": 1,
"tranche_value": 3831166.3013964198,
"last_add_price": 131400
@@ -134,27 +113,48 @@
"sources": [
"auto"
],
- "qty": 40,
- "entry_price": 88200,
+ "qty": 79,
+ "entry_price": 89977.21518987342,
"entry_at": "2026-07-29T10:10:03.570762+09:00",
- "stop": 77406,
- "target": 109787,
- "peak": 88900,
+ "stop": 78812,
+ "target": 112307,
+ "peak": 92300,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
- "tranches": 1,
+ "cur_price": 85700,
+ "tranches": 2,
"tranche_value": 3613055.2890175097,
- "last_add_price": 88200
+ "last_add_price": 91800
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 320,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:08.858054+09:00",
+ "stop": 4793,
+ "target": 8804,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1966668.8608710542,
+ "last_add_price": 6130
}
},
- "realized_pnl": -14360161.439000018,
- "closed_trades": 27,
+ "realized_pnl": -15436387.454000019,
+ "closed_trades": 28,
"wins": 1,
"peak_equity": 102728958.65750001,
- "max_drawdown": 0.1750955855930582,
+ "max_drawdown": 0.1762834546379187,
"last_exit": {
"403870": "2026-07-07",
"009150": "2026-07-06",
@@ -172,8 +172,9 @@
"252990": "2026-07-28",
"086790": "2026-07-28",
"010950": "2026-07-28",
- "003680": "2026-07-29"
+ "003680": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-22T09:00:04.885297+09:00",
- "updated_at": "2026-07-29T15:28:01.548667+09:00"
+ "updated_at": "2026-07-30T15:28:08.888478+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 3145def..c0afee7 100644
--- a/agents/stock/workspace/state/sim/variants/v306/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v306/trades.jsonl
@@ -80,3 +80,6 @@
{"ts": "2026-07-29T09:52:02.457766+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131400, "qty": 29, "cost": 3811172, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116315, "target": 161570, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "131,100 vs 108,880"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,400 / 108,880"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,400 / 113,215"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +43 · 기 +245 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.9/5"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.50% (환산) vs 평균 0.32% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "567,993 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.50% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
{"ts": "2026-07-29T10:10:03.570763+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 40, "cost": 3528529, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77406, "target": 109787, "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": "+58.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -65 · 기 +296 (천주)"}, {"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.64% (환산) vs 평균 0.42% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "590,411 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.64% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T13:14:05.525859+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 691, "proceeds": 3848261, "entry_price": 6624, "pnl": -729535, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:03.646426+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,672"}, {"label": "추세(20일선)", "ok": true, "detail": "4,782"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:08.858056+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 320, "cost": 1961894, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 8804, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:13.823328+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91800, "qty": 39, "cost": 3580737, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77406, "target": 109787, "signals": [{"label": "손절선", "ok": true, "detail": "77,406 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,787"}, {"label": "추세(20일선)", "ok": true, "detail": "75,250"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -49 · 기 +276"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,991"}]}
+{"ts": "2026-07-30T11:58:09.828491+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 112, "proceeds": 10250373, "entry_price": 101115, "pnl": -1076226, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:02.223675+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,146"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v307/portfolio.json b/agents/stock/workspace/state/sim/variants/v307/portfolio.json
index e51904a..c81e05d 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": 75704036.36549993,
+ "cash": 67892783.25849992,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 2312659.7890401366,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 2272740.2217699476,
"last_add_price": 92800
@@ -60,38 +60,80 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 66,722 도달",
- "cur_price": 43200,
+ "cur_price": 41950,
"tranches": 1,
"tranche_value": 963230.6420236498,
"last_add_price": 57200
},
- "095610": {
- "code": "095610",
- "name": "테스",
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
"sources": [
"auto"
],
- "qty": 20,
- "entry_price": 125000.0,
- "entry_at": "2026-07-28T09:00:25.685634+09:00",
- "stop": 100700,
- "target": 173600,
- "peak": 177000,
+ "qty": 196,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:09.441073+09:00",
+ "stop": 4793,
+ "target": 8804,
+ "peak": 6330,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
- "entry_reason": "눌림목 지정가 145,639 도달",
- "cur_price": 113300,
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1203208.5458201522,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 17,
+ "entry_price": 129300,
+ "entry_at": "2026-07-30T09:14:09.700315+09:00",
+ "stop": 114544,
+ "target": 158813,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 2306480.448467309,
+ "last_add_price": 129300
+ },
+ "138040": {
+ "code": "138040",
+ "name": "메리츠금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 49,
+ "entry_price": 125863.26530612246,
+ "entry_at": "2026-07-30T09:16:13.826278+09:00",
+ "stop": 114922,
+ "target": 147745,
+ "peak": 127600,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 123100,
"tranches": 2,
- "tranche_value": 1285478.848705123,
- "last_add_price": 122600
+ "tranche_value": 3136055.5079668667,
+ "last_add_price": 127700
}
},
- "realized_pnl": -12208750.824500052,
- "closed_trades": 83,
+ "realized_pnl": -12952063.899500053,
+ "closed_trades": 86,
"wins": 1,
"peak_equity": 100266527.41749999,
- "max_drawdown": 0.13203101167428602,
+ "max_drawdown": 0.1391645299622164,
"last_exit": {
"033640": "2026-07-01",
"307950": "2026-07-01",
@@ -104,7 +146,7 @@
"093370": "2026-07-20",
"034730": "2026-07-28",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"003490": "2026-07-09",
"402340": "2026-07-22",
@@ -113,12 +155,13 @@
"055550": "2026-07-20",
"105560": "2026-07-20",
"089970": "2026-07-27",
- "095610": "2026-07-27",
+ "095610": "2026-07-30",
"086790": "2026-07-27",
"003680": "2026-07-29",
"010950": "2026-07-29",
- "138040": "2026-07-29"
+ "138040": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-22T09:00:04.885305+09:00",
- "updated_at": "2026-07-29T15:28:01.550442+09:00"
+ "updated_at": "2026-07-30T15:28:09.474900+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 ecb02b1..ed26313 100644
--- a/agents/stock/workspace/state/sim/variants/v307/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v307/trades.jsonl
@@ -188,3 +188,12 @@
{"ts": "2026-07-29T09:24:17.395591+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6710, "qty": 207, "cost": 1389178, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5295, "target": 9031, "signals": [{"label": "손절선", "ok": true, "detail": "5,295 (현재 8,460)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,031"}, {"label": "추세(60일선)", "ok": true, "detail": "4,850"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +188 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,796"}]}
{"ts": "2026-07-29T13:14:05.527850+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 419, "proceeds": 2333461, "entry_price": 6624, "pnl": -442405, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:03.650415+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,672"}, {"label": "추세(60일선)", "ok": true, "detail": "4,858"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:18:03.616121+09:00", "side": "SELL", "code": "138040", "name": "메리츠금융지주", "price": 116600, "qty": 26, "proceeds": 3025688, "entry_price": 127200, "pnl": -282008, "pnl_pct": -8.33, "hold_from": "2026-07-27T09:16:05.127190+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "116,973 (현재 116,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 147,653"}, {"label": "추세(60일선)", "ok": true, "detail": "109,962"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +52 · 기 +313"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 129,814"}]}
+{"ts": "2026-07-30T09:04:09.441078+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 196, "cost": 1201660, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 8804, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:08:13.716363+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 48, "cost": 5458419, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113702, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:09.644094+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 48, "proceeds": 5370307, "entry_price": 113700, "pnl": -88111, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:13.716352+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:14:09.700321+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 129300, "qty": 17, "cost": 2198430, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 114544, "target": 158813, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "129,000 vs 113,180"}, {"label": "정배열(5>60)", "ok": true, "detail": "114,980 / 113,180"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "114,980 / 113,180"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.9%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+23%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.43% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "485,820 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.43% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
+{"ts": "2026-07-30T09:16:13.826281+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 124100, "qty": 25, "cost": 3102965, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113673, "target": 144953, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "124,000 vs 110,085"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,260 / 110,085"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,260 / 110,085"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+54.4%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +9 · 기 +389 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.31% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "518,220 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.31% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T10:10:09.367466+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 24, "cost": 3065260, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113673, "target": 144953, "signals": [{"label": "손절선", "ok": true, "detail": "113,673 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,953"}, {"label": "추세(60일선)", "ok": true, "detail": "110,145"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,835"}]}
+{"ts": "2026-07-30T11:14:10.785323+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 94400, "qty": 57, "cost": 5381607, "path": "pullback", "reason": "눌림목 지정가 94,648 도달", "stop": 92100, "target": 99000, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "94,300 vs 91,838"}, {"label": "정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.2%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -7 · 기 +40 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.61% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": true, "detail": "615,364 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": true, "detail": "2.61% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "46"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,648 (현재 94,300)"}]}
+{"ts": "2026-07-30T11:58:10.416158+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 57, "proceeds": 5216708, "entry_price": 94400, "pnl": -164900, "pnl_pct": -2.86, "hold_from": "2026-07-30T11:14:10.785313+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 99,000"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 98,436"}]}
+{"ts": "2026-07-30T13:08:09.815044+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 20, "proceeds": 2010073, "entry_price": 125000, "pnl": -490302, "pnl_pct": -19.44, "hold_from": "2026-07-28T09:00:25.685634+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 173,600"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v308/portfolio.json b/agents/stock/workspace/state/sim/variants/v308/portfolio.json
index d0bc216..2bf9cc4 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": 43129146.18799993,
+ "cash": 37896681.91299993,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 4091526.4858662924,
"last_add_price": 346500
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 110,
- "entry_price": 101114.54545454546,
- "entry_at": "2026-07-22T09:04:02.232297+09:00",
- "stop": 92100,
- "target": 119144,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5579733.175874996,
- "last_add_price": 103100
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,032 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5436948.876062496,
"last_add_price": 18950
@@ -76,22 +55,106 @@
"entry_at": "2026-07-29T09:02:03.653840+09:00",
"stop": 111200,
"target": 135155,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5277899.060343745,
"last_add_price": 120500
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 348,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:09.454453+09:00",
+ "stop": 4927,
+ "target": 8536,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2136566.0520882774,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 31,
+ "entry_price": 129300,
+ "entry_at": "2026-07-30T09:14:09.710709+09:00",
+ "stop": 116019,
+ "target": 155861,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 4119469.484194937,
+ "last_add_price": 129300
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 842,
+ "entry_price": 6280,
+ "entry_at": "2026-07-30T09:16:13.859575+09:00",
+ "stop": 5824,
+ "target": 7192,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5291635.3098124955,
+ "last_add_price": 6280
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 42,
+ "entry_price": 92100,
+ "entry_at": "2026-07-30T09:18:12.167911+09:00",
+ "stop": 82051,
+ "target": 112197,
+ "peak": 92300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 3883944.7920864224,
+ "last_add_price": 92100
}
},
- "realized_pnl": -16696818.61050002,
- "closed_trades": 40,
+ "realized_pnl": -17753756.650500022,
+ "closed_trades": 41,
"wins": 5,
"peak_equity": 103214817.49949999,
- "max_drawdown": 0.19408416152648916,
+ "max_drawdown": 0.20427450338322017,
"last_exit": {
"403870": "2026-07-07",
"000660": "2026-06-29",
@@ -114,8 +177,9 @@
"252990": "2026-07-28",
"003680": "2026-07-29",
"090850": "2026-07-29",
- "078930": "2026-07-29"
+ "078930": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-22T09:00:04.885314+09:00",
- "updated_at": "2026-07-29T15:28:01.552049+09:00"
+ "updated_at": "2026-07-30T15:28:09.484824+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 b275c6e..c5e7486 100644
--- a/agents/stock/workspace/state/sim/variants/v308/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v308/trades.jsonl
@@ -109,3 +109,8 @@
{"ts": "2026-07-29T09:24:17.401106+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 6290, "qty": 1841, "proceeds": 11557309, "entry_price": 6234, "pnl": 78188, "pnl_pct": 0.89, "hold_from": "2026-07-16T09:14:04.439470+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,770 (현재 5,690)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,162"}, {"label": "추세(20일선)", "ok": true, "detail": "5,306"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T09:24:17.401366+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 87700, "qty": 82, "proceeds": 7177377, "entry_price": 95959, "pnl": -692404, "pnl_pct": -8.61, "hold_from": "2026-07-24T09:14:01.599437+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "85,216 (현재 83,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 117,444"}, {"label": "추세(20일선)", "ok": true, "detail": "74,040"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -59 · 기 +284"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:06:06.641611+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5690, "qty": 743, "proceeds": 4219426, "entry_price": 6624, "pnl": -702922, "pnl_pct": -14.1, "hold_from": "2026-07-29T09:02:03.653431+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,702 (현재 5,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,468"}, {"label": "추세(20일선)", "ok": true, "detail": "4,787"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:09.454462+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 348, "cost": 2133560, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4927, "target": 8536, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:14:09.710715+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 129300, "qty": 31, "cost": 4008901, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116019, "target": 155861, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "129,000 vs 108,775"}, {"label": "정배열(5>20)", "ok": true, "detail": "114,980 / 108,775"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "114,980 / 113,180"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+23%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.43% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "485,820 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.43% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
+{"ts": "2026-07-30T09:16:13.859578+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6280, "qty": 842, "cost": 5288553, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5824, "target": 7192, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,270 vs 5,353"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,720 / 5,353"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,720 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.33% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "71,467 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.33% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
+{"ts": "2026-07-30T09:18:12.167927+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92100, "qty": 42, "cost": 3868780, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 82051, "target": 112197, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "92,200 vs 75,270"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,800 / 75,270"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,800 / 75,125"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+68.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +276 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.57% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "531,713 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.57% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
+{"ts": "2026-07-30T11:58:10.427181+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 110, "proceeds": 10067330, "entry_price": 101115, "pnl": -1056938, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:02.232297+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,144"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v309/portfolio.json b/agents/stock/workspace/state/sim/variants/v309/portfolio.json
index 827d4e9..31e5b3a 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": 29682653.095499944,
+ "cash": 21618057.322499946,
"initial": 100000000,
"positions": {
- "214450": {
- "code": "214450",
- "name": "파마리서치",
- "sources": [
- "auto"
- ],
- "qty": 35,
- "entry_price": 318600.0,
- "entry_at": "2026-07-10T09:00:33.035507+09:00",
- "stop": 361272,
- "target": 393054,
- "peak": 397000,
- "trailing_on": true,
- "scaled_out": false,
- "entry_path": "immediate",
- "entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 390500,
- "tranches": 2,
- "tranche_value": 5662017.171948669,
- "last_add_price": 324000
- },
"055550": {
"code": "055550",
"name": "신한지주",
@@ -34,12 +13,12 @@
"entry_at": "2026-07-29T09:02:04.008229+09:00",
"stop": 94205,
"target": 119849,
- "peak": 103500,
+ "peak": 104450,
"trailing_on": false,
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 98500,
+ "cur_price": 100200,
"tranches": 2,
"tranche_value": 6938801.472958329,
"last_add_price": 102800
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 126900,
+ "cur_price": 129000,
"tranches": 2,
"tranche_value": 5861557.685734485,
"last_add_price": 132000
@@ -81,15 +60,78 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,161 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 6690702.074333329,
"last_add_price": 19320
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 99,
+ "entry_price": 123230.30303030302,
+ "entry_at": "2026-07-30T09:04:09.463747+09:00",
+ "stop": 113277,
+ "target": 148113,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 123,992 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 6165364.773487983,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 504,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:09.464575+09:00",
+ "stop": 5127,
+ "target": 8636,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,925 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 3093906.011390296,
+ "last_add_price": 6130
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 60,
+ "entry_price": 90000,
+ "entry_at": "2026-07-30T09:56:14.521786+09:00",
+ "stop": 81605,
+ "target": 110988,
+ "peak": 90700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 5478353.155914975,
+ "last_add_price": 90000
}
},
- "realized_pnl": -20408491.699000023,
- "closed_trades": 30,
- "wins": 1,
+ "realized_pnl": -18933336.72400002,
+ "closed_trades": 31,
+ "wins": 2,
"peak_equity": 100204129.27299997,
"max_drawdown": 0.20119516355033384,
"last_exit": {
@@ -101,7 +143,7 @@
"093370": "2026-07-03",
"034730": "2026-07-08",
"240810": "2026-07-08",
- "214450": "2026-07-09",
+ "214450": "2026-07-30",
"009150": "2026-07-07",
"319660": "2026-07-22",
"095610": "2026-07-23",
@@ -117,5 +159,5 @@
"078930": "2026-07-29"
},
"created_at": "2026-06-22T09:00:04.885323+09:00",
- "updated_at": "2026-07-29T15:28:01.553656+09:00"
+ "updated_at": "2026-07-30T15:28:09.492586+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 b6d4368..2d97009 100644
--- a/agents/stock/workspace/state/sim/variants/v309/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v309/trades.jsonl
@@ -83,3 +83,8 @@
{"ts": "2026-07-29T10:06:02.099969+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 132000, "qty": 44, "cost": 5808871, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116686, "target": 156284, "signals": [{"label": "손절선", "ok": true, "detail": "116,686 (현재 131,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 156,284"}, {"label": "추세(10일선)", "ok": true, "detail": "108,660"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +245"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 131,771"}]}
{"ts": "2026-07-29T11:32:05.718379+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6120, "qty": 1094, "proceeds": 6682224, "entry_price": 6624, "pnl": -565423, "pnl_pct": -7.61, "hold_from": "2026-07-29T09:02:04.356536+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,856 (현재 5,770)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,544"}, {"label": "추세(10일선)", "ok": true, "detail": "5,222"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:32:04.594968+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 81000, "qty": 129, "proceeds": 10428624, "entry_price": 91214, "pnl": -1339741, "pnl_pct": -11.2, "hold_from": "2026-07-23T10:24:02.326263+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "82,797 (현재 82,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 112,256"}, {"label": "추세(10일선)", "ok": true, "detail": "80,300"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -74 · 기 +296"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:09.463752+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 50, "cost": 6065910, "path": "pullback", "reason": "눌림목 지정가 123,992 도달", "stop": 111347, "target": 146183, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "121,200 vs 119,680"}, {"label": "정배열(5>10)", "ok": true, "detail": "120,840 / 119,680"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 123,992 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:09.464580+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 504, "cost": 3089983, "path": "pullback", "reason": "눌림목 지정가 7,925 도달", "stop": 5127, "target": 8636, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,925 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:13.862551+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 49, "cost": 6135720, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111347, "target": 146183, "signals": [{"label": "손절선", "ok": true, "detail": "111,347 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 146,183"}, {"label": "추세(10일선)", "ok": true, "detail": "120,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:56:14.097643+09:00", "side": "SELL", "code": "214450", "name": "파마리서치", "price": 361500, "qty": 35, "proceeds": 12627828, "entry_price": 318600, "pnl": 1475155, "pnl_pct": 13.47, "hold_from": "2026-07-10T09:00:33.035507+09:00", "reason": "트레일링 익절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "362,076 (현재 361,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(10일선)", "ok": true, "detail": "307,500"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -271 · 기 +536"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:56:14.521801+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90000, "qty": 60, "cost": 5400810, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 81605, "target": 110988, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "89,900 vs 81,070"}, {"label": "정배열(5>10)", "ok": true, "detail": "83,340 / 81,070"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,340 / 75,087"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.2%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 -49 · 기 +276 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+15%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.09% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "1,005,167 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "1.09% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v310/portfolio.json b/agents/stock/workspace/state/sim/variants/v310/portfolio.json
index f7eb37a..a91a43b 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": 68256238.72899994,
+ "cash": 57929458.37599994,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 324,000 도달",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 2514022.686329285,
"last_add_price": 337500
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 59,
- "entry_price": 102766.10169491525,
- "entry_at": "2026-07-24T09:28:05.736242+09:00",
- "stop": 92100,
- "target": 134764,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 106,500 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 3060336.08961186,
- "last_add_price": 104800
- },
"003490": {
"code": "003490",
"name": "대한항공",
@@ -60,38 +39,101 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 26,600 도달",
- "cur_price": 24650,
+ "cur_price": 24600,
"tranches": 1,
"tranche_value": 3334237.1941591105,
"last_add_price": 25650
},
- "095610": {
- "code": "095610",
- "name": "테스",
+ "055550": {
+ "code": "055550",
+ "name": "신한지주",
"sources": [
"auto"
],
- "qty": 22,
- "entry_price": 122750.0,
- "entry_at": "2026-07-29T09:02:04.379570+09:00",
- "stop": 100700,
- "target": 188900,
- "peak": 177000,
+ "qty": 75,
+ "entry_price": 99632.0,
+ "entry_at": "2026-07-30T09:04:09.522513+09:00",
+ "stop": 91700,
+ "target": 123428,
+ "peak": 104450,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
- "entry_reason": "눌림목 지정가 177,000 도달",
- "cur_price": 113300,
+ "entry_reason": "눌림목 지정가 99,600 도달",
+ "cur_price": 100200,
"tranches": 2,
- "tranche_value": 1439247.6836102963,
- "last_add_price": 122600
+ "tranche_value": 3798555.0123003162,
+ "last_add_price": 101000
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 47,
+ "entry_price": 123208.51063829787,
+ "entry_at": "2026-07-30T09:04:09.523449+09:00",
+ "stop": 111928,
+ "target": 157049,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 129,300 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 3001414.640453794,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 222,
+ "entry_price": 6060,
+ "entry_at": "2026-07-30T11:58:10.485849+09:00",
+ "stop": 4924,
+ "target": 9469,
+ "peak": 6080,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 8,460 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1348446.2744731682,
+ "last_add_price": 6060
+ },
+ "138040": {
+ "code": "138040",
+ "name": "메리츠금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 27,
+ "entry_price": 123200,
+ "entry_at": "2026-07-30T13:10:13.415289+09:00",
+ "stop": 113900,
+ "target": 151100,
+ "peak": 123800,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 123,300 도달",
+ "cur_price": 123100,
+ "tranches": 1,
+ "tranche_value": 3339227.3986436105,
+ "last_add_price": 123200
}
},
- "realized_pnl": -15048707.388500052,
- "closed_trades": 74,
+ "realized_pnl": -16202892.058500051,
+ "closed_trades": 76,
"wins": 1,
"peak_equity": 100000000,
- "max_drawdown": 0.15372711271000059,
+ "max_drawdown": 0.16089272634000062,
"last_exit": {
"254490": "2026-06-22",
"017670": "2026-06-23",
@@ -123,12 +165,13 @@
"089970": "2026-07-09",
"084370": "2026-07-09",
"003490": "2026-07-23",
- "095610": "2026-07-28",
+ "095610": "2026-07-30",
"086790": "2026-07-28",
"010950": "2026-07-28",
"475150": "2026-07-29",
- "003680": "2026-07-29"
+ "003680": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-22T09:00:04.885332+09:00",
- "updated_at": "2026-07-29T15:28:01.559818+09:00"
+ "updated_at": "2026-07-30T15:28:09.512099+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 d3d2acb..c4ad6b3 100644
--- a/agents/stock/workspace/state/sim/variants/v310/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v310/trades.jsonl
@@ -168,3 +168,11 @@
{"ts": "2026-07-29T09:24:17.417968+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6710, "qty": 236, "cost": 1583798, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5441, "target": 9676, "signals": [{"label": "손절선", "ok": true, "detail": "5,441 (현재 8,460)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,676"}, {"label": "추세(60일선)", "ok": true, "detail": "4,850"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +188 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,756"}]}
{"ts": "2026-07-29T10:50:06.464700+09:00", "side": "SELL", "code": "475150", "name": "SK이터닉스", "price": 43500, "qty": 85, "proceeds": 3690290, "entry_price": 49549, "pnl": -522042, "pnl_pct": -12.21, "hold_from": "2026-07-29T09:02:04.368605+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "43,550 (현재 43,550)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 70,698"}, {"label": "추세(60일선)", "ok": false, "detail": "47,830"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +596 · 기 -203"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:06:06.649223+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5690, "qty": 480, "proceeds": 2725874, "entry_price": 6603, "pnl": -444161, "pnl_pct": -13.83, "hold_from": "2026-07-29T09:04:03.282259+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,733 (현재 5,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,215"}, {"label": "추세(60일선)", "ok": true, "detail": "4,859"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:09.522517+09:00", "side": "BUY", "code": "055550", "name": "신한지주", "price": 98300, "qty": 38, "cost": 3735960, "path": "pullback", "reason": "눌림목 지정가 99,600 도달", "stop": 91700, "target": 118100, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "98,300 vs 96,430"}, {"label": "정배열(5>60)", "ok": true, "detail": "98,840 / 96,430"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "98,840 / 96,430"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+33.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +73 · 기 -62 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+39%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.17% (환산) vs 평균 0.35% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 109,800"}, {"label": "거래량 급증", "ok": false, "detail": "797,080 (환산) vs 평균 1,653,581"}, {"label": "회전율 급증", "ok": false, "detail": "0.17% (환산) vs 평균 0.35%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 99,600 (현재 98,300)"}]}
+{"ts": "2026-07-30T09:04:09.523453+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 24, "cost": 2911637, "path": "pullback", "reason": "눌림목 지정가 129,300 도달", "stop": 111000, "target": 152200, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "121,200 vs 118,418"}, {"label": "정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 131,000"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 129,300 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:16:13.869864+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 23, "cost": 2880032, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 152200, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 152,200"}, {"label": "추세(60일선)", "ok": true, "detail": "118,488"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:18:12.595967+09:00", "side": "BUY", "code": "055550", "name": "신한지주", "price": 101000, "qty": 37, "cost": 3737561, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 91700, "target": 118100, "signals": [{"label": "손절선", "ok": true, "detail": "91,700 (현재 101,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 118,100"}, {"label": "추세(60일선)", "ok": true, "detail": "96,478"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -62"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 100,764"}]}
+{"ts": "2026-07-30T11:58:10.449441+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 59, "proceeds": 5399750, "entry_price": 102766, "pnl": -664360, "pnl_pct": -10.77, "hold_from": "2026-07-24T09:28:05.736242+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 134,764"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T11:58:10.485853+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6060, "qty": 222, "cost": 1345522, "path": "pullback", "reason": "눌림목 지정가 8,460 도달", "stop": 4924, "target": 9469, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,010 vs 4,865"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,160 / 4,865"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,160 / 4,865"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+62.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +233 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "22.96% (환산) vs 평균 5.69% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": true, "detail": "1,425,547 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": true, "detail": "22.96% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "58"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 8,460 (현재 6,010)"}]}
+{"ts": "2026-07-30T13:08:09.845909+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 22, "proceeds": 2211080, "entry_price": 122750, "pnl": -489825, "pnl_pct": -17.96, "hold_from": "2026-07-29T09:02:04.379570+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 188,900"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T13:10:13.415293+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123200, "qty": 27, "cost": 3326899, "path": "pullback", "reason": "눌림목 지정가 123,300 도달", "stop": 113900, "target": 151100, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,200 vs 110,072"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,100 / 110,072"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,100 / 110,072"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +45 · 기 +411 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.37% (환산) vs 평균 0.17% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": false, "detail": "615,763 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.37% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 123,300 (현재 123,200)"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v311/portfolio.json b/agents/stock/workspace/state/sim/variants/v311/portfolio.json
index 7b3b9d7..e434a52 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": 21974409.83899998,
+ "cash": 14751906.293999977,
"initial": 100000000,
"positions": {
"090850": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 7328397.072583333,
"last_add_price": 6030
@@ -39,32 +39,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5051541.085061288,
"last_add_price": 353000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 83,
- "entry_price": 104126.50602409638,
- "entry_at": "2026-07-23T11:00:03.572572+09:00",
- "stop": 92928,
- "target": 137723,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 106,500 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 4351266.965749504,
- "last_add_price": 106100
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -81,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,750 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 7068569.038333331,
"last_add_price": 18950
@@ -97,19 +76,61 @@
"entry_at": "2026-07-29T09:02:04.392072+09:00",
"stop": 111412,
"target": 142520,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 123,300 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 7048635.583499998,
"last_add_price": 120500
+ },
+ "055550": {
+ "code": "055550",
+ "name": "신한지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 124,
+ "entry_price": 99628.2258064516,
+ "entry_at": "2026-07-30T09:04:09.533805+09:00",
+ "stop": 92237,
+ "target": 121802,
+ "peak": 104450,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 99,600 도달",
+ "cur_price": 100200,
+ "tranches": 2,
+ "tranche_value": 6198757.029677045,
+ "last_add_price": 101000
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 418,
+ "entry_price": 6050,
+ "entry_at": "2026-07-30T11:40:14.794832+09:00",
+ "stop": 5047,
+ "target": 9058,
+ "peak": 6080,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 8,460 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2534350.598481804,
+ "last_add_price": 6050
}
},
- "realized_pnl": -16953850.774000023,
- "closed_trades": 32,
+ "realized_pnl": -17935118.274000023,
+ "closed_trades": 33,
"wins": 1,
"peak_equity": 100133491.83,
"max_drawdown": 0.17602583979518466,
@@ -132,8 +153,9 @@
"105560": "2026-07-20",
"086790": "2026-07-28",
"010950": "2026-07-28",
- "003680": "2026-07-29"
+ "003680": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-22T09:00:04.885342+09:00",
- "updated_at": "2026-07-29T15:28:01.561438+09:00"
+ "updated_at": "2026-07-30T15:28:09.516084+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 790f116..5e5b36c 100644
--- a/agents/stock/workspace/state/sim/variants/v311/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v311/trades.jsonl
@@ -88,3 +88,7 @@
{"ts": "2026-07-29T09:24:17.423538+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18950, "qty": 372, "cost": 7050457, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 17760, "target": 22160, "signals": [{"label": "손절선", "ok": true, "detail": "17,760 (현재 20,750)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 22,160"}, {"label": "추세(20일선)", "ok": true, "detail": "18,884"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +99 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 19,178"}]}
{"ts": "2026-07-29T09:24:17.423855+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6710, "qty": 440, "cost": 2952843, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5606, "target": 9342, "signals": [{"label": "손절선", "ok": true, "detail": "5,606 (현재 8,460)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,342"}, {"label": "추세(20일선)", "ok": true, "detail": "4,732"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +188 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,796"}]}
{"ts": "2026-07-29T11:32:05.727321+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6120, "qty": 892, "proceeds": 5448395, "entry_price": 6624, "pnl": -460971, "pnl_pct": -7.61, "hold_from": "2026-07-29T09:02:04.391689+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,856 (현재 5,770)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,928"}, {"label": "추세(20일선)", "ok": true, "detail": "4,791"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:09.533809+09:00", "side": "BUY", "code": "055550", "name": "신한지주", "price": 98300, "qty": 63, "cost": 6193829, "path": "pullback", "reason": "눌림목 지정가 99,600 도달", "stop": 91700, "target": 118100, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "98,300 vs 96,720"}, {"label": "정배열(5>20)", "ok": true, "detail": "98,840 / 96,720"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "98,840 / 96,430"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+33.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +73 · 기 -62 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+39%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.17% (환산) vs 평균 0.35% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 109,800"}, {"label": "거래량 급증", "ok": false, "detail": "797,080 (환산) vs 평균 1,653,581"}, {"label": "회전율 급증", "ok": false, "detail": "0.17% (환산) vs 평균 0.35%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 99,600 (현재 98,300)"}]}
+{"ts": "2026-07-30T09:18:12.616179+09:00", "side": "BUY", "code": "055550", "name": "신한지주", "price": 101000, "qty": 61, "cost": 6161924, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 91700, "target": 118100, "signals": [{"label": "손절선", "ok": true, "detail": "91,700 (현재 101,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 118,100"}, {"label": "추세(20일선)", "ok": true, "detail": "96,865"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -62"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 100,764"}]}
+{"ts": "2026-07-30T11:40:14.380326+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 92500, "qty": 83, "proceeds": 7662529, "entry_price": 104127, "pnl": -981268, "pnl_pct": -11.17, "hold_from": "2026-07-23T11:00:03.572572+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,928 (현재 92,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 137,723"}, {"label": "추세(20일선)", "ok": false, "detail": "98,205"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T11:40:14.794850+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6050, "qty": 418, "cost": 2529279, "path": "pullback", "reason": "눌림목 지정가 8,460 도달", "stop": 5047, "target": 9058, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,030 vs 4,804"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,164 / 4,804"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,164 / 4,865"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+62.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +233 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "24.92% (환산) vs 평균 5.69% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": true, "detail": "1,547,506 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": true, "detail": "24.92% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "58"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 8,460 (현재 6,030)"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v312/portfolio.json b/agents/stock/workspace/state/sim/variants/v312/portfolio.json
index b6f4ef8..7262e09 100644
--- a/agents/stock/workspace/state/sim/variants/v312/portfolio.json
+++ b/agents/stock/workspace/state/sim/variants/v312/portfolio.json
@@ -1,5 +1,5 @@
{
- "cash": 28282136.251999993,
+ "cash": 7208975.751999993,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 7354011.877655987,
"last_add_price": 344000
@@ -34,12 +34,12 @@
"entry_at": "2026-07-29T09:02:04.402410+09:00",
"stop": 95185,
"target": 120585,
- "peak": 103500,
+ "peak": 104450,
"trailing_on": false,
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 98500,
+ "cur_price": 100200,
"tranches": 2,
"tranche_value": 8369345.66302692,
"last_add_price": 102800
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,750 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 8269635.959799999,
"last_add_price": 19320
@@ -71,27 +71,48 @@
"sources": [
"auto"
],
- "qty": 74,
- "entry_price": 87600,
+ "qty": 146,
+ "entry_price": 89128.76712328767,
"entry_at": "2026-07-29T09:26:02.244095+09:00",
- "stop": 80584,
- "target": 108648,
- "peak": 89400,
+ "stop": 81992,
+ "target": 110538,
+ "peak": 92300,
"trailing_on": false,
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 83400,
- "tranches": 1,
+ "cur_price": 85700,
+ "tranches": 2,
"tranche_value": 6565639.373821265,
- "last_add_price": 87600
+ "last_add_price": 90700
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 118,
+ "entry_price": 123216.94915254238,
+ "entry_at": "2026-07-30T09:04:09.543938+09:00",
+ "stop": 114591,
+ "target": 149095,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 129,300 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 7344610.2592218295,
+ "last_add_price": 125200
}
},
"realized_pnl": -17502792.70700003,
"closed_trades": 28,
"wins": 2,
"peak_equity": 100226641.3075,
- "max_drawdown": 0.17737235153833017,
+ "max_drawdown": 0.17951639724510696,
"last_exit": {
"005930": "2026-06-23",
"005935": "2026-07-01",
@@ -114,5 +135,5 @@
"003680": "2026-07-29"
},
"created_at": "2026-06-22T09:00:04.885351+09:00",
- "updated_at": "2026-07-29T15:28:01.568798+09:00"
+ "updated_at": "2026-07-30T15:28:09.528718+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 a481892..7ab9c69 100644
--- a/agents/stock/workspace/state/sim/variants/v312/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v312/trades.jsonl
@@ -77,3 +77,6 @@
{"ts": "2026-07-29T09:40:06.688618+09:00", "side": "BUY", "code": "055550", "name": "신한지주", "price": 102800, "qty": 81, "cost": 8328049, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 93950, "target": 119350, "signals": [{"label": "손절선", "ok": true, "detail": "93,950 (현재 102,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,350"}, {"label": "추세(10일선)", "ok": true, "detail": "99,240"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +474 · 기 -479"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 102,742"}]}
{"ts": "2026-07-29T10:04:01.700849+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 19320, "qty": 427, "cost": 8250877, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 17993, "target": 21822, "signals": [{"label": "손절선", "ok": true, "detail": "17,993 (현재 19,320)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 21,822"}, {"label": "추세(10일선)", "ok": true, "detail": "18,980"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +102 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 19,318"}]}
{"ts": "2026-07-29T11:32:05.732771+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6120, "qty": 1285, "proceeds": 7848865, "entry_price": 6624, "pnl": -664092, "pnl_pct": -7.61, "hold_from": "2026-07-29T09:02:04.404975+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,958 (현재 5,770)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,621"}, {"label": "추세(10일선)", "ok": true, "detail": "5,222"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:09.543940+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 60, "cost": 7279092, "path": "pullback", "reason": "눌림목 지정가 129,300 도달", "stop": 112674, "target": 147178, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "121,200 vs 119,680"}, {"label": "정배열(5>10)", "ok": true, "detail": "120,840 / 119,680"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 6배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 129,300 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:12:09.733467+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90700, "qty": 72, "cost": 6531380, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 80584, "target": 108648, "signals": [{"label": "손절선", "ok": true, "detail": "80,584 (현재 90,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 108,648"}, {"label": "추세(10일선)", "ok": true, "detail": "81,150"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -49 · 기 +276"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,345"}]}
+{"ts": "2026-07-30T09:16:13.883564+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 58, "cost": 7262689, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 112674, "target": 147178, "signals": [{"label": "손절선", "ok": true, "detail": "112,674 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 147,178"}, {"label": "추세(10일선)", "ok": true, "detail": "120,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v313/portfolio.json b/agents/stock/workspace/state/sim/variants/v313/portfolio.json
index 84bd5aa..9312311 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": 77911663.17699993,
+ "cash": 75600981.69199994,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 1881614.4320314971,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 1862199.0150068374,
"last_add_price": 92800
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 1,
"tranche_value": 2781920.3395705796,
"last_add_price": 127700
@@ -81,17 +81,38 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 7,526 도달",
- "cur_price": 5960,
+ "cur_price": 5800,
"tranches": 2,
"tranche_value": 1136696.002462022,
"last_add_price": 6710
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 14,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:13.888363+09:00",
+ "stop": 112455,
+ "target": 164102,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 1915181.63370387,
+ "last_add_price": 130900
}
},
- "realized_pnl": -9988912.181500036,
- "closed_trades": 82,
+ "realized_pnl": -10466718.776500037,
+ "closed_trades": 85,
"wins": 2,
"peak_equity": 100186518.14249998,
- "max_drawdown": 0.10905314575320389,
+ "max_drawdown": 0.11271812475245133,
"last_exit": {
"033640": "2026-07-01",
"307950": "2026-07-01",
@@ -102,7 +123,7 @@
"034730": "2026-07-28",
"093370": "2026-07-20",
"032830": "2026-07-27",
- "319660": "2026-07-29",
+ "319660": "2026-07-30",
"011070": "2026-07-24",
"402340": "2026-07-22",
"003490": "2026-07-13",
@@ -112,12 +133,13 @@
"222800": "2026-07-21",
"055550": "2026-07-27",
"089970": "2026-07-27",
- "095610": "2026-07-29",
+ "095610": "2026-07-30",
"003680": "2026-07-28",
"010950": "2026-07-29",
"105560": "2026-07-29",
- "086790": "2026-07-29"
+ "086790": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-22T09:00:04.885359+09:00",
- "updated_at": "2026-07-29T15:28:01.570417+09:00"
+ "updated_at": "2026-07-30T15:28:09.531599+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 679de1a..01b6887 100644
--- a/agents/stock/workspace/state/sim/variants/v313/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v313/trades.jsonl
@@ -183,3 +183,10 @@
{"ts": "2026-07-29T09:24:17.437014+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6710, "qty": 169, "cost": 1134160, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4983, "target": 9342, "signals": [{"label": "손절선", "ok": true, "detail": "4,983 (현재 8,460)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,342"}, {"label": "추세(60일선)", "ok": true, "detail": "4,850"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +188 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,796"}]}
{"ts": "2026-07-29T09:26:02.663967+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 121300, "qty": 10, "proceeds": 1210635, "entry_price": 127400, "pnl": -63556, "pnl_pct": -4.79, "hold_from": "2026-07-28T09:00:26.316287+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "144,225 (현재 121,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "99,140"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +453 · 기 -688"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:30:01.551173+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 118000, "qty": 33, "proceeds": 3886407, "entry_price": 132548, "pnl": -488349, "pnl_pct": -10.98, "hold_from": "2026-07-10T09:26:06.847465+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "116,460 (현재 118,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 161,508"}, {"label": "추세(60일선)", "ok": false, "detail": "118,365"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:08:13.773545+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 115500, "qty": 18, "cost": 2079312, "path": "pullback", "reason": "눌림목 지정가 143,839 도달", "stop": 100700, "target": 142140, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "115,100 vs 99,035"}, {"label": "정배열(5>60)", "ok": true, "detail": "163,660 / 99,035"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "163,660 / 99,035"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+25.8%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +340 · 기 -345 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+71%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.89% (환산) vs 평균 3.06% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "559,580 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": false, "detail": "2.89% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "45"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 143,839 (현재 115,100)"}]}
+{"ts": "2026-07-30T09:08:13.773750+09:00", "side": "BUY", "code": "319660", "name": "피에스케이", "price": 113700, "qty": 39, "cost": 4434965, "path": "pullback", "reason": "눌림목 지정가 154,382 도달", "stop": 113699, "target": 113702, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "113,400 vs 112,448"}, {"label": "정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "160,320 / 112,448"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.5%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +663 · 기 -505 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+61%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.46% (환산) vs 평균 2.68% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 196,500"}, {"label": "거래량 급증", "ok": false, "detail": "423,533 (환산) vs 평균 777,376"}, {"label": "회전율 급증", "ok": false, "detail": "1.46% (환산) vs 평균 2.68%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,382 (현재 113,400)"}]}
+{"ts": "2026-07-30T09:12:09.738847+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 112100, "qty": 39, "proceeds": 4363375, "entry_price": 113700, "pnl": -71590, "pnl_pct": -1.41, "hold_from": "2026-07-30T09:08:13.773748+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "113,699 (현재 112,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": false, "detail": "112,432"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +663 · 기 -505"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:16:13.888365+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 14, "cost": 1832875, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 112455, "target": 164102, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "130,900 vs 113,212"}, {"label": "정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T11:14:10.840009+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 94400, "qty": 47, "cost": 4437466, "path": "pullback", "reason": "눌림목 지정가 94,648 도달", "stop": 92100, "target": 98540, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "94,300 vs 91,838"}, {"label": "정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "106,160 / 91,838"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+37.2%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -7 · 기 +40 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+41%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.61% (환산) vs 평균 1.76% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "615,364 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": true, "detail": "2.61% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "46"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 94,648 (현재 94,300)"}]}
+{"ts": "2026-07-30T11:58:10.510709+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 47, "proceeds": 4301496, "entry_price": 94400, "pnl": -135970, "pnl_pct": -2.86, "hold_from": "2026-07-30T11:14:10.840007+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 98,540"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 98,436"}]}
+{"ts": "2026-07-30T13:08:09.870628+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 18, "proceeds": 1809065, "entry_price": 115500, "pnl": -270246, "pnl_pct": -12.81, "hold_from": "2026-07-30T09:08:13.773542+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 142,140"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,807"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v314/portfolio.json b/agents/stock/workspace/state/sim/variants/v314/portfolio.json
index fa2c489..fb7bcd5 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": 52445910.66250003,
+ "cash": 44063263.454000026,
"initial": 100000000,
"positions": {
"090850": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 5434580.417579264,
"last_add_price": 6150
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3459622.8594091423,
"last_add_price": 356000
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,673 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5643861.637562501,
"last_add_price": 18950
@@ -76,22 +76,85 @@
"entry_at": "2026-07-27T10:08:02.402429+09:00",
"stop": 114119,
"target": 147962,
- "peak": 126500,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 1,
"tranche_value": 5009397.505974029,
"last_add_price": 125400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 293,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:09.554153+09:00",
+ "stop": 4660,
+ "target": 9071,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1797520.9726568882,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 26,
+ "entry_price": 129300,
+ "entry_at": "2026-07-30T09:14:09.762851+09:00",
+ "stop": 113068,
+ "target": 161764,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3456453.831165508,
+ "last_add_price": 129300
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 35,
+ "entry_price": 92100,
+ "entry_at": "2026-07-30T09:18:12.641975+09:00",
+ "stop": 79818,
+ "target": 116663,
+ "peak": 92300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 3276457.011792014,
+ "last_add_price": 92100
}
},
"realized_pnl": -13886779.998500012,
"closed_trades": 25,
"wins": 1,
"peak_equity": 100961178.33000001,
- "max_drawdown": 0.15103436706789064,
+ "max_drawdown": 0.15130107560819694,
"last_exit": {
"403870": "2026-07-07",
"030000": "2026-07-24",
@@ -110,5 +173,5 @@
"078930": "2026-07-29"
},
"created_at": "2026-06-22T09:00:04.885367+09:00",
- "updated_at": "2026-07-29T15:28:01.572037+09:00"
+ "updated_at": "2026-07-30T15:28:09.534372+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 35dd121..29db146 100644
--- a/agents/stock/workspace/state/sim/variants/v314/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v314/trades.jsonl
@@ -70,3 +70,6 @@
{"ts": "2026-07-29T09:24:17.439608+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6710, "qty": 312, "cost": 2093834, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5170, "target": 9280, "signals": [{"label": "손절선", "ok": true, "detail": "5,170 (현재 8,460)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,280"}, {"label": "추세(20일선)", "ok": true, "detail": "4,732"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +188 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,796"}]}
{"ts": "2026-07-29T13:20:03.753605+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5410, "qty": 632, "proceeds": 3412453, "entry_price": 6624, "pnl": -774495, "pnl_pct": -18.33, "hold_from": "2026-07-29T09:02:04.413824+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,497 (현재 5,490)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,877"}, {"label": "추세(20일선)", "ok": true, "detail": "4,777"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:32:04.614349+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 81000, "qty": 69, "proceeds": 5578101, "entry_price": 95478, "pnl": -1010887, "pnl_pct": -15.16, "hold_from": "2026-07-24T09:26:01.449805+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "82,380 (현재 82,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 121,676"}, {"label": "추세(20일선)", "ok": true, "detail": "74,770"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -74 · 기 +296"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:09.554155+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 293, "cost": 1796359, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4660, "target": 9071, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:14:09.762853+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 129300, "qty": 26, "cost": 3362304, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113068, "target": 161764, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "129,000 vs 108,775"}, {"label": "정배열(5>20)", "ok": true, "detail": "114,980 / 108,775"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "114,980 / 113,180"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+47.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+23%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.43% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "485,820 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.43% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
+{"ts": "2026-07-30T09:18:12.641977+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92100, "qty": 35, "cost": 3223984, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 79818, "target": 116663, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "92,200 vs 75,270"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,800 / 75,270"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,800 / 75,125"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+68.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +276 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.57% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "531,713 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.57% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v315/portfolio.json b/agents/stock/workspace/state/sim/variants/v315/portfolio.json
index 6eab61b..0546ca8 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": 28781778.366999935,
+ "cash": 26311017.808499936,
"initial": 100000000,
"positions": {
"090850": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 7244669.755439429,
"last_add_price": 6030
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 4924531.379887749,
"last_add_price": 353000
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 4655528.873050034,
"last_add_price": 91400
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,314 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 7492821.915541661,
"last_add_price": 18950
@@ -102,10 +102,31 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 126900,
+ "cur_price": 129000,
"tranches": 2,
"tranche_value": 4728625.29578571,
"last_add_price": 133000
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 403,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:09.557386+09:00",
+ "stop": 4793,
+ "target": 9472,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,123 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2474671.09568862,
+ "last_add_price": 6130
}
},
"realized_pnl": -13919698.143500011,
@@ -130,5 +151,5 @@
"003680": "2026-07-29"
},
"created_at": "2026-06-22T09:00:04.885375+09:00",
- "updated_at": "2026-07-29T15:28:01.573641+09:00"
+ "updated_at": "2026-07-30T15:28:09.537032+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 d519129..f7aa400 100644
--- a/agents/stock/workspace/state/sim/variants/v315/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v315/trades.jsonl
@@ -54,3 +54,4 @@
{"ts": "2026-07-29T09:32:01.435510+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 129300, "qty": 36, "cost": 4655498, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 114215, "target": 167012, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "129,300 vs 108,790"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,040 / 108,790"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,040 / 113,185"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+44.7%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 +43 · 기 +245 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.9/5"}, {"label": "상승여력", "ok": true, "detail": "+23%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.39% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "442,880 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.39% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T10:30:01.589743+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 133000, "qty": 35, "cost": 4655698, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 114215, "target": 167012, "signals": [{"label": "손절선", "ok": true, "detail": "114,215 (현재 133,100)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 167,012"}, {"label": "추세(20일선)", "ok": true, "detail": "108,980"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +245"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 133,071"}]}
{"ts": "2026-07-29T13:14:05.550190+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 871, "proceeds": 4850703, "entry_price": 6624, "pnl": -919603, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:04.417120+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,184"}, {"label": "추세(20일선)", "ok": true, "detail": "4,782"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:09.557388+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 403, "cost": 2470761, "path": "pullback", "reason": "눌림목 지정가 7,123 도달", "stop": 4793, "target": 9472, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,123 (현재 6,120)"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v316/portfolio.json b/agents/stock/workspace/state/sim/variants/v316/portfolio.json
index 2d1be3a..373cbc9 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": 72994941.42399995,
+ "cash": 74673740.43199994,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,53 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 1723041.949065203,
"last_add_price": 356000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 55,
- "entry_price": 100563.63636363637,
- "entry_at": "2026-07-22T15:18:03.458533+09:00",
- "stop": 92100,
- "target": 125955,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,784 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 2775662.8581035994,
- "last_add_price": 102600
- },
- "095610": {
- "code": "095610",
- "name": "테스",
- "sources": [
- "auto"
- ],
- "qty": 16,
- "entry_price": 122750.0,
- "entry_at": "2026-07-29T09:02:04.419950+09:00",
- "stop": 100700,
- "target": 188900,
- "peak": 177000,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 155,150 도달",
- "cur_price": 113300,
- "tranches": 2,
- "tranche_value": 1001904.7689268058,
- "last_add_price": 122600
- },
"138040": {
"code": "138040",
"name": "메리츠금융지주",
@@ -76,22 +34,64 @@
"entry_at": "2026-07-29T09:04:03.700805+09:00",
"stop": 111200,
"target": 146238,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 3085659.757648651,
"last_add_price": 119500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 33,
+ "entry_price": 123190.90909090909,
+ "entry_at": "2026-07-30T09:04:09.560179+09:00",
+ "stop": 111247,
+ "target": 159022,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 2110750.5193652804,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 148,
+ "entry_price": 6060,
+ "entry_at": "2026-07-30T11:58:10.518991+09:00",
+ "stop": 4857,
+ "target": 9669,
+ "peak": 6080,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 899904.426653765,
+ "last_add_price": 6060
}
},
- "realized_pnl": -10302953.636000026,
- "closed_trades": 62,
+ "realized_pnl": -11157354.551000027,
+ "closed_trades": 64,
"wins": 1,
"peak_equity": 100030682.08,
- "max_drawdown": 0.10715552901486372,
+ "max_drawdown": 0.11010921428278697,
"last_exit": {
"017670": "2026-06-23",
"178320": "2026-06-23",
@@ -115,9 +115,10 @@
"034730": "2026-07-28",
"084370": "2026-07-09",
"028260": "2026-07-16",
- "095610": "2026-07-28",
- "003680": "2026-07-29"
+ "095610": "2026-07-30",
+ "003680": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-22T09:00:04.885385+09:00",
- "updated_at": "2026-07-29T15:28:01.575303+09:00"
+ "updated_at": "2026-07-30T15:28:09.539605+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 358019d..7369d31 100644
--- a/agents/stock/workspace/state/sim/variants/v316/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v316/trades.jsonl
@@ -141,3 +141,8 @@
{"ts": "2026-07-29T09:24:17.444564+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6710, "qty": 157, "cost": 1053628, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5419, "target": 9902, "signals": [{"label": "손절선", "ok": true, "detail": "5,419 (현재 8,460)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,902"}, {"label": "추세(60일선)", "ok": true, "detail": "4,850"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +188 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,796"}]}
{"ts": "2026-07-29T09:24:17.789135+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 119500, "qty": 25, "cost": 2987948, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111200, "target": 138800, "signals": [{"label": "손절선", "ok": true, "detail": "111,200 (현재 123,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 138,800"}, {"label": "추세(60일선)", "ok": true, "detail": "109,930"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +39 · 기 +307"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 120,642"}]}
{"ts": "2026-07-29T13:06:06.664734+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5690, "qty": 318, "proceeds": 1805892, "entry_price": 6624, "pnl": -300834, "pnl_pct": -14.1, "hold_from": "2026-07-29T09:02:04.420351+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,702 (현재 5,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,389"}, {"label": "추세(60일선)", "ok": true, "detail": "4,859"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:09.560182+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 17, "cost": 2062409, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 152200, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "121,200 vs 118,418"}, {"label": "정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 6배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:16:13.894276+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 16, "cost": 2003500, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 152200, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 152,200"}, {"label": "추세(60일선)", "ok": true, "detail": "118,488"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T11:58:10.518880+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 55, "proceeds": 5033665, "entry_price": 100564, "pnl": -498164, "pnl_pct": -8.81, "hold_from": "2026-07-22T15:18:03.458533+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 125,955"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T11:58:10.518993+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6060, "qty": 148, "cost": 897015, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4857, "target": 9669, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,010 vs 4,865"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,160 / 4,865"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,160 / 4,865"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+62.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +233 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "22.96% (환산) vs 평균 5.69% (보류 6배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": true, "detail": "1,425,547 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": true, "detail": "22.96% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "58"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,010)"}]}
+{"ts": "2026-07-30T13:08:09.878514+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 16, "proceeds": 1608058, "entry_price": 122750, "pnl": -356236, "pnl_pct": -17.96, "hold_from": "2026-07-29T09:02:04.419950+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 188,900"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v317/portfolio.json b/agents/stock/workspace/state/sim/variants/v317/portfolio.json
index 3361678..d6bef33 100644
--- a/agents/stock/workspace/state/sim/variants/v317/portfolio.json
+++ b/agents/stock/workspace/state/sim/variants/v317/portfolio.json
@@ -1,5 +1,5 @@
{
- "cash": 67168373.96650003,
+ "cash": 65152822.41100003,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3295504.677737418,
"last_add_price": 353000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,014 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 4810700.768136875,
"last_add_price": 18950
@@ -55,22 +55,43 @@
"entry_at": "2026-07-29T09:02:04.423624+09:00",
"stop": 111407,
"target": 142516,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 4929280.307324868,
"last_add_price": 120500
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 279,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:09.563430+09:00",
+ "stop": 5127,
+ "target": 9138,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1710766.4010408132,
+ "last_add_price": 6130
}
},
- "realized_pnl": -7319749.826000016,
- "closed_trades": 28,
+ "realized_pnl": -7624774.841000017,
+ "closed_trades": 29,
"wins": 2,
"peak_equity": 100973538.872,
- "max_drawdown": 0.08060076923536239,
+ "max_drawdown": 0.08261844196205827,
"last_exit": {
"403870": "2026-07-02",
"003490": "2026-07-07",
@@ -87,8 +108,9 @@
"086790": "2026-07-28",
"010950": "2026-07-28",
"090850": "2026-07-29",
- "003680": "2026-07-29"
+ "003680": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-22T09:00:04.885394+09:00",
- "updated_at": "2026-07-29T15:28:01.576933+09:00"
+ "updated_at": "2026-07-30T15:28:09.541994+09:00"
}
\ No newline at end of file
diff --git a/agents/stock/workspace/state/sim/variants/v317/trades.jsonl b/agents/stock/workspace/state/sim/variants/v317/trades.jsonl
index 181e1aa..73f1221 100644
--- a/agents/stock/workspace/state/sim/variants/v317/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v317/trades.jsonl
@@ -71,3 +71,6 @@
{"ts": "2026-07-29T09:24:17.800887+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6710, "qty": 292, "cost": 1959614, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5606, "target": 9342, "signals": [{"label": "손절선", "ok": true, "detail": "5,606 (현재 8,460)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,342"}, {"label": "추세(20일선)", "ok": true, "detail": "4,732"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +188 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,796"}]}
{"ts": "2026-07-29T09:24:17.801212+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 6290, "qty": 724, "proceeds": 4545080, "entry_price": 6240, "pnl": 26642, "pnl_pct": 0.8, "hold_from": "2026-07-28T09:50:02.317649+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,853 (현재 5,690)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,400"}, {"label": "추세(20일선)", "ok": true, "detail": "5,306"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,354"}]}
{"ts": "2026-07-29T11:32:05.743526+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6120, "qty": 591, "proceeds": 3609867, "entry_price": 6624, "pnl": -305500, "pnl_pct": -7.61, "hold_from": "2026-07-29T09:02:04.423392+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,856 (현재 5,770)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,928"}, {"label": "추세(20일선)", "ok": true, "detail": "4,791"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:09.563432+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 279, "cost": 1710527, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 5127, "target": 9138, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 6배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:22:09.888439+09:00", "side": "BUY", "code": "161890", "name": "한국콜마", "price": 98600, "qty": 43, "cost": 4240436, "path": "pullback", "reason": "눌림목 지정가 98,656 도달", "stop": 92100, "target": 118100, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "98,600 vs 98,495"}, {"label": "정배열(5>20)", "ok": true, "detail": "107,020 / 98,495"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "107,020 / 91,910"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+45.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -3 · 기 +40 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+34%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "1.45% (환산) vs 평균 1.76% (보류 6배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 124,600"}, {"label": "거래량 급증", "ok": false, "detail": "342,033 (환산) vs 평균 415,172"}, {"label": "회전율 급증", "ok": false, "detail": "1.45% (환산) vs 평균 1.76%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 98,656 (현재 98,600)"}]}
+{"ts": "2026-07-30T11:58:10.521570+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 43, "proceeds": 3935411, "entry_price": 98600, "pnl": -305025, "pnl_pct": -7.0, "hold_from": "2026-07-30T09:22:09.888435+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 118,100"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 102,636"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v318/portfolio.json b/agents/stock/workspace/state/sim/variants/v318/portfolio.json
index 1cbee7e..28b96a2 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": 54533853.96649998,
+ "cash": 44551056.77149998,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 4808309.617830769,
"last_add_price": 338000
@@ -34,12 +34,12 @@
"entry_at": "2026-07-29T09:02:04.425944+09:00",
"stop": 95178,
"target": 123753,
- "peak": 103500,
+ "peak": 104450,
"trailing_on": false,
"scaled_out": false,
"entry_path": "immediate",
"entry_reason": "조건 충족 — 즉시매수(눌림 안 기다림)",
- "cur_price": 98500,
+ "cur_price": 100200,
"tranches": 2,
"tranche_value": 5737708.823909291,
"last_add_price": 102800
@@ -60,10 +60,31 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,161 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 7081160.229108149,
"last_add_price": 19320
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 81,
+ "entry_price": 123225.92592592593,
+ "entry_at": "2026-07-30T09:04:09.566155+09:00",
+ "stop": 114600,
+ "target": 153417,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 123,992 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 5071450.007018988,
+ "last_add_price": 125200
}
},
"realized_pnl": -10633351.898000011,
@@ -92,5 +113,5 @@
"003680": "2026-07-29"
},
"created_at": "2026-06-22T09:00:04.885402+09:00",
- "updated_at": "2026-07-29T15:28:01.578568+09:00"
+ "updated_at": "2026-07-30T15:28:09.544345+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 1e56d9d..98fccfa 100644
--- a/agents/stock/workspace/state/sim/variants/v318/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v318/trades.jsonl
@@ -65,3 +65,5 @@
{"ts": "2026-07-29T09:40:06.700563+09:00", "side": "BUY", "code": "055550", "name": "신한지주", "price": 102800, "qty": 55, "cost": 5654848, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 93950, "target": 122525, "signals": [{"label": "손절선", "ok": true, "detail": "93,950 (현재 102,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 122,525"}, {"label": "추세(10일선)", "ok": true, "detail": "99,240"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +474 · 기 -479"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 102,742"}]}
{"ts": "2026-07-29T10:04:01.712760+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 19320, "qty": 366, "cost": 7072181, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 17993, "target": 22301, "signals": [{"label": "손절선", "ok": true, "detail": "17,993 (현재 19,320)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 22,301"}, {"label": "추세(10일선)", "ok": true, "detail": "18,980"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +102 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 19,318"}]}
{"ts": "2026-07-29T11:32:05.745196+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6120, "qty": 447, "proceeds": 2730306, "entry_price": 6650, "pnl": -242690, "pnl_pct": -7.97, "hold_from": "2026-07-29T09:26:02.700010+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,841 (현재 5,770)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,483"}, {"label": "추세(10일선)", "ok": true, "detail": "5,222"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,984"}]}
+{"ts": "2026-07-30T09:04:09.566157+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 41, "cost": 4974046, "path": "pullback", "reason": "눌림목 지정가 123,992 도달", "stop": 112674, "target": 151491, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "121,200 vs 119,680"}, {"label": "정배열(5>10)", "ok": true, "detail": "120,840 / 119,680"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(3일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 7배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 123,992 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:16:13.898063+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 40, "cost": 5008751, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 112674, "target": 151491, "signals": [{"label": "손절선", "ok": true, "detail": "112,674 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 151,491"}, {"label": "추세(10일선)", "ok": true, "detail": "120,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v319/portfolio.json b/agents/stock/workspace/state/sim/variants/v319/portfolio.json
index 6d9ad5c..bc30d84 100644
--- a/agents/stock/workspace/state/sim/variants/v319/portfolio.json
+++ b/agents/stock/workspace/state/sim/variants/v319/portfolio.json
@@ -1,28 +1,7 @@
{
- "cash": 85171643.52100003,
+ "cash": 84654886.75100003,
"initial": 100000000,
"positions": {
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 43,
- "entry_price": 100553.48837209302,
- "entry_at": "2026-07-22T15:18:03.480571+09:00",
- "stop": 92100,
- "target": 113234,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,784 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 2198986.9706949466,
- "last_add_price": 102600
- },
"003490": {
"code": "003490",
"name": "대한항공",
@@ -39,7 +18,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 25,331 도달",
- "cur_price": 24650,
+ "cur_price": 24600,
"tranches": 2,
"tranche_value": 2159393.7298746845,
"last_add_price": 26750
@@ -60,17 +39,59 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 7,837 도달",
- "cur_price": 5960,
+ "cur_price": 5800,
"tranches": 1,
"tranche_value": 614669.7691373413,
"last_add_price": 6760
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 26,
+ "entry_price": 123250.0,
+ "entry_at": "2026-07-30T09:04:09.568856+09:00",
+ "stop": 111000,
+ "target": 141625,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 1659181.620742326,
+ "last_add_price": 125200
+ },
+ "138040": {
+ "code": "138040",
+ "name": "메리츠금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 10,
+ "entry_price": 124700,
+ "entry_at": "2026-07-30T11:58:10.526809+09:00",
+ "stop": 111200,
+ "target": 144950,
+ "peak": 124800,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 123100,
+ "tranches": 1,
+ "tranche_value": 1299917.4675538559,
+ "last_add_price": 124700
}
},
- "realized_pnl": -5600022.436500041,
- "closed_trades": 48,
+ "realized_pnl": -5989060.051500041,
+ "closed_trades": 49,
"wins": 2,
"peak_equity": 100023011.56,
- "max_drawdown": 0.062282848135031446,
+ "max_drawdown": 0.06355262363987924,
"last_exit": {
"017670": "2026-06-23",
"178320": "2026-06-23",
@@ -93,8 +114,9 @@
"034730": "2026-07-28",
"095610": "2026-07-29",
"402340": "2026-07-21",
- "240810": "2026-07-24"
+ "240810": "2026-07-24",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-22T09:00:04.885411+09:00",
- "updated_at": "2026-07-29T15:28:01.580200+09:00"
+ "updated_at": "2026-07-30T15:28:09.546642+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 a7bc8b7..7df1fb0 100644
--- a/agents/stock/workspace/state/sim/variants/v319/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v319/trades.jsonl
@@ -104,3 +104,7 @@
{"ts": "2026-07-29T09:30:03.636388+09:00", "side": "SELL", "code": "319660", "name": "피에스케이", "price": 122700, "qty": 96, "proceeds": 11756231, "entry_price": 123200, "pnl": -72744, "pnl_pct": -0.41, "hold_from": "2026-07-29T09:26:03.077353+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "123,199 (현재 122,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(60일선)", "ok": true, "detail": "112,603"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +505 · 기 -416"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T09:30:04.057097+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6760, "qty": 90, "cost": 608491, "path": "pullback", "reason": "눌림목 지정가 7,837 도달", "stop": 5203, "target": 9095, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,720 vs 4,876"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,302 / 4,876"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,302 / 4,876"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+74.4%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +188 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "9.90% (환산) vs 평균 5.69% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "614,567 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "9.90% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "65"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,837 (현재 6,720)"}]}
{"ts": "2026-07-29T10:52:02.717609+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 123900, "qty": 25, "proceeds": 3091460, "entry_price": 124024, "pnl": -9605, "pnl_pct": -0.1, "hold_from": "2026-07-09T10:06:03.303796+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 124,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 143,560"}, {"label": "추세(60일선)", "ok": true, "detail": "118,465"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -6 · 기 -58"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:09.568858+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 13, "cost": 1577137, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 136750, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "121,200 vs 118,418"}, {"label": "정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:16:13.900040+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 13, "cost": 1627844, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 136750, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 136,750"}, {"label": "추세(60일선)", "ok": true, "detail": "118,488"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T11:58:10.526578+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 43, "proceeds": 3935411, "entry_price": 100553, "pnl": -389038, "pnl_pct": -8.8, "hold_from": "2026-07-22T15:18:03.480571+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,234"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T11:58:10.526810+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 124700, "qty": 10, "cost": 1247187, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 111200, "target": 144950, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "125,000 vs 110,102"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,460 / 110,102"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,460 / 110,102"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.3%p"}, {"label": "수급(10일 외/기)", "ok": true, "detail": "외 +35 · 기 +392 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+19%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.44% (환산) vs 평균 0.17% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "743,769 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.44% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v320/portfolio.json b/agents/stock/workspace/state/sim/variants/v320/portfolio.json
index 8a393e6..96e059d 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": 76547963.537,
+ "cash": 74068083.55250001,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,59 +18,80 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 1749831.3969574722,
"last_add_price": 356000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 67,
- "entry_price": 100570.14925373135,
- "entry_at": "2026-07-22T15:18:03.486239+09:00",
- "stop": 92100,
- "target": 117510,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,784 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 3444138.305309807,
- "last_add_price": 102600
- },
"138040": {
"code": "138040",
"name": "메리츠금융지주",
"sources": [
"auto"
],
- "qty": 19,
- "entry_price": 123400,
+ "qty": 38,
+ "entry_price": 124900.0,
"entry_at": "2026-07-29T10:24:01.566186+09:00",
- "stop": 111978,
- "target": 146245,
- "peak": 123600,
+ "stop": 113101,
+ "target": 148499,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 2431314.1712946068,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 41,
+ "entry_price": 123202.43902439025,
+ "entry_at": "2026-07-30T09:04:09.571514+09:00",
+ "stop": 111000,
+ "target": 147607,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 2612912.8051063353,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 151,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:09.571751+09:00",
+ "stop": 4660,
+ "target": 9071,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 925770.5463256123,
+ "last_add_price": 6130
}
},
- "realized_pnl": -11220902.068000028,
- "closed_trades": 67,
+ "realized_pnl": -12060206.003000028,
+ "closed_trades": 69,
"wins": 1,
"peak_equity": 100038352.6,
- "max_drawdown": 0.11417210266015511,
+ "max_drawdown": 0.12190043848742853,
"last_exit": {
"017670": "2026-06-23",
"178320": "2026-06-23",
@@ -95,9 +116,10 @@
"084370": "2026-07-09",
"003490": "2026-07-13",
"028260": "2026-07-16",
- "095610": "2026-07-29",
- "003680": "2026-07-29"
+ "095610": "2026-07-30",
+ "003680": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-22T09:00:04.885419+09:00",
- "updated_at": "2026-07-29T15:28:01.581829+09:00"
+ "updated_at": "2026-07-30T15:28:09.548849+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 33d26d7..fc15fe1 100644
--- a/agents/stock/workspace/state/sim/variants/v320/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v320/trades.jsonl
@@ -147,3 +147,10 @@
{"ts": "2026-07-29T10:24:01.566187+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 19, "cost": 2344952, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 111978, "target": 146245, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "123,400 vs 110,075"}, {"label": "정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T10:52:02.727730+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 123900, "qty": 39, "proceeds": 4822677, "entry_price": 124256, "pnl": -24049, "pnl_pct": -0.29, "hold_from": "2026-07-09T09:36:04.834155+09:00", "reason": "시간손절 — 20일 보유·진전 없음(자본 회전)", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 124,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 150,769"}, {"label": "추세(60일선)", "ok": true, "detail": "118,465"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -6 · 기 -58"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:22:01.709993+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5360, "qty": 320, "proceeds": 1711855, "entry_price": 6603, "pnl": -401432, "pnl_pct": -18.83, "hold_from": "2026-07-29T09:04:03.732356+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,476 (현재 5,360)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,856"}, {"label": "추세(60일선)", "ok": true, "detail": "4,854"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:09.571516+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 21, "cost": 2547682, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 141900, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "121,200 vs 118,418"}, {"label": "정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:09.571752+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 151, "cost": 925769, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4660, "target": 9071, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "6,120 vs 4,866"}, {"label": "정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:13.901968+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 20, "cost": 2504376, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 141900, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 141,900"}, {"label": "추세(60일선)", "ok": true, "detail": "118,488"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:50:09.297092+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 19, "cost": 2401960, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111978, "target": 146245, "signals": [{"label": "손절선", "ok": true, "detail": "111,978 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 146,245"}, {"label": "추세(60일선)", "ok": true, "detail": "110,122"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T11:58:10.529082+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 67, "proceeds": 6131919, "entry_price": 100570, "pnl": -607291, "pnl_pct": -8.82, "hold_from": "2026-07-22T15:18:03.486239+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 117,510"}, {"label": "추세(60일선)", "ok": true, "detail": "91,797"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T12:00:09.155160+09:00", "side": "BUY", "code": "095610", "name": "테스", "price": 103900, "qty": 68, "cost": 7066260, "path": "pullback", "reason": "눌림목 지정가 154,593 도달", "stop": 100700, "target": 110300, "signals": [{"label": "추세(60일선 위)", "ok": true, "detail": "103,900 vs 98,848"}, {"label": "정배열(5>60)", "ok": true, "detail": "161,420 / 98,848"}, {"label": "추세 기울기(60일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "161,420 / 98,848"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+18.0%p"}, {"label": "수급(7일 외/기)", "ok": true, "detail": "외 +347 · 기 -346 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+89%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.88% (환산) vs 평균 3.06% (보류 4배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 202,500"}, {"label": "거래량 급증", "ok": false, "detail": "945,144 (환산) vs 평균 591,925"}, {"label": "회전율 급증", "ok": false, "detail": "4.88% (환산) vs 평균 3.06%"}, {"label": "RSI", "ok": true, "detail": "42"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 154,593 (현재 103,900)"}]}
+{"ts": "2026-07-30T13:08:09.888036+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 100700, "qty": 68, "proceeds": 6834247, "entry_price": 103900, "pnl": -232013, "pnl_pct": -3.08, "hold_from": "2026-07-30T12:00:09.155157+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "100,700 (현재 100,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 110,300"}, {"label": "추세(60일선)", "ok": true, "detail": "98,795"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +331 · 기 -349"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 115,207"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v321/portfolio.json b/agents/stock/workspace/state/sim/variants/v321/portfolio.json
index 1f7ebb4..0cc9c9c 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": 51792411.834499955,
+ "cash": 52441095.010499954,
"initial": 100000000,
"positions": {
"090850": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 4673122.761535364,
"last_add_price": 6030
@@ -39,32 +39,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3126423.8386076577,
"last_add_price": 353000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 100,
- "entry_price": 101111.0,
- "entry_at": "2026-07-22T09:04:02.279488+09:00",
- "stop": 92100,
- "target": 119133,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5091078.5264822515,
- "last_add_price": 103100
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -81,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,014 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 6126434.205091702,
"last_add_price": 18950
@@ -92,27 +71,69 @@
"sources": [
"auto"
],
- "qty": 34,
- "entry_price": 123400,
+ "qty": 67,
+ "entry_price": 124877.6119402985,
"entry_at": "2026-07-29T10:24:01.567880+09:00",
- "stop": 113016,
- "target": 144168,
- "peak": 123600,
+ "stop": 114151,
+ "target": 146331,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 4270833.924939413,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 262,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:09.574292+09:00",
+ "stop": 4793,
+ "target": 8804,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1611587.634102893,
+ "last_add_price": 6130
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 31,
+ "entry_price": 87900,
+ "entry_at": "2026-07-30T12:04:10.495424+09:00",
+ "stop": 76706,
+ "target": 110287,
+ "peak": 89200,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 2739632.6261488674,
+ "last_add_price": 87900
}
},
- "realized_pnl": -6429512.394000007,
- "closed_trades": 20,
+ "realized_pnl": -7390010.559000008,
+ "closed_trades": 21,
"wins": 1,
"peak_equity": 101868947.08549999,
- "max_drawdown": 0.08605875982640725,
+ "max_drawdown": 0.09083996978228524,
"last_exit": {
"403870": "2026-06-26",
"093370": "2026-07-07",
@@ -126,8 +147,9 @@
"105560": "2026-07-20",
"252990": "2026-07-28",
"010950": "2026-07-28",
- "003680": "2026-07-29"
+ "003680": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-22T09:00:04.885428+09:00",
- "updated_at": "2026-07-29T15:28:01.583434+09:00"
+ "updated_at": "2026-07-30T15:28:09.551024+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 dc61f4e..31791e1 100644
--- a/agents/stock/workspace/state/sim/variants/v321/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v321/trades.jsonl
@@ -60,3 +60,7 @@
{"ts": "2026-07-29T10:18:05.870639+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 116400, "qty": 21, "proceeds": 2439633, "entry_price": 136700, "pnl": -431497, "pnl_pct": -14.85, "hold_from": "2026-07-24T09:00:22.602262+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "117,686 (현재 115,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 208,700"}, {"label": "추세(20일선)", "ok": false, "detail": "134,205"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +445 · 기 -685"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T10:24:01.567881+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 34, "cost": 4196229, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 144168, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "123,400 vs 113,725"}, {"label": "정배열(5>20)", "ok": true, "detail": "118,140 / 113,725"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T13:14:05.559930+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 564, "proceeds": 3140983, "entry_price": 6624, "pnl": -595397, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:04.434308+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,672"}, {"label": "추세(20일선)", "ok": true, "detail": "4,782"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:09.574293+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 262, "cost": 1606301, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 8804, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:50:09.299262+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 33, "cost": 4171826, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 144168, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,168"}, {"label": "추세(20일선)", "ok": true, "detail": "113,865"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
+{"ts": "2026-07-30T11:58:10.531348+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 100, "proceeds": 9152118, "entry_price": 101111, "pnl": -960498, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:02.279488+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,133"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T12:04:10.495425+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 87900, "qty": 31, "cost": 2725309, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 76706, "target": 110287, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "87,900 vs 75,055"}, {"label": "정배열(5>20)", "ok": true, "detail": "82,940 / 75,055"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "82,940 / 75,053"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+61.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +280 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+17%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.79% (환산) vs 평균 0.42% (보류 5배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "728,608 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.79% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v4/portfolio.json b/agents/stock/workspace/state/sim/variants/v4/portfolio.json
index f22f5f2..3c9b317 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": 7656620.66299994,
+ "cash": 9408604.226999938,
"initial": 100000000,
"positions": {
"010950": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 126900,
+ "cur_price": 129000,
"tranches": 2,
"tranche_value": 5165873.995968748,
"last_add_price": 130800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 5300993.7131562475,
"last_add_price": 6030
@@ -60,32 +60,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5436208.582218748,
"last_add_price": 353000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 102,
- "entry_price": 101111.76470588235,
- "entry_at": "2026-07-22T09:04:01.770270+09:00",
- "stop": 92100,
- "target": 119135,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5171696.920343747,
- "last_add_price": 103100
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -102,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,032 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 4918301.825124997,
"last_add_price": 18950
@@ -118,12 +97,12 @@
"entry_at": "2026-07-29T09:02:01.736117+09:00",
"stop": 111200,
"target": 135149,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 4687948.173093746,
"last_add_price": 120500
@@ -134,27 +113,48 @@
"sources": [
"auto"
],
- "qty": 54,
- "entry_price": 88200,
+ "qty": 100,
+ "entry_price": 89856.0,
"entry_at": "2026-07-29T10:10:03.435326+09:00",
- "stop": 77406,
- "target": 109787,
- "peak": 88900,
+ "stop": 78691,
+ "target": 112186,
+ "peak": 92300,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
- "tranches": 1,
+ "cur_price": 85700,
+ "tranches": 2,
"tranche_value": 4788742.374812496,
- "last_add_price": 88200
+ "last_add_price": 91800
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 548,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.331645+09:00",
+ "stop": 4793,
+ "target": 8804,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 3363400.360988703,
+ "last_add_price": 6130
}
},
- "realized_pnl": -27112326.14650003,
- "closed_trades": 29,
+ "realized_pnl": -28092112.28650003,
+ "closed_trades": 30,
"wins": 1,
"peak_equity": 101588073.90899995,
- "max_drawdown": 0.2897708570827829,
+ "max_drawdown": 0.2931323386313542,
"last_exit": {
"030000": "2026-07-15",
"003490": "2026-07-13",
@@ -173,8 +173,9 @@
"095610": "2026-07-28",
"252990": "2026-07-28",
"086790": "2026-07-28",
- "003680": "2026-07-29"
+ "003680": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-11T09:00:01.943227+09:00",
- "updated_at": "2026-07-29T15:28:01.425891+09:00"
+ "updated_at": "2026-07-30T15:28:06.315711+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 bd3fc5e..496a1a7 100644
--- a/agents/stock/workspace/state/sim/variants/v4/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v4/trades.jsonl
@@ -85,3 +85,6 @@
{"ts": "2026-07-29T09:24:06.128891+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18950, "qty": 259, "cost": 4908786, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 17760, "target": 21990, "signals": [{"label": "손절선", "ok": true, "detail": "17,760 (현재 20,750)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 21,990"}, {"label": "추세(20일선)", "ok": true, "detail": "18,884"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +99 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 19,488"}]}
{"ts": "2026-07-29T10:10:03.435329+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 54, "cost": 4763514, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77406, "target": 109787, "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": "+58.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -65 · 기 +296 (천주)"}, {"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.64% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "590,411 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.64% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T13:06:06.429450+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5690, "qty": 1308, "proceeds": 7428007, "entry_price": 6936, "pnl": -1646074, "pnl_pct": -17.97, "hold_from": "2026-07-28T09:00:13.884588+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,741 (현재 5,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,327"}, {"label": "추세(20일선)", "ok": true, "detail": "4,787"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:06.331655+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 548, "cost": 3359744, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 8804, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:10.369006+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91800, "qty": 46, "cost": 4223433, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77406, "target": 109787, "signals": [{"label": "손절선", "ok": true, "detail": "77,406 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 109,787"}, {"label": "추세(20일선)", "ok": true, "detail": "75,250"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -49 · 기 +276"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,991"}]}
+{"ts": "2026-07-30T11:58:07.751923+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 102, "proceeds": 9335161, "entry_price": 101112, "pnl": -979786, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.770270+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,135"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v40/portfolio.json b/agents/stock/workspace/state/sim/variants/v40/portfolio.json
index f8aa110..6ba3144 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": 7066628.436499968,
+ "cash": 9116474.296499968,
"initial": 100000000,
"positions": {
"010950": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 126900,
+ "cur_price": 129000,
"tranches": 2,
"tranche_value": 5048122.616093748,
"last_add_price": 130800
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 5189689.564218748,
"last_add_price": 6030
@@ -60,32 +60,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5321475.422124998,
"last_add_price": 353000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 99,
- "entry_price": 101130.30303030302,
- "entry_at": "2026-07-22T09:04:01.775234+09:00",
- "stop": 92100,
- "target": 128221,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5058668.1596249975,
- "last_add_price": 103100
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -102,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,032 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 4811346.680156248,
"last_add_price": 18950
@@ -118,12 +97,12 @@
"entry_at": "2026-07-28T12:56:02.834691+09:00",
"stop": 111200,
"target": 142130,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 117,994 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 4617848.732749999,
"last_add_price": 120300
@@ -134,27 +113,48 @@
"sources": [
"auto"
],
- "qty": 53,
- "entry_price": 88200,
+ "qty": 61,
+ "entry_price": 88672.13114754099,
"entry_at": "2026-07-29T10:10:03.440312+09:00",
- "stop": 77406,
- "target": 120581,
- "peak": 88900,
+ "stop": 77507,
+ "target": 122167,
+ "peak": 92300,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
- "tranches": 1,
+ "cur_price": 85700,
+ "tranches": 2,
"tranche_value": 4696174.398124998,
- "last_add_price": 88200
+ "last_add_price": 91800
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 1043,
+ "entry_price": 6016.586768935762,
+ "entry_at": "2026-07-30T09:00:15.365910+09:00",
+ "stop": 4680,
+ "target": 10027,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,798 도달",
+ "cur_price": 5800,
+ "tranches": 2,
+ "tranche_value": 3141444.6444992432,
+ "last_add_price": 6250
}
},
- "realized_pnl": -28691816.775500022,
- "closed_trades": 31,
+ "realized_pnl": -29644621.24550002,
+ "closed_trades": 32,
"wins": 1,
"peak_equity": 102181273.23399998,
- "max_drawdown": 0.30887650739312006,
+ "max_drawdown": 0.3104091183603114,
"last_exit": {
"030000": "2026-07-16",
"003490": "2026-07-13",
@@ -175,8 +175,9 @@
"252990": "2026-07-28",
"086790": "2026-07-28",
"095610": "2026-07-28",
- "003680": "2026-07-29"
+ "003680": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-11T09:00:01.943590+09:00",
- "updated_at": "2026-07-29T15:28:01.428331+09:00"
+ "updated_at": "2026-07-30T15:28:06.319931+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 26bbbb8..64ac335 100644
--- a/agents/stock/workspace/state/sim/variants/v40/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v40/trades.jsonl
@@ -90,3 +90,7 @@
{"ts": "2026-07-29T09:24:07.819505+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6710, "qty": 579, "cost": 3885673, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 5202, "target": 10115, "signals": [{"label": "손절선", "ok": true, "detail": "5,202 (현재 8,460)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 10,115"}, {"label": "추세(20일선)", "ok": true, "detail": "4,732"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +188 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,686"}]}
{"ts": "2026-07-29T10:10:03.440315+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 88200, "qty": 53, "cost": 4675301, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 77406, "target": 120581, "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": "+58.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -65 · 기 +296 (천주)"}, {"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.64% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "590,411 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.64% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T13:16:01.439954+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5510, "qty": 1183, "proceeds": 6505619, "entry_price": 6567, "pnl": -1264356, "pnl_pct": -16.1, "hold_from": "2026-07-29T09:00:08.523926+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,543 (현재 5,510)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,640"}, {"label": "추세(20일선)", "ok": true, "detail": "4,778"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:00:15.365924+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 5800, "qty": 541, "cost": 3138271, "path": "pullback", "reason": "눌림목 지정가 7,798 도달", "stop": 4476, "target": 9772, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "5,850 vs 4,795"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,128 / 4,795"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,128 / 4,862"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+59.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.57% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "35,220 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "0.57% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "57"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,798 (현재 5,850)"}]}
+{"ts": "2026-07-30T09:08:10.443796+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6250, "qty": 502, "cost": 3137971, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 4476, "target": 9772, "signals": [{"label": "손절선", "ok": true, "detail": "4,476 (현재 6,240)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,772"}, {"label": "추세(20일선)", "ok": true, "detail": "4,814"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +234 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,134"}]}
+{"ts": "2026-07-30T09:16:10.381713+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 91800, "qty": 8, "cost": 734510, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 77406, "target": 120581, "signals": [{"label": "손절선", "ok": true, "detail": "77,406 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 120,581"}, {"label": "추세(20일선)", "ok": true, "detail": "75,250"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -49 · 기 +276"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 90,991"}]}
+{"ts": "2026-07-30T11:58:07.766674+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 99, "proceeds": 9060597, "entry_price": 101130, "pnl": -952804, "pnl_pct": -9.32, "hold_from": "2026-07-22T09:04:01.775234+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 128,221"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v41/portfolio.json b/agents/stock/workspace/state/sim/variants/v41/portfolio.json
index 1bd48fa..db4fae2 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": 36778932.17399995,
+ "cash": 27997740.91649995,
"initial": 100000000,
"positions": {
"090850": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 5574203.138812498,
"last_add_price": 6150
@@ -39,32 +39,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5255953.704843747,
"last_add_price": 356000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 104,
- "entry_price": 101112.5,
- "entry_at": "2026-07-22T09:04:01.778302+09:00",
- "stop": 92100,
- "target": 114631,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5321153.224531247,
- "last_add_price": 103100
- },
"138040": {
"code": "138040",
"name": "메리츠금융지주",
@@ -76,22 +55,106 @@
"entry_at": "2026-07-29T09:02:02.146702+09:00",
"stop": 111200,
"target": 131160,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 4936882.865843747,
"last_add_price": 120500
+ },
+ "030000": {
+ "code": "030000",
+ "name": "제일기획",
+ "sources": [
+ "auto"
+ ],
+ "qty": 256,
+ "entry_price": 19090,
+ "entry_at": "2026-07-30T09:04:06.397500+09:00",
+ "stop": 17760,
+ "target": 21085,
+ "peak": 19430,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 20,019 도달",
+ "cur_price": 19130,
+ "tranches": 1,
+ "tranche_value": 4906716.385874997,
+ "last_add_price": 19090
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 587,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.399023+09:00",
+ "stop": 4793,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 3600140.7067564675,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 37,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:10.765410+09:00",
+ "stop": 116144,
+ "target": 153035,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 4967738.085718747,
+ "last_add_price": 130900
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 54,
+ "entry_price": 92000,
+ "entry_at": "2026-07-30T09:22:06.717243+09:00",
+ "stop": 80806,
+ "target": 108790,
+ "peak": 92000,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 4971463.304781247,
+ "last_add_price": 92000
}
},
- "realized_pnl": -21749247.986000028,
- "closed_trades": 33,
+ "realized_pnl": -22748322.101000026,
+ "closed_trades": 34,
"wins": 5,
"peak_equity": 101897668.8475,
- "max_drawdown": 0.23494027826415184,
+ "max_drawdown": 0.24548322070484505,
"last_exit": {
"030000": "2026-07-29",
"005930": "2026-06-23",
@@ -111,8 +174,9 @@
"086790": "2026-07-28",
"010950": "2026-07-29",
"078930": "2026-07-29",
- "003680": "2026-07-29"
+ "003680": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-11T09:00:01.943599+09:00",
- "updated_at": "2026-07-29T15:28:01.430740+09:00"
+ "updated_at": "2026-07-30T15:28:06.323256+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 157dbd6..b728064 100644
--- a/agents/stock/workspace/state/sim/variants/v41/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v41/trades.jsonl
@@ -89,3 +89,8 @@
{"ts": "2026-07-29T09:24:08.203504+09:00", "side": "SELL", "code": "078930", "name": "GS", "price": 87700, "qty": 108, "proceeds": 9453130, "entry_price": 95472, "pnl": -859416, "pnl_pct": -8.14, "hold_from": "2026-07-24T09:26:00.964078+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "83,564 (현재 83,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 113,334"}, {"label": "추세(20일선)", "ok": true, "detail": "74,040"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -59 · 기 +284"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T09:26:01.416304+09:00", "side": "SELL", "code": "030000", "name": "제일기획", "price": 18940, "qty": 264, "proceeds": 4990410, "entry_price": 18860, "pnl": 10623, "pnl_pct": 0.42, "hold_from": "2026-07-29T09:02:02.143539+09:00", "reason": "트레일링 익절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "19,645 (현재 18,950)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "18,852"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +99 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T09:26:01.827421+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6610, "qty": 635, "proceeds": 4189165, "entry_price": 6540, "pnl": 35642, "pnl_pct": 1.07, "hold_from": "2026-07-29T09:02:02.145798+09:00", "reason": "트레일링 익절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "7,526 (현재 6,610)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "4,833"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +188 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:06.397508+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 19090, "qty": 256, "cost": 4887773, "path": "pullback", "reason": "눌림목 지정가 20,019 도달", "stop": 17760, "target": 21085, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "19,100 vs 18,860"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,606 / 18,860"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,606 / 19,360"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+29.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +2 · 기 +327 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "160,727 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 20,019 (현재 19,100)"}]}
+{"ts": "2026-07-30T09:04:06.399029+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 587, "cost": 3598850, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 8135, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:10.765432+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 37, "cost": 4844026, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 153035, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "130,900 vs 108,870"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,360 / 108,870"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:22:06.717254+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92000, "qty": 54, "cost": 4968745, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 80806, "target": 108790, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "91,800 vs 75,250"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,720 / 75,250"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+67.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +276 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.64% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "593,600 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.64% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "70"}]}
+{"ts": "2026-07-30T11:58:07.772098+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 104, "proceeds": 9518203, "entry_price": 101112, "pnl": -999074, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.778302+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 114,631"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v47/portfolio.json b/agents/stock/workspace/state/sim/variants/v47/portfolio.json
index 7f76df0..bcaff99 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": 29292912.222500023,
+ "cash": 27310820.51250002,
"initial": 100000000,
"positions": {
"090850": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 5641745.372468753,
"last_add_price": 6150
@@ -39,32 +39,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 4924744.715894901,
"last_add_price": 356000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 108,
- "entry_price": 101113.88888888889,
- "entry_at": "2026-07-22T09:04:01.781295+09:00",
- "stop": 92100,
- "target": 119142,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5528357.121031252,
- "last_add_price": 103100
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -81,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,032 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5453618.912812501,
"last_add_price": 18950
@@ -97,22 +76,85 @@
"entry_at": "2026-07-29T09:02:02.153762+09:00",
"stop": 111408,
"target": 134739,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5227428.575000001,
"last_add_price": 120500
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 410,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.405133+09:00",
+ "stop": 5127,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2519326.1696107937,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 37,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:10.777365+09:00",
+ "stop": 119833,
+ "target": 153035,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 4937127.35216398,
+ "last_add_price": 130900
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 49,
+ "entry_price": 92000,
+ "entry_at": "2026-07-30T09:22:06.724327+09:00",
+ "stop": 83605,
+ "target": 108790,
+ "peak": 92000,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 4580784.040136987,
+ "last_add_price": 92000
}
},
- "realized_pnl": -17798892.738500018,
- "closed_trades": 39,
+ "realized_pnl": -18836542.80350002,
+ "closed_trades": 40,
"wins": 3,
"peak_equity": 101509906.21500002,
- "max_drawdown": 0.1956453782001949,
+ "max_drawdown": 0.2027623359133649,
"last_exit": {
"030000": "2026-07-24",
"005930": "2026-06-23",
@@ -132,8 +174,9 @@
"252990": "2026-07-28",
"078930": "2026-07-29",
"010950": "2026-07-29",
- "003680": "2026-07-29"
+ "003680": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-11T09:00:01.943663+09:00",
- "updated_at": "2026-07-29T15:28:01.433085+09:00"
+ "updated_at": "2026-07-30T15:28:06.326420+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 533f61c..40c51ff 100644
--- a/agents/stock/workspace/state/sim/variants/v47/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v47/trades.jsonl
@@ -107,3 +107,7 @@
{"ts": "2026-07-29T09:24:08.213720+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 18950, "qty": 287, "cost": 5439466, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 18023, "target": 21254, "signals": [{"label": "손절선", "ok": true, "detail": "18,023 (현재 20,750)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 21,254"}, {"label": "추세(20일선)", "ok": true, "detail": "18,884"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +99 · 기 +138"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 19,418"}]}
{"ts": "2026-07-29T09:24:08.214588+09:00", "side": "SELL", "code": "010950", "name": "S-Oil", "price": 128600, "qty": 77, "proceeds": 9882891, "entry_price": 134570, "pnl": -480564, "pnl_pct": -4.44, "hold_from": "2026-07-09T09:10:01.782992+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "122,978 (현재 116,900)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 157,755"}, {"label": "추세(20일선)", "ok": true, "detail": "107,870"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +43 · 기 +245"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T11:18:04.388271+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6000, "qty": 966, "proceeds": 5784698, "entry_price": 6936, "pnl": -916827, "pnl_pct": -13.5, "hold_from": "2026-07-28T09:00:14.245132+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "6,040 (현재 6,020)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,729"}, {"label": "추세(20일선)", "ok": true, "detail": "4,803"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:06.405136+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 410, "cost": 2513677, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 5127, "target": 8135, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:10.777370+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 37, "cost": 4844026, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 119833, "target": 153035, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "130,900 vs 108,870"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,360 / 108,870"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:22:06.724331+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 92000, "qty": 49, "cost": 4508676, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 83605, "target": 108790, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "91,800 vs 75,250"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,720 / 75,250"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,720 / 75,118"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+67.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +276 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+12%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.64% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "593,600 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.64% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "70"}]}
+{"ts": "2026-07-30T11:58:07.777847+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 108, "proceeds": 9884288, "entry_price": 101114, "pnl": -1037650, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.781295+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,142"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v49/portfolio.json b/agents/stock/workspace/state/sim/variants/v49/portfolio.json
index 9ced743..6bc20f7 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": 50297396.342999965,
+ "cash": 31241968.457499966,
"initial": 100000000,
"positions": {
"090850": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 5884930.790312499,
"last_add_price": 6150
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5130167.1298944345,
"last_add_price": 356000
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 5068034.013537591,
"last_add_price": 91400
@@ -81,17 +81,80 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 126900,
+ "cur_price": 129000,
"tranches": 1,
"tranche_value": 5157062.809471096,
"last_add_price": 131400
+ },
+ "030000": {
+ "code": "030000",
+ "name": "제일기획",
+ "sources": [
+ "auto"
+ ],
+ "qty": 285,
+ "entry_price": 19090,
+ "entry_at": "2026-07-30T09:04:06.410627+09:00",
+ "stop": 17993,
+ "target": 20736,
+ "peak": 19430,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 19,653 도달",
+ "cur_price": 19130,
+ "tranches": 1,
+ "tranche_value": 5456367.896437498,
+ "last_add_price": 19090
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 434,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.411459+09:00",
+ "stop": 5127,
+ "target": 7634,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2664162.4855678705,
+ "last_add_price": 6130
+ },
+ "138040": {
+ "code": "138040",
+ "name": "메리츠금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 87,
+ "entry_price": 125879.31034482758,
+ "entry_at": "2026-07-30T09:16:10.784226+09:00",
+ "stop": 117674,
+ "target": 138188,
+ "peak": 127600,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 123100,
+ "tranches": 2,
+ "tranche_value": 5545775.073906248,
+ "last_add_price": 127700
}
},
"realized_pnl": -12937769.759000018,
"closed_trades": 35,
"wins": 4,
"peak_equity": 100822831.297,
- "max_drawdown": 0.14325643947106462,
+ "max_drawdown": 0.14611395702729468,
"last_exit": {
"030000": "2026-07-29",
"005930": "2026-06-23",
@@ -112,5 +175,5 @@
"138040": "2026-07-29"
},
"created_at": "2026-06-11T09:00:01.943683+09:00",
- "updated_at": "2026-07-29T15:28:01.435349+09:00"
+ "updated_at": "2026-07-30T15:28:06.329446+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 ccad7d4..adde44e 100644
--- a/agents/stock/workspace/state/sim/variants/v49/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v49/trades.jsonl
@@ -88,3 +88,7 @@
{"ts": "2026-07-29T10:24:01.399657+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 45, "cost": 5553833, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 115612, "target": 135082, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "123,400 vs 113,725"}, {"label": "정배열(5>20)", "ok": true, "detail": "118,140 / 113,725"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T12:50:05.433573+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 108000, "qty": 32, "proceeds": 3449261, "entry_price": 130288, "pnl": -720565, "pnl_pct": -17.11, "hold_from": "2026-07-27T09:02:06.154479+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "108,775 (현재 108,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,878"}, {"label": "추세(20일선)", "ok": false, "detail": "133,815"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +449 · 기 -685"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T14:20:01.471524+09:00", "side": "SELL", "code": "138040", "name": "메리츠금융지주", "price": 115500, "qty": 45, "proceeds": 5187365, "entry_price": 123400, "pnl": -366468, "pnl_pct": -6.4, "hold_from": "2026-07-29T10:24:01.399654+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "115,612 (현재 115,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 135,082"}, {"label": "추세(20일선)", "ok": true, "detail": "113,330"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +44 · 기 +333"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,053"}]}
+{"ts": "2026-07-30T09:04:06.410631+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 19090, "qty": 285, "cost": 5441466, "path": "pullback", "reason": "눌림목 지정가 19,653 도달", "stop": 17993, "target": 20736, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "19,100 vs 18,860"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,606 / 18,860"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,606 / 19,360"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+29.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +2 · 기 +327 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "160,727 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,653 (현재 19,100)"}]}
+{"ts": "2026-07-30T09:04:06.411463+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 434, "cost": 2660819, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 5127, "target": 7634, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:10.784230+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 124100, "qty": 44, "cost": 5461219, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116280, "target": 135830, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "124,000 vs 113,755"}, {"label": "정배열(5>20)", "ok": true, "detail": "118,260 / 113,755"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,260 / 110,085"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+54.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +9 · 기 +389 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.31% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "518,220 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.31% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T10:10:06.773376+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 43, "cost": 5491924, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116280, "target": 135830, "signals": [{"label": "손절선", "ok": true, "detail": "116,280 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 135,830"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,835"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v51/portfolio.json b/agents/stock/workspace/state/sim/variants/v51/portfolio.json
index 8c94de9..c22d064 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": 40106283.784499966,
+ "cash": 22432963.18399996,
"initial": 100000000,
"positions": {
"090850": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 5789608.164124999,
"last_add_price": 6150
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 4981626.338033037,
"last_add_price": 356000
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 4903174.469139825,
"last_add_price": 91400
@@ -81,17 +81,80 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,673 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5570046.781437498,
"last_add_price": 18950
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 409,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.416289+09:00",
+ "stop": 5127,
+ "target": 9138,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2513570.2512412006,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 37,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:10.789046+09:00",
+ "stop": 119833,
+ "target": 164102,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 4918744.488166665,
+ "last_add_price": 130900
+ },
+ "138040": {
+ "code": "138040",
+ "name": "메리츠금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 82,
+ "entry_price": 125856.09756097561,
+ "entry_at": "2026-07-30T09:16:10.789698+09:00",
+ "stop": 117650,
+ "target": 150473,
+ "peak": 127600,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 123100,
+ "tranches": 2,
+ "tranche_value": 5230787.575874997,
+ "last_add_price": 127700
}
},
"realized_pnl": -18045479.921500016,
"closed_trades": 33,
"wins": 1,
"peak_equity": 100822831.297,
- "max_drawdown": 0.19288516115177476,
+ "max_drawdown": 0.19571646480420946,
"last_exit": {
"030000": "2026-07-24",
"005930": "2026-06-23",
@@ -112,5 +175,5 @@
"010950": "2026-07-29"
},
"created_at": "2026-06-11T09:00:01.943703+09:00",
- "updated_at": "2026-07-29T15:28:01.437517+09:00"
+ "updated_at": "2026-07-30T15:28:06.332253+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 6714f1c..e6b3e84 100644
--- a/agents/stock/workspace/state/sim/variants/v51/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v51/trades.jsonl
@@ -87,3 +87,7 @@
{"ts": "2026-07-29T11:18:04.393703+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6000, "qty": 965, "proceeds": 5778710, "entry_price": 6936, "pnl": -915715, "pnl_pct": -13.5, "hold_from": "2026-07-28T09:00:14.457978+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "6,040 (현재 6,020)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,626"}, {"label": "추세(20일선)", "ok": true, "detail": "4,803"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T12:50:05.436282+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 108000, "qty": 30, "proceeds": 3233682, "entry_price": 130253, "pnl": -674504, "pnl_pct": -17.08, "hold_from": "2026-07-27T09:02:06.169387+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "108,775 (현재 108,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 213,434"}, {"label": "추세(20일선)", "ok": false, "detail": "133,815"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +449 · 기 -685"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T14:20:01.474206+09:00", "side": "SELL", "code": "138040", "name": "메리츠금융지주", "price": 115500, "qty": 42, "proceeds": 4841541, "entry_price": 123400, "pnl": -342037, "pnl_pct": -6.4, "hold_from": "2026-07-29T10:24:01.403168+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "115,612 (현재 115,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 146,764"}, {"label": "추세(20일선)", "ok": true, "detail": "113,330"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +44 · 기 +333"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,053"}]}
+{"ts": "2026-07-30T09:04:06.416292+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 409, "cost": 2507546, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 5127, "target": 9138, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:10.789049+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 37, "cost": 4844026, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 119833, "target": 164102, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "130,900 vs 108,870"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,360 / 108,870"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:16:10.789701+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 124100, "qty": 42, "cost": 5212982, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116280, "target": 147560, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "124,000 vs 113,755"}, {"label": "정배열(5>20)", "ok": true, "detail": "118,260 / 113,755"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,260 / 110,085"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+54.4%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +9 · 기 +389 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.31% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "518,220 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.31% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T10:10:06.777966+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 40, "cost": 5108766, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116280, "target": 147560, "signals": [{"label": "손절선", "ok": true, "detail": "116,280 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 147,560"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,835"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v57/portfolio.json b/agents/stock/workspace/state/sim/variants/v57/portfolio.json
index 54a3e9b..0cee07a 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": 42888415.017999984,
+ "cash": 31928281.24449999,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3853827.2535399394,
"last_add_price": 350000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 5801931.81075,
"last_add_price": 6150
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3808102.9082436445,
"last_add_price": 91400
@@ -81,7 +81,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,643 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5827047.345624999,
"last_add_price": 18950
@@ -92,20 +92,62 @@
"sources": [
"auto"
],
- "qty": 42,
- "entry_price": 123400,
+ "qty": 83,
+ "entry_price": 124881.92771084337,
"entry_at": "2026-07-29T10:24:01.406743+09:00",
- "stop": 113016,
- "target": 144168,
- "peak": 123600,
+ "stop": 114155,
+ "target": 146335,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 5303741.017029563,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 323,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.420943+09:00",
+ "stop": 4793,
+ "target": 8804,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1986117.593344577,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 29,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:10.794886+09:00",
+ "stop": 116144,
+ "target": 160413,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3886259.5492520155,
+ "last_add_price": 130900
}
},
"realized_pnl": -13566324.17250001,
@@ -128,5 +170,5 @@
"252990": "2026-07-29"
},
"created_at": "2026-06-11T09:00:01.943761+09:00",
- "updated_at": "2026-07-29T15:28:01.439628+09:00"
+ "updated_at": "2026-07-30T15:28:06.334891+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 ab8c66d..46e6549 100644
--- a/agents/stock/workspace/state/sim/variants/v57/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v57/trades.jsonl
@@ -60,3 +60,6 @@
{"ts": "2026-07-29T10:52:02.321774+09:00", "side": "SELL", "code": "252990", "name": "샘씨엔에스", "price": 10340, "qty": 352, "proceeds": 3632583, "entry_price": 12162, "pnl": -649100, "pnl_pct": -14.98, "hold_from": "2026-07-27T09:12:01.063761+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,340 (현재 10,340)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 15,806"}, {"label": "추세(10일선)", "ok": false, "detail": "12,607"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +239 · 기 -181"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T12:04:01.659413+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 69, "proceeds": 8208762, "entry_price": 132575, "pnl": -940311, "pnl_pct": -10.09, "hold_from": "2026-07-10T09:26:06.407594+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,704 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 158,317"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.412634+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 701, "proceeds": 3903952, "entry_price": 6624, "pnl": -740104, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.173987+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,672"}, {"label": "추세(10일선)", "ok": true, "detail": "5,204"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:06.420947+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 323, "cost": 1980287, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 8804, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:10.794891+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 29, "cost": 3796669, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 160413, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "130,900 vs 108,560"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,360 / 108,560"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:50:06.633977+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 41, "cost": 5183177, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 144168, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,168"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v59/portfolio.json b/agents/stock/workspace/state/sim/variants/v59/portfolio.json
index c8712c0..735ad5f 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": 55717337.369,
+ "cash": 38970465.715,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3881692.4296628344,
"last_add_price": 350000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 5980,
+ "cur_price": 6130,
"tranches": 2,
"tranche_value": 5844217.815187501,
"last_add_price": 6150
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3836130.6371969497,
"last_add_price": 91400
@@ -71,20 +71,83 @@
"sources": [
"auto"
],
- "qty": 43,
- "entry_price": 123400,
+ "qty": 85,
+ "entry_price": 124882.35294117648,
"entry_at": "2026-07-29T10:24:01.409921+09:00",
- "stop": 113016,
- "target": 138976,
- "peak": 123600,
+ "stop": 114156,
+ "target": 140972,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 5325887.633449249,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "030000": {
+ "code": "030000",
+ "name": "제일기획",
+ "sources": [
+ "auto"
+ ],
+ "qty": 288,
+ "entry_price": 19090,
+ "entry_at": "2026-07-30T09:04:06.425150+09:00",
+ "stop": 17760,
+ "target": 21085,
+ "peak": 19430,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 19,653 도달",
+ "cur_price": 19130,
+ "tranches": 1,
+ "tranche_value": 5502496.0855625,
+ "last_add_price": 19090
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 328,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.425545+09:00",
+ "stop": 4793,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2015979.3969129766,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 30,
+ "entry_price": 130900,
+ "entry_at": "2026-07-30T09:16:10.799983+09:00",
+ "stop": 116144,
+ "target": 153035,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3941830.088447581,
+ "last_add_price": 130900
}
},
"realized_pnl": -12166245.891000014,
@@ -107,5 +170,5 @@
"252990": "2026-07-29"
},
"created_at": "2026-06-11T09:00:01.943780+09:00",
- "updated_at": "2026-07-29T15:28:01.441650+09:00"
+ "updated_at": "2026-07-30T15:28:06.337450+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 b913b01..36d7e76 100644
--- a/agents/stock/workspace/state/sim/variants/v59/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v59/trades.jsonl
@@ -58,3 +58,7 @@
{"ts": "2026-07-29T10:24:01.409923+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 43, "cost": 5306996, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 138976, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "123,400 vs 116,950"}, {"label": "정배열(5>10)", "ok": true, "detail": "118,140 / 116,950"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T10:52:02.324133+09:00", "side": "SELL", "code": "252990", "name": "샘씨엔에스", "price": 10340, "qty": 354, "proceeds": 3653222, "entry_price": 12162, "pnl": -652924, "pnl_pct": -14.98, "hold_from": "2026-07-27T09:12:01.066101+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,340 (현재 10,340)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 14,896"}, {"label": "추세(10일선)", "ok": false, "detail": "12,607"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +239 · 기 -181"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T12:04:01.661815+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 69, "proceeds": 8208762, "entry_price": 132575, "pnl": -940311, "pnl_pct": -10.09, "hold_from": "2026-07-10T09:26:06.410608+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "119,704 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 151,882"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
+{"ts": "2026-07-30T09:04:06.425153+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 19090, "qty": 288, "cost": 5498745, "path": "pullback", "reason": "눌림목 지정가 19,653 도달", "stop": 17760, "target": 21085, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "19,100 vs 18,958"}, {"label": "정배열(5>10)", "ok": true, "detail": "19,606 / 18,958"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,606 / 19,360"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+29.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +2 · 기 +327 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "160,727 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,653 (현재 19,100)"}]}
+{"ts": "2026-07-30T09:04:06.425548+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 328, "cost": 2010942, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 8135, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:10.799986+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 130900, "qty": 30, "cost": 3927589, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116144, "target": 153035, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "130,900 vs 108,560"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,360 / 108,560"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,360 / 113,212"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+49.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+21%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "571,193 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:50:06.638591+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 42, "cost": 5309596, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 138976, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 138,976"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v81/portfolio.json b/agents/stock/workspace/state/sim/variants/v81/portfolio.json
index f058b8c..d72845a 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": 51711548.16049999,
+ "cash": 28868902.277499985,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5037472.695242855,
"last_add_price": 356000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 4937498.49310549,
"last_add_price": 90900
@@ -60,17 +60,101 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,673 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5615843.6254062485,
"last_add_price": 18950
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 414,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.429275+09:00",
+ "stop": 5127,
+ "target": 9138,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2538875.733917572,
+ "last_add_price": 6130
+ },
+ "138040": {
+ "code": "138040",
+ "name": "메리츠금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 81,
+ "entry_price": 126029.62962962964,
+ "entry_at": "2026-07-30T09:22:07.133630+09:00",
+ "stop": 117824,
+ "target": 150647,
+ "peak": 127600,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 123100,
+ "tranches": 2,
+ "tranche_value": 5224397.342968749,
+ "last_add_price": 127700
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 37,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:06.883098+09:00",
+ "stop": 120690,
+ "target": 165130,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 4964007.507625787,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 828,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:06.834961+09:00",
+ "stop": 5917,
+ "target": 7450,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5219971.308593749,
+ "last_add_price": 6300
}
},
"realized_pnl": -17511736.024500016,
"closed_trades": 33,
"wins": 1,
"peak_equity": 101012300.052,
- "max_drawdown": 0.1852881006260132,
+ "max_drawdown": 0.19446382039007026,
"last_exit": {
"030000": "2026-07-24",
"403870": "2026-07-02",
@@ -90,5 +174,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-11T09:00:01.943999+09:00",
- "updated_at": "2026-07-29T15:28:01.443610+09:00"
+ "updated_at": "2026-07-30T15:28:06.339938+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 ec081ba..42cf19f 100644
--- a/agents/stock/workspace/state/sim/variants/v81/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v81/trades.jsonl
@@ -85,3 +85,8 @@
{"ts": "2026-07-29T11:18:04.400651+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6000, "qty": 972, "proceeds": 5820628, "entry_price": 6936, "pnl": -922544, "pnl_pct": -13.5, "hold_from": "2026-07-28T09:00:14.772290+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "6,040 (현재 6,020)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,626"}, {"label": "추세(20일선)", "ok": true, "detail": "4,803"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T12:50:05.443983+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 108000, "qty": 30, "proceeds": 3233682, "entry_price": 130253, "pnl": -674504, "pnl_pct": -17.08, "hold_from": "2026-07-27T09:02:06.188674+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "108,775 (현재 108,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 213,434"}, {"label": "추세(20일선)", "ok": false, "detail": "133,815"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +449 · 기 -685"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T14:20:01.481661+09:00", "side": "SELL", "code": "138040", "name": "메리츠금융지주", "price": 115500, "qty": 43, "proceeds": 4956815, "entry_price": 123400, "pnl": -350181, "pnl_pct": -6.4, "hold_from": "2026-07-29T10:24:01.412832+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "115,612 (현재 115,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 146,764"}, {"label": "추세(20일선)", "ok": true, "detail": "113,330"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +44 · 기 +333"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,053"}]}
+{"ts": "2026-07-30T09:04:06.429277+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 414, "cost": 2538201, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 5127, "target": 9138, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:22:07.133643+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 124400, "qty": 41, "cost": 5101165, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116537, "target": 147989, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "124,300 vs 113,770"}, {"label": "정배열(5>20)", "ok": true, "detail": "118,320 / 113,770"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,320 / 110,090"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +9 · 기 +389 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+19%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.37% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "615,133 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.37% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:24:06.883102+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 37, "cost": 4877331, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 120690, "target": 165130, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "132,000 vs 108,925"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,580 / 108,925"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:06.834965+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 828, "cost": 5217182, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5917, "target": 7450, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,280 vs 5,353"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,722 / 5,353"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
+{"ts": "2026-07-30T10:10:06.788919+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 40, "cost": 5108766, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116537, "target": 147989, "signals": [{"label": "손절선", "ok": true, "detail": "116,537 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 147,989"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 127,135"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v87/portfolio.json b/agents/stock/workspace/state/sim/variants/v87/portfolio.json
index 6761f3d..d5c09fb 100644
--- a/agents/stock/workspace/state/sim/variants/v87/portfolio.json
+++ b/agents/stock/workspace/state/sim/variants/v87/portfolio.json
@@ -1,5 +1,5 @@
{
- "cash": 46968493.560500026,
+ "cash": 26196098.168500025,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3890688.706288562,
"last_add_price": 353000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3772217.360484817,
"last_add_price": 90900
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,012 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5741969.0092812525,
"last_add_price": 18950
@@ -76,15 +76,99 @@
"entry_at": "2026-07-29T09:02:02.189829+09:00",
"stop": 111200,
"target": 143142,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5371055.048125002,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 80,
+ "entry_price": 123201.25,
+ "entry_at": "2026-07-30T09:04:06.813997+09:00",
+ "stop": 111000,
+ "target": 159805,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 4981271.268392551,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 316,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.815760+09:00",
+ "stop": 4793,
+ "target": 10140,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1940893.4277356586,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 28,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:06.887684+09:00",
+ "stop": 116987,
+ "target": 176240,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3822476.0291991173,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 839,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:06.839455+09:00",
+ "stop": 5789,
+ "target": 7833,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5289690.268571919,
+ "last_add_price": 6300
}
},
"realized_pnl": -15901837.824500013,
@@ -109,5 +193,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-11T09:00:01.944063+09:00",
- "updated_at": "2026-07-29T15:28:01.445474+09:00"
+ "updated_at": "2026-07-30T15:28:06.342452+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 1a44481..fceb1c5 100644
--- a/agents/stock/workspace/state/sim/variants/v87/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v87/trades.jsonl
@@ -70,3 +70,8 @@
{"ts": "2026-07-29T12:04:01.666376+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 85, "proceeds": 10112243, "entry_price": 124176, "pnl": -444341, "pnl_pct": -4.01, "hold_from": "2026-07-02T10:18:03.775201+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "111,006 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 163,689"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:06:06.455900+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5690, "qty": 746, "proceeds": 4236463, "entry_price": 6936, "pnl": -938673, "pnl_pct": -17.97, "hold_from": "2026-07-28T09:00:14.873040+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,741 (현재 5,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 10,522"}, {"label": "추세(10일선)", "ok": true, "detail": "5,214"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.563886+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 823, "proceeds": 4813376, "entry_price": 6390, "pnl": -446383, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.360644+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,958"}, {"label": "추세(10일선)", "ok": true, "detail": "5,539"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:06.814009+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 41, "cost": 4974046, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 152200, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "121,200 vs 119,680"}, {"label": "정배열(5>10)", "ok": true, "detail": "120,840 / 119,680"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:06.815768+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 316, "cost": 1937371, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 10140, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.269187+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 39, "cost": 4883532, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 152200, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 152,200"}, {"label": "추세(10일선)", "ok": true, "detail": "120,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:24:06.887687+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 28, "cost": 3690954, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 176240, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "132,000 vs 108,670"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,580 / 108,670"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:06.839459+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 839, "cost": 5286493, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7833, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v89/portfolio.json b/agents/stock/workspace/state/sim/variants/v89/portfolio.json
index 352cd0b..b8d56fd 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": 42943729.53450002,
+ "cash": 38881310.74000001,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3886029.232766459,
"last_add_price": 353000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 110,
- "entry_price": 101114.54545454546,
- "entry_at": "2026-07-22T09:04:01.797798+09:00",
- "stop": 92100,
- "target": 119144,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5608975.567343752,
- "last_add_price": 103100
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,032 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5482718.585687501,
"last_add_price": 18950
@@ -76,22 +55,106 @@
"entry_at": "2026-07-29T09:02:02.194018+09:00",
"stop": 111200,
"target": 135155,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5271041.416343752,
"last_add_price": 120500
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 311,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.826621+09:00",
+ "stop": 4793,
+ "target": 8804,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1912579.0166285906,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 28,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:06.891980+09:00",
+ "stop": 116987,
+ "target": 161427,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3739719.499941269,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 822,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:06.843741+09:00",
+ "stop": 5789,
+ "target": 7322,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5179673.836232878,
+ "last_add_price": 6300
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 37,
+ "entry_price": 90600,
+ "entry_at": "2026-07-30T09:38:10.484615+09:00",
+ "stop": 79406,
+ "target": 112987,
+ "peak": 91100,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 3393712.720087548,
+ "last_add_price": 90600
}
},
- "realized_pnl": -16960807.048000015,
- "closed_trades": 31,
+ "realized_pnl": -18017745.088000014,
+ "closed_trades": 32,
"wins": 1,
"peak_equity": 101169385.00350003,
- "max_drawdown": 0.1817326009085055,
+ "max_drawdown": 0.19197936473398633,
"last_exit": {
"030000": "2026-07-24",
"035420": "2026-06-25",
@@ -110,8 +173,9 @@
"010950": "2026-07-29",
"078930": "2026-07-29",
"003680": "2026-07-29",
- "090850": "2026-07-29"
+ "090850": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-11T09:00:01.944112+09:00",
- "updated_at": "2026-07-29T15:28:01.447383+09:00"
+ "updated_at": "2026-07-30T15:28:06.344755+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 e8d8275..6583141 100644
--- a/agents/stock/workspace/state/sim/variants/v89/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v89/trades.jsonl
@@ -86,3 +86,8 @@
{"ts": "2026-07-29T09:28:01.362843+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6390, "qty": 808, "cost": 5163894, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5867, "target": 7435, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,380 vs 5,358"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,742 / 5,358"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,742 / 5,622"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +73 · 기 -3 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.62% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "134,413 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.62% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "73"}]}
{"ts": "2026-07-29T13:06:06.458168+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5690, "qty": 731, "proceeds": 4151279, "entry_price": 6936, "pnl": -919901, "pnl_pct": -17.97, "hold_from": "2026-07-28T09:00:14.978120+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,741 (현재 5,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,327"}, {"label": "추세(20일선)", "ok": true, "detail": "4,787"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.566378+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 808, "proceeds": 4725647, "entry_price": 6390, "pnl": -438247, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.362841+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,435"}, {"label": "추세(20일선)", "ok": true, "detail": "5,332"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:06.826626+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 311, "cost": 1906716, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 8804, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:24:06.891983+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 28, "cost": 3690954, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 161427, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "132,000 vs 108,925"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,580 / 108,925"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:06.843743+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 822, "cost": 5179377, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7322, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,280 vs 5,353"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,722 / 5,353"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
+{"ts": "2026-07-30T09:38:10.484618+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90600, "qty": 37, "cost": 3352703, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 79406, "target": 112987, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "90,300 vs 75,175"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,420 / 75,175"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,420 / 75,093"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+66.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +276 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.87% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "807,647 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.87% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T11:58:07.802699+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 110, "proceeds": 10067330, "entry_price": 101115, "pnl": -1056938, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.797798+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 119,144"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v91/portfolio.json b/agents/stock/workspace/state/sim/variants/v91/portfolio.json
index 7673301..beb6b04 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": 53638378.387,
+ "cash": 37497687.64650001,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3951428.5123865386,
"last_add_price": 353000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3752319.512236461,
"last_add_price": 90900
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,673 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5692204.9488125,
"last_add_price": 18950
@@ -71,27 +71,90 @@
"sources": [
"auto"
],
- "qty": 41,
- "entry_price": 123400,
+ "qty": 81,
+ "entry_price": 124881.48148148147,
"entry_at": "2026-07-29T10:24:01.421028+09:00",
- "stop": 113016,
- "target": 144168,
- "peak": 123600,
+ "stop": 114155,
+ "target": 146335,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 5181999.062519742,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 319,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.834508+09:00",
+ "stop": 4793,
+ "target": 8804,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1959914.5568897158,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 29,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:06.896060+09:00",
+ "stop": 116987,
+ "target": 161427,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3835706.3220700407,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 842,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:06.847411+09:00",
+ "stop": 5789,
+ "target": 7322,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5307134.285126712,
+ "last_add_price": 6300
}
},
"realized_pnl": -14868998.428000022,
"closed_trades": 28,
"wins": 1,
"peak_equity": 100686647.06200002,
- "max_drawdown": 0.15858109432493064,
+ "max_drawdown": 0.1624896636534699,
"last_exit": {
"030000": "2026-07-24",
"403870": "2026-07-07",
@@ -111,5 +174,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-11T09:00:01.944132+09:00",
- "updated_at": "2026-07-29T15:28:01.449203+09:00"
+ "updated_at": "2026-07-30T15:28:06.347032+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 ac7c938..a4f44e5 100644
--- a/agents/stock/workspace/state/sim/variants/v91/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v91/trades.jsonl
@@ -75,3 +75,7 @@
{"ts": "2026-07-29T10:24:01.421030+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 123400, "qty": 41, "cost": 5060159, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 113016, "target": 144168, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "123,400 vs 113,725"}, {"label": "정배열(5>20)", "ok": true, "detail": "118,140 / 113,725"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,140 / 110,075"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.9%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +47 · 기 +310 (천주)"}, {"label": "투자의견", "ok": true, "detail": "3.8/5"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.38% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "644,676 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.38% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "67"}]}
{"ts": "2026-07-29T13:14:05.423322+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 686, "proceeds": 3820416, "entry_price": 6624, "pnl": -724336, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.197529+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,672"}, {"label": "추세(20일선)", "ok": true, "detail": "4,782"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.568829+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 826, "proceeds": 4830921, "entry_price": 6390, "pnl": -448010, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.365006+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,435"}, {"label": "추세(20일선)", "ok": true, "detail": "5,332"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:06.834513+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 319, "cost": 1955763, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 8804, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:24:06.896063+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 29, "cost": 3822773, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 161427, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "132,000 vs 108,925"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,580 / 108,925"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:06.847413+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 842, "cost": 5305396, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7322, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,280 vs 5,353"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,722 / 5,353"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
+{"ts": "2026-07-30T09:50:06.653364+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 40, "cost": 5056758, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 144168, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,168"}, {"label": "추세(20일선)", "ok": true, "detail": "113,865"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v93/portfolio.json b/agents/stock/workspace/state/sim/variants/v93/portfolio.json
index dbceca5..4edc85a 100644
--- a/agents/stock/workspace/state/sim/variants/v93/portfolio.json
+++ b/agents/stock/workspace/state/sim/variants/v93/portfolio.json
@@ -1,5 +1,5 @@
{
- "cash": 46968493.560500026,
+ "cash": 26196098.168500025,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3890688.706288562,
"last_add_price": 353000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3772217.360484817,
"last_add_price": 90900
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,012 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5741969.0092812525,
"last_add_price": 18950
@@ -76,15 +76,99 @@
"entry_at": "2026-07-29T09:02:02.201631+09:00",
"stop": 111200,
"target": 135156,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5371055.048125002,
"last_add_price": 120500
+ },
+ "086790": {
+ "code": "086790",
+ "name": "하나금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 80,
+ "entry_price": 123201.25,
+ "entry_at": "2026-07-30T09:04:06.839634+09:00",
+ "stop": 111000,
+ "target": 147604,
+ "peak": 129950,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 122,665 도달",
+ "cur_price": 124500,
+ "tranches": 2,
+ "tranche_value": 4981271.268392551,
+ "last_add_price": 125200
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 316,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.840475+09:00",
+ "stop": 4793,
+ "target": 8804,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1940893.4277356586,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 28,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:06.899673+09:00",
+ "stop": 116987,
+ "target": 161427,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3822476.0291991173,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 839,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:06.851031+09:00",
+ "stop": 5789,
+ "target": 7322,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5289690.268571919,
+ "last_add_price": 6300
}
},
"realized_pnl": -15901837.824500013,
@@ -109,5 +193,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-11T09:00:01.944152+09:00",
- "updated_at": "2026-07-29T15:28:01.451006+09:00"
+ "updated_at": "2026-07-30T15:28:06.349204+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 f074a5a..bd67cc4 100644
--- a/agents/stock/workspace/state/sim/variants/v93/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v93/trades.jsonl
@@ -70,3 +70,8 @@
{"ts": "2026-07-29T12:04:01.672640+09:00", "side": "SELL", "code": "086790", "name": "하나금융지주", "price": 119200, "qty": 85, "proceeds": 10112243, "entry_price": 124176, "pnl": -444341, "pnl_pct": -4.01, "hold_from": "2026-07-02T10:18:03.803724+09:00", "reason": "추세·수급 이탈", "partial": false, "signals": [{"label": "손절선", "ok": true, "detail": "111,006 (현재 119,300)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 150,518"}, {"label": "추세(10일선)", "ok": false, "detail": "119,490"}, {"label": "수급(외/기)", "ok": false, "detail": "외 -11 · 기 -51"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:06:06.462495+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5690, "qty": 746, "proceeds": 4236463, "entry_price": 6936, "pnl": -938673, "pnl_pct": -17.97, "hold_from": "2026-07-28T09:00:15.195211+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,741 (현재 5,700)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 9,327"}, {"label": "추세(10일선)", "ok": true, "detail": "5,214"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.571204+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 823, "proceeds": 4813376, "entry_price": 6390, "pnl": -446383, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.367069+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,435"}, {"label": "추세(10일선)", "ok": true, "detail": "5,539"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:06.839637+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 121300, "qty": 41, "cost": 4974046, "path": "pullback", "reason": "눌림목 지정가 122,665 도달", "stop": 111000, "target": 141900, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "121,200 vs 119,680"}, {"label": "정배열(5>10)", "ok": true, "detail": "120,840 / 119,680"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "120,840 / 118,418"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+34.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -214 · 기 +182 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+36%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.18% (환산) vs 평균 0.37% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 130,700"}, {"label": "거래량 급증", "ok": false, "detail": "494,880 (환산) vs 평균 1,026,357"}, {"label": "회전율 급증", "ok": false, "detail": "0.18% (환산) vs 평균 0.37%"}, {"label": "RSI", "ok": true, "detail": "51"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 122,665 (현재 121,200)"}]}
+{"ts": "2026-07-30T09:04:06.840479+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 316, "cost": 1937371, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 8804, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:16:11.293090+09:00", "side": "BUY", "code": "086790", "name": "하나금융지주", "price": 125200, "qty": 39, "cost": 4883532, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 111000, "target": 141900, "signals": [{"label": "손절선", "ok": true, "detail": "111,000 (현재 125,400)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 141,900"}, {"label": "추세(10일선)", "ok": true, "detail": "120,100"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -214 · 기 +182"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 124,618"}]}
+{"ts": "2026-07-30T09:24:06.899675+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 28, "cost": 3690954, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 161427, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "132,000 vs 108,670"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,580 / 108,670"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:06.851034+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 839, "cost": 5286493, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7322, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v95/portfolio.json b/agents/stock/workspace/state/sim/variants/v95/portfolio.json
index 722e619..bdea83a 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": 67391227.04549997,
+ "cash": 37542370.38849997,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 5187131.77934429,
"last_add_price": 356000
@@ -39,17 +39,122 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 5101002.197396387,
"last_add_price": 90900
+ },
+ "030000": {
+ "code": "030000",
+ "name": "제일기획",
+ "sources": [
+ "auto"
+ ],
+ "qty": 289,
+ "entry_price": 19090,
+ "entry_at": "2026-07-30T09:04:06.845422+09:00",
+ "stop": 17993,
+ "target": 20736,
+ "peak": 19430,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 19,653 도달",
+ "cur_price": 19130,
+ "tranches": 1,
+ "tranche_value": 5523201.690343748,
+ "last_add_price": 19090
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 439,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.845884+09:00",
+ "stop": 5127,
+ "target": 7634,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 2696463.528904386,
+ "last_add_price": 6130
+ },
+ "138040": {
+ "code": "138040",
+ "name": "메리츠금융지주",
+ "sources": [
+ "auto"
+ ],
+ "qty": 87,
+ "entry_price": 126031.03448275862,
+ "entry_at": "2026-07-30T09:22:07.165037+09:00",
+ "stop": 117825,
+ "target": 138340,
+ "peak": 127600,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 123100,
+ "tranches": 2,
+ "tranche_value": 5542242.239593748,
+ "last_add_price": 127700
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 39,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:06.902891+09:00",
+ "stop": 120690,
+ "target": 148465,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 5265864.051207605,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 878,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:06.854403+09:00",
+ "stop": 5917,
+ "target": 6875,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5537200.860218748,
+ "last_add_price": 6300
}
},
"realized_pnl": -12336432.55950002,
"closed_trades": 34,
"wins": 4,
"peak_equity": 101012300.052,
- "max_drawdown": 0.1321506180398645,
+ "max_drawdown": 0.14412670195615224,
"last_exit": {
"030000": "2026-07-29",
"403870": "2026-07-02",
@@ -69,5 +174,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-11T09:00:01.944172+09:00",
- "updated_at": "2026-07-29T15:28:01.452775+09:00"
+ "updated_at": "2026-07-30T15:28:06.351368+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 40b9fdb..b726f5c 100644
--- a/agents/stock/workspace/state/sim/variants/v95/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v95/trades.jsonl
@@ -83,3 +83,9 @@
{"ts": "2026-07-29T10:42:05.397338+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5980, "qty": 869, "proceeds": 5186487, "entry_price": 6390, "pnl": -367256, "pnl_pct": -6.42, "hold_from": "2026-07-29T09:28:01.369165+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,998 (현재 5,980)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 6,978"}, {"label": "추세(20일선)", "ok": true, "detail": "5,338"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +77 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,521"}]}
{"ts": "2026-07-29T12:50:05.454995+09:00", "side": "SELL", "code": "095610", "name": "테스", "price": 108000, "qty": 32, "proceeds": 3449261, "entry_price": 130288, "pnl": -720565, "pnl_pct": -17.11, "hold_from": "2026-07-27T09:02:06.208428+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "108,775 (현재 108,000)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 171,878"}, {"label": "추세(20일선)", "ok": false, "detail": "133,815"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +449 · 기 -685"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T14:20:01.492396+09:00", "side": "SELL", "code": "138040", "name": "메리츠금융지주", "price": 115500, "qty": 45, "proceeds": 5187365, "entry_price": 123400, "pnl": -366468, "pnl_pct": -6.4, "hold_from": "2026-07-29T10:24:01.425932+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "115,612 (현재 115,500)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 135,082"}, {"label": "추세(20일선)", "ok": true, "detail": "113,330"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +44 · 기 +333"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,053"}]}
+{"ts": "2026-07-30T09:04:06.845426+09:00", "side": "BUY", "code": "030000", "name": "제일기획", "price": 19090, "qty": 289, "cost": 5517838, "path": "pullback", "reason": "눌림목 지정가 19,653 도달", "stop": 17993, "target": 20736, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "19,100 vs 18,860"}, {"label": "정배열(5>20)", "ok": true, "detail": "19,606 / 18,860"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "19,606 / 19,360"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+29.8%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +2 · 기 +327 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+32%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.14% (환산) vs 평균 0.62% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 21,150"}, {"label": "거래량 급증", "ok": false, "detail": "160,727 (환산) vs 평균 711,709"}, {"label": "회전율 급증", "ok": false, "detail": "0.14% (환산) vs 평균 0.62%"}, {"label": "RSI", "ok": true, "detail": "50"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 19,653 (현재 19,100)"}]}
+{"ts": "2026-07-30T09:04:06.845888+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 439, "cost": 2691474, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 5127, "target": 7634, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:22:07.165041+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 124400, "qty": 44, "cost": 5474421, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116537, "target": 136194, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "124,300 vs 113,770"}, {"label": "정배열(5>20)", "ok": true, "detail": "118,320 / 113,770"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "118,320 / 110,090"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+55.5%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +9 · 기 +389 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+19%"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.37% (환산) vs 평균 0.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 123,300"}, {"label": "거래량 급증", "ok": true, "detail": "615,133 (환산) vs 평균 289,522"}, {"label": "회전율 급증", "ok": true, "detail": "0.37% (환산) vs 평균 0.17%"}, {"label": "RSI", "ok": true, "detail": "68"}]}
+{"ts": "2026-07-30T09:24:06.902893+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 39, "cost": 5140971, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 120690, "target": 148465, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "132,000 vs 108,925"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,580 / 108,925"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:06.854405+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 878, "cost": 5532230, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5917, "target": 6875, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,280 vs 5,353"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,722 / 5,353"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
+{"ts": "2026-07-30T10:10:06.802957+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 127700, "qty": 43, "cost": 5491924, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 116537, "target": 136194, "signals": [{"label": "손절선", "ok": true, "detail": "116,537 (현재 127,600)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 136,194"}, {"label": "추세(20일선)", "ok": true, "detail": "113,935"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +35 · 기 +392"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 127,135"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v97/portfolio.json b/agents/stock/workspace/state/sim/variants/v97/portfolio.json
index 143ae20..b93eb64 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": 45553124.807000026,
+ "cash": 41054335.48450003,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,32 +18,11 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3926142.1904411796,
"last_add_price": 353000
},
- "161890": {
- "code": "161890",
- "name": "한국콜마",
- "sources": [
- "auto"
- ],
- "qty": 112,
- "entry_price": 101115.17857142857,
- "entry_at": "2026-07-22T09:04:01.805954+09:00",
- "stop": 92100,
- "target": 114638,
- "peak": 106700,
- "trailing_on": false,
- "scaled_out": false,
- "entry_path": "pullback",
- "entry_reason": "눌림목 지정가 98,848 도달",
- "cur_price": 96500,
- "tranches": 2,
- "tranche_value": 5741424.6067187525,
- "last_add_price": 103100
- },
"030000": {
"code": "030000",
"name": "제일기획",
@@ -60,7 +39,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 20,032 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5649244.920562502,
"last_add_price": 18950
@@ -76,22 +55,106 @@
"entry_at": "2026-07-29T09:02:02.208654+09:00",
"stop": 111200,
"target": 131164,
- "peak": 123600,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 118,115 도달",
- "cur_price": 116500,
+ "cur_price": 123100,
"tranches": 2,
"tranche_value": 5456781.800281253,
"last_add_price": 120500
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 325,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.850513+09:00",
+ "stop": 4793,
+ "target": 8135,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,792 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1995255.9650968967,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 29,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:06.906091+09:00",
+ "stop": 116987,
+ "target": 154020,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3901375.0249038357,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 857,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:06.857562+09:00",
+ "stop": 5789,
+ "target": 7067,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5403651.327092467,
+ "last_add_price": 6300
+ },
+ "078930": {
+ "code": "078930",
+ "name": "GS",
+ "sources": [
+ "auto"
+ ],
+ "qty": 39,
+ "entry_price": 90600,
+ "entry_at": "2026-07-30T09:38:10.498360+09:00",
+ "stop": 79406,
+ "target": 107390,
+ "peak": 91100,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 85700,
+ "tranches": 1,
+ "tranche_value": 3540579.9639850375,
+ "last_add_price": 90600
}
},
- "realized_pnl": -13348811.408000022,
- "closed_trades": 33,
+ "realized_pnl": -14425037.423000023,
+ "closed_trades": 34,
"wins": 4,
"peak_equity": 101169385.00350003,
- "max_drawdown": 0.14630088139794412,
+ "max_drawdown": 0.15654290592408074,
"last_exit": {
"030000": "2026-07-24",
"035420": "2026-06-25",
@@ -110,8 +173,9 @@
"010950": "2026-07-29",
"078930": "2026-07-29",
"003680": "2026-07-29",
- "090850": "2026-07-29"
+ "090850": "2026-07-29",
+ "161890": "2026-07-30"
},
"created_at": "2026-06-11T09:00:01.944191+09:00",
- "updated_at": "2026-07-29T15:28:01.454504+09:00"
+ "updated_at": "2026-07-30T15:28:06.353402+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 239758f..4e0fbd8 100644
--- a/agents/stock/workspace/state/sim/variants/v97/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v97/trades.jsonl
@@ -88,3 +88,8 @@
{"ts": "2026-07-29T09:26:01.883458+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 6610, "qty": 351, "proceeds": 2315586, "entry_price": 6540, "pnl": 19701, "pnl_pct": 1.07, "hold_from": "2026-07-29T09:02:02.208347+09:00", "reason": "트레일링 익절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "7,526 (현재 6,610)"}, {"label": "목표/트레일링", "ok": null, "detail": "트레일링 ON"}, {"label": "추세(20일선)", "ok": true, "detail": "4,833"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +188 · 기 +0"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T09:28:01.371168+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6390, "qty": 836, "cost": 5342841, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5867, "target": 7174, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,380 vs 5,358"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,742 / 5,358"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,742 / 5,622"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+43.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +73 · 기 -3 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.62% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "134,413 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.62% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "73"}]}
{"ts": "2026-07-29T13:34:03.575633+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 836, "proceeds": 4889407, "entry_price": 6390, "pnl": -453434, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.371167+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,174"}, {"label": "추세(20일선)", "ok": true, "detail": "5,332"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:06.850516+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 325, "cost": 1992549, "path": "pullback", "reason": "눌림목 지정가 7,792 도달", "stop": 4793, "target": 8135, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,120 vs 4,808"}, {"label": "정배열(5>20)", "ok": true, "detail": "6,182 / 4,808"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,792 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:24:06.906093+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 29, "cost": 3822773, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 154020, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "132,000 vs 108,925"}, {"label": "정배열(5>20)", "ok": true, "detail": "115,580 / 108,925"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:06.857564+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 857, "cost": 5399910, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7067, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "6,280 vs 5,353"}, {"label": "정배열(5>20)", "ok": true, "detail": "5,722 / 5,353"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
+{"ts": "2026-07-30T09:38:10.498362+09:00", "side": "BUY", "code": "078930", "name": "GS", "price": 90600, "qty": 39, "cost": 3533930, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 79406, "target": 107390, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "90,300 vs 75,175"}, {"label": "정배열(5>20)", "ok": true, "detail": "83,420 / 75,175"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "83,420 / 75,093"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+66.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -49 · 기 +276 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+14%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.87% (환산) vs 평균 0.42% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 87,600"}, {"label": "거래량 급증", "ok": true, "detail": "807,647 (환산) vs 평균 392,182"}, {"label": "회전율 급증", "ok": true, "detail": "0.87% (환산) vs 평균 0.42%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T11:58:07.813126+09:00", "side": "SELL", "code": "161890", "name": "한국콜마", "price": 91700, "qty": 112, "proceeds": 10250373, "entry_price": 101115, "pnl": -1076226, "pnl_pct": -9.31, "hold_from": "2026-07-22T09:04:01.805954+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "92,100 (현재 91,800)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 114,638"}, {"label": "추세(20일선)", "ok": false, "detail": "98,155"}, {"label": "수급(외/기)", "ok": true, "detail": "외 -7 · 기 +40"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
diff --git a/agents/stock/workspace/state/sim/variants/v99/portfolio.json b/agents/stock/workspace/state/sim/variants/v99/portfolio.json
index b094eab..dbc7f74 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": 54400732.8825,
+ "cash": 38021056.2995,
"initial": 100000000,
"positions": {
"214450": {
@@ -18,7 +18,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 390500,
+ "cur_price": 349000,
"tranches": 2,
"tranche_value": 3907880.8107494777,
"last_add_price": 353000
@@ -39,7 +39,7 @@
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 83400,
+ "cur_price": 85700,
"tranches": 2,
"tranche_value": 3816608.495615692,
"last_add_price": 90900
@@ -60,7 +60,7 @@
"scaled_out": false,
"entry_path": "pullback",
"entry_reason": "눌림목 지정가 19,643 도달",
- "cur_price": 18800,
+ "cur_price": 19130,
"tranches": 2,
"tranche_value": 5846997.74384375,
"last_add_price": 18950
@@ -71,27 +71,90 @@
"sources": [
"auto"
],
- "qty": 42,
- "entry_price": 123400,
+ "qty": 83,
+ "entry_price": 124881.92771084337,
"entry_at": "2026-07-29T10:24:01.430458+09:00",
- "stop": 113016,
- "target": 144168,
- "peak": 123600,
+ "stop": 114155,
+ "target": 146335,
+ "peak": 127600,
"trailing_on": false,
"scaled_out": false,
"entry_path": "breakout",
"entry_reason": "거래량·회전율 동반 전고점 돌파",
- "cur_price": 116500,
- "tranches": 1,
+ "cur_price": 123100,
+ "tranches": 2,
"tranche_value": 5274213.041699394,
- "last_add_price": 123400
+ "last_add_price": 126400
+ },
+ "003680": {
+ "code": "003680",
+ "name": "한성기업",
+ "sources": [
+ "auto"
+ ],
+ "qty": 324,
+ "entry_price": 6130,
+ "entry_at": "2026-07-30T09:04:06.854820+09:00",
+ "stop": 4793,
+ "target": 8804,
+ "peak": 6330,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "pullback",
+ "entry_reason": "눌림목 지정가 7,457 도달",
+ "cur_price": 5800,
+ "tranches": 1,
+ "tranche_value": 1990442.0140977001,
+ "last_add_price": 6130
+ },
+ "010950": {
+ "code": "010950",
+ "name": "S-Oil",
+ "sources": [
+ "auto"
+ ],
+ "qty": 29,
+ "entry_price": 131800,
+ "entry_at": "2026-07-30T09:24:06.909223+09:00",
+ "stop": 116987,
+ "target": 161427,
+ "peak": 132700,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 129000,
+ "tranches": 1,
+ "tranche_value": 3895629.806359651,
+ "last_add_price": 131800
+ },
+ "090850": {
+ "code": "090850",
+ "name": "현대이지웰",
+ "sources": [
+ "auto"
+ ],
+ "qty": 855,
+ "entry_price": 6300,
+ "entry_at": "2026-07-30T09:26:06.860480+09:00",
+ "stop": 5789,
+ "target": 7322,
+ "peak": 6300,
+ "trailing_on": false,
+ "scaled_out": false,
+ "entry_path": "breakout",
+ "entry_reason": "거래량·회전율 동반 전고점 돌파",
+ "cur_price": 6130,
+ "tranches": 1,
+ "tranche_value": 5390112.429523973,
+ "last_add_price": 6300
}
},
"realized_pnl": -13579464.867500015,
"closed_trades": 21,
"wins": 0,
"peak_equity": 100172467.23000002,
- "max_drawdown": 0.14111836054754248,
+ "max_drawdown": 0.14494532611603334,
"last_exit": {
"030000": "2026-07-15",
"086790": "2026-07-28",
@@ -108,5 +171,5 @@
"090850": "2026-07-29"
},
"created_at": "2026-06-11T09:00:01.944212+09:00",
- "updated_at": "2026-07-29T15:28:01.456230+09:00"
+ "updated_at": "2026-07-30T15:28:06.355477+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 c909073..50b88ea 100644
--- a/agents/stock/workspace/state/sim/variants/v99/trades.jsonl
+++ b/agents/stock/workspace/state/sim/variants/v99/trades.jsonl
@@ -59,3 +59,7 @@
{"ts": "2026-07-29T10:52:02.340463+09:00", "side": "SELL", "code": "252990", "name": "샘씨엔에스", "price": 10340, "qty": 353, "proceeds": 3642902, "entry_price": 12160, "pnl": -650091, "pnl_pct": -14.96, "hold_from": "2026-07-27T09:12:01.494163+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "10,340 (현재 10,340)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 15,799"}, {"label": "추세(10일선)", "ok": false, "detail": "12,607"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +239 · 기 -181"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:14:05.431056+09:00", "side": "SELL", "code": "003680", "name": "한성기업", "price": 5580, "qty": 699, "proceeds": 3892814, "entry_price": 6624, "pnl": -737990, "pnl_pct": -15.76, "hold_from": "2026-07-29T09:02:02.211763+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,600 (현재 5,590)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 8,672"}, {"label": "추세(10일선)", "ok": true, "detail": "5,204"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +185 · 기 +0"}, {"label": "분할(2/2)", "ok": null, "detail": "추가 종료"}]}
{"ts": "2026-07-29T13:34:03.577810+09:00", "side": "SELL", "code": "090850", "name": "현대이지웰", "price": 5860, "qty": 842, "proceeds": 4924498, "entry_price": 6390, "pnl": -456689, "pnl_pct": -8.29, "hold_from": "2026-07-29T09:28:01.373145+09:00", "reason": "손절", "partial": false, "signals": [{"label": "손절선", "ok": false, "detail": "5,867 (현재 5,860)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 7,435"}, {"label": "추세(10일선)", "ok": true, "detail": "5,539"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +73 · 기 -3"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 6,525"}]}
+{"ts": "2026-07-30T09:04:06.854823+09:00", "side": "BUY", "code": "003680", "name": "한성기업", "price": 6130, "qty": 324, "cost": 1986418, "path": "pullback", "reason": "눌림목 지정가 7,457 도달", "stop": 4793, "target": 8804, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,120 vs 5,256"}, {"label": "정배열(5>10)", "ok": true, "detail": "6,182 / 5,256"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "6,182 / 4,866"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+65.6%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +234 · 기 +0 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "4.31% (환산) vs 평균 5.69% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 8,460"}, {"label": "거래량 급증", "ok": false, "detail": "267,687 (환산) vs 평균 353,452"}, {"label": "회전율 급증", "ok": false, "detail": "4.31% (환산) vs 평균 5.69%"}, {"label": "RSI", "ok": true, "detail": "59"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 7,457 (현재 6,120)"}]}
+{"ts": "2026-07-30T09:24:06.909225+09:00", "side": "BUY", "code": "010950", "name": "S-Oil", "price": 131800, "qty": 29, "cost": 3822773, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 116987, "target": 161427, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "132,000 vs 108,670"}, {"label": "정배열(5>10)", "ok": true, "detail": "115,580 / 108,670"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "115,580 / 113,230"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+51.2%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -6 · 기 +178 (천주)"}, {"label": "상승여력", "ok": true, "detail": "+20%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.66% (환산) vs 평균 0.32% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 116,900"}, {"label": "거래량 급증", "ok": true, "detail": "738,813 (환산) vs 평균 359,705"}, {"label": "회전율 급증", "ok": true, "detail": "0.66% (환산) vs 평균 0.32%"}, {"label": "RSI", "ok": true, "detail": "69"}]}
+{"ts": "2026-07-30T09:26:06.860482+09:00", "side": "BUY", "code": "090850", "name": "현대이지웰", "price": 6300, "qty": 855, "cost": 5387308, "path": "breakout", "reason": "거래량·회전율 동반 전고점 돌파", "stop": 5789, "target": 7322, "signals": [{"label": "추세(10일선 위)", "ok": true, "detail": "6,280 vs 5,581"}, {"label": "정배열(5>10)", "ok": true, "detail": "5,722 / 5,581"}, {"label": "추세 기울기(10일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "5,722 / 5,620"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+46.0%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +87 · 기 +6 (천주)"}, {"label": "애널", "ok": null, "detail": "데이터 없음(통과)"}, {"label": "시장 강세", "ok": true, "detail": "강세"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "0.51% (환산) vs 평균 0.22% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": true, "detail": "고점 5,700"}, {"label": "거래량 급증", "ok": true, "detail": "109,080 (환산) vs 평균 49,512"}, {"label": "회전율 급증", "ok": true, "detail": "0.51% (환산) vs 평균 0.22%"}, {"label": "RSI", "ok": true, "detail": "71"}]}
+{"ts": "2026-07-30T09:50:06.664949+09:00", "side": "BUY", "code": "138040", "name": "메리츠금융지주", "price": 126400, "qty": 41, "cost": 5183177, "path": "add", "reason": "추격매수 — 2/2차 (추세 지속)", "stop": 113016, "target": 144168, "signals": [{"label": "손절선", "ok": true, "detail": "113,016 (현재 126,200)"}, {"label": "목표/트레일링", "ok": null, "detail": "목표 144,168"}, {"label": "추세(10일선)", "ok": true, "detail": "117,230"}, {"label": "수급(외/기)", "ok": true, "detail": "외 +9 · 기 +389"}, {"label": "분할(1/2)", "ok": null, "detail": "추가 트리거 126,082"}]}
diff --git a/agents/stock/workspace/state/sim/watchlist.json b/agents/stock/workspace/state/sim/watchlist.json
index 87cbf04..0690bc6 100644
--- a/agents/stock/workspace/state/sim/watchlist.json
+++ b/agents/stock/workspace/state/sim/watchlist.json
@@ -379,11 +379,6 @@
"origin": "interest",
"added_at": "2026-06-26T11:22:01.620093+09:00"
},
- "036930": {
- "name": "주성엔지니어링",
- "origin": "auto",
- "added_at": "2026-06-26T21:02:10.941589+09:00"
- },
"034730": {
"name": "SK",
"origin": "auto",
@@ -404,11 +399,6 @@
"origin": "auto",
"added_at": "2026-06-26T21:02:10.941589+09:00"
},
- "084370": {
- "name": "유진테크",
- "origin": "auto",
- "added_at": "2026-06-26T21:02:10.941589+09:00"
- },
"105560": {
"name": "KB금융",
"origin": "auto",
@@ -474,31 +464,6 @@
"origin": "interest",
"added_at": "2026-07-16T21:00:02.313819+09:00"
},
- "034020": {
- "name": "두산에너빌리티",
- "origin": "auto",
- "added_at": "2026-07-20T21:02:30.384893+09:00"
- },
- "095340": {
- "name": "ISC",
- "origin": "auto",
- "added_at": "2026-07-20T21:02:30.384893+09:00"
- },
- "051910": {
- "name": "LG화학",
- "origin": "auto",
- "added_at": "2026-07-20T21:02:30.384893+09:00"
- },
- "096770": {
- "name": "SK이노베이션",
- "origin": "auto",
- "added_at": "2026-07-20T21:02:30.384893+09:00"
- },
- "047810": {
- "name": "한국항공우주",
- "origin": "auto",
- "added_at": "2026-07-20T21:02:30.384893+09:00"
- },
"252990": {
"name": "샘씨엔에스",
"origin": "auto",
@@ -593,5 +558,10 @@
"name": "삼성에스디에스",
"origin": "auto",
"added_at": "2026-07-28T21:02:33.794094+09:00"
+ },
+ "051900": {
+ "name": "LG생활건강",
+ "origin": "auto",
+ "added_at": "2026-07-30T21:02:39.043188+09:00"
}
}
\ No newline at end of file
diff --git a/workspace-attestations/8b2dbe352929b40690dbe9a3e5a138e58e47d1a42e88eb41d71e9539d3077451.attested b/workspace-attestations/8b2dbe352929b40690dbe9a3e5a138e58e47d1a42e88eb41d71e9539d3077451.attested
index d41a1d1..1c91ea0 100644
--- a/workspace-attestations/8b2dbe352929b40690dbe9a3e5a138e58e47d1a42e88eb41d71e9539d3077451.attested
+++ b/workspace-attestations/8b2dbe352929b40690dbe9a3e5a138e58e47d1a42e88eb41d71e9539d3077451.attested
@@ -1,2 +1,2 @@
openclaw-workspace-attestation:v1
-2026-07-29T09:00:00.044Z
+2026-07-30T09:00:00.026Z
diff --git a/workspace-attestations/d1fd54262c444fd6ab822ec4652ce317fa713ba87c5b1c125db2c01f477eb8d3.attested b/workspace-attestations/d1fd54262c444fd6ab822ec4652ce317fa713ba87c5b1c125db2c01f477eb8d3.attested
index b86e9fa..d977e83 100644
--- a/workspace-attestations/d1fd54262c444fd6ab822ec4652ce317fa713ba87c5b1c125db2c01f477eb8d3.attested
+++ b/workspace-attestations/d1fd54262c444fd6ab822ec4652ce317fa713ba87c5b1c125db2c01f477eb8d3.attested
@@ -1,3 +1,3 @@
openclaw-workspace-attestation:v1
-2026-07-29T10:00:00.029Z
+2026-07-30T10:00:00.029Z
generated:HEARTBEAT.md:ecce558615751a35aa173731e892ff3993f44bb4f5a1219c0a02994790c85528